Академический Документы
Профессиональный Документы
Культура Документы
2011 .
: -
:
.81201 ..
..
2011
-
( )
.
..
1 2011
-
.. , 81201
1. : .
2. : 10 2011 .
3. : ,
, ,
, ,
.
4.
/
1
15.11.10
2
25.11.10
3
10.12.10
4
20.12.10
5
10.01.11
6
20.01.11
7
20.01.11
8
01.03.11
9
04.03.11
:
.
..
()
~2~
..
.
42 ., 32 ., 17 . ., 1 .
.
, , .
, :
;
;
;
;
;
;
;
.
,
.
~3~
;
;
GUI ;
~4~
.............................................................................................. 6
...................................................................................................................... 7
1
....................... 8
2 ................................................................... 13
2.1 .............................................................. 13
2.2 ............................................................. 15
3
..................................................... 20
3.1 .... 20
3.2 ...................................................................... 23
3.3 ........................................................................ 24
3.4 ................................................ 27
.................................................................... 29
4.1 .................................................................... 29
4.2 .................................................................................... 31
............................................................................................................. 42
.......................................................... 43
- ....................................................... 44
~5~
GUI- - ODBC ,
.
-
Visual C# c
.
,
, , .
.
, 3- .
TCP/IP-.
:
Visual Studio 2003,2005,2008;
MySQL,SQL Server 2005-2008,Sybase;
windows XP,windows 2000
exe-.
.
.
~6~
. : ;
;
, .. ;
.
, ,
. .
,
. , ,
, .
~7~
1
, (I) ,
, (S0).
:
I = S0 * (1 + it)
i ;
t .
S0= I / (1 + it)
, ,
i = (I / S0 1) * (1 / t)
.
3000 . .
20% . .
I = 3000 . * (1 + 0,2 * 1,5) = 3900 .
,
:
S0 = 3900 . / (1 + 0,2 * 1,5) = 3000 .
i = (3900 / 3000 - 1) * (1 / 1,5) = 0,2 (20%)
,
, . (d)
, .
,
,
.
, , 10 000 .,
20% . 20%.
I = S0 (1 + it) = 1000 . * (1 + 0,2 * 0,5) = 11000 .
,
, , :
~8~
~9~
, , ,
, , ..:
S(1)1 + S(1)2 = S(2)1 + S(2)2
S(1)1 S(1)2 () ;
S(2)1 + S(2)2 ()
.
(I)
, .
:
S(1)1 = 12000 . / (1 + 0,3 * 2) = 7500 .;
S(1)2 = 8000 . / (1 + 0,3 * 5) = 3200 .;
S(2)1 = 7000 . / (1 + 0,3 * 1) = 5384,6 .;
S(2)2 = X . / (1 + 0,3 * 3) = X . / 1,9.
, :
7500 . + 3200 . = 5384,6 . + X . / 1,9.
X . = (7500 + 3200 - 5384,6) * 1,9 = 10099,3 .
, .
20000 . (12000 + 8000), 17099,3 . (7000 + 10099,3).
. ,
- ,
, , .
,
,
. .
.
t
. (1 + i) .
:
t
St = S0 * (1 + i)
~10~
S0 ( ); S
; i ; t ,
.
, (30%)
100000 .
2
St = 100000 . * (1 + 0,3) = 169000 .
4
St = 100000 . * (1 + 0,3) = 285610 .
(),
, , , .
i/m
.
:
St = S0 / (1 + i/m)
tm
,
(30%) , ..
. , ,
2*4
i = (1+ i /m)
~11~
mt
, ,
20%, . 300 . .
4
i = (1+0,2/4) 1 = 0,2155 = 21,55%
t
St = S0 * (1 + i) = 300 . . * (1 + 0,2155) = 364,65 . .
:
m
tm
4
4
St = S0 / (1+ i /m) = 300 .. / (1 + 0,2/4) = 300 * (1,5) = 364,65 ..
,
. , , , , , ,
.
m
t
t
S = S0 * (1 + i /m) / (1 + h)
m
S ; S0 ; i
, m ; h ; t .
. , 800 . . (S0).
m
(i ) 48%.
, .. 12
(m). (h) 10%.
( ) ,
(), ,
(S S0):
4
4
S = 800 .. * (1 + 0,48 / 12) / (1+0,1) = 639,2 ..
: 639,2 . . 800 . . = 160,8 . .
, ,
. :
, ,
;
; .
, , .
.
~12~
2
2.1
- . ,
:
. 2.1 .
~13~
1) CostMoney.Client
, ,
c WinForms.
2) CostMoney.Data ,
;
3) CostMoney.Server
, , ;
4) ,
. MS SQL
Server-;
~14~
2.2
, .
, .
:
, .
MSSQL.
MSSQL
, : , , , ,
.
(, , , , ,
. .). ( , /)
.
, . ,
, ,
,
.
.
, , ,
.
, :
1. ;
2. ;
3. ;
4. ;
5. .
, , , ,
,
:
~15~
1. :
;
;
;
;
2. :
;
;
;
;
;
;
;
;
;
;
;
-
;
3. :
;
;
4. :
;
;
5. :
;
;
;
;
.
, .
.
,
, ,
,
.
~16~
:
;
.
;
.
, , , .
,
.
;
, ;
, .
,
. ,
. , . ,
. ,
, .
.
~17~
. 2.2 CostMoneyDB.
,
.
,
.
.
,
, .
,
~18~
, .
:
FK_Procents;
FK_Nums;
FK_Periods;
FK_Signs.
. , , .
.
.
.
.
.
:
:
Tasks_Create;
Tasks _Update;
Tasks _Delete;
Tasks _Select;
Tasks_SelectBySign;
Tasks_SelectByProcent;
:
Periods_Select
Periods_GetName;
:
Procents_Select
Procents_GetName;
:
Signs_Select
Signs_GetSign;
Signs_GetDesc;
Signs_GetName;
Signs_GetFinder.
~19~
3
3.1
- :
. 3.1 -
~20~
3.2 - .
~21~
. 3.3 -
~22~
3.2
CostMoneyDataSet
:
. 3.4 CostMoneyDataSet.
~23~
3.3
:
. 3.5 .
:
Client ;
Report ;
ClientForm ;
BrowserForm ;
:
~24~
. 3.6 .
:
Server ;
ServerApplication
;
~25~
. 3.7 .
~26~
:
TaskTypes ;
Tasks ;
Procents ;
Periods ;
Signs ;
IServerApplication ;
CostMoneyDataSet ;
TypeAction, TypeFormat, TypeTpl, TypeRefresh, TypeSelect,
KeyFormat,
;
3.4
,
. , .NET.
Microsoft Windows 98 Microsoft .NET Framework 3.5.
, dot NET
Windows
Win32 , NET
. .NET
MacOS, Linux, .
.NET Framework 3.5 ,
.
, Windows.
.NET Framework
Windows, .. , ,
Windows. .
~27~
,
, , .
: Microsoft Visual Studio.NET 2008.
: Microsoft Visual C#.
.
html-, ,
,
, .
, C# - . NET-,
. NET Framework.
, . NET Framework .
C#
.Net,
.
,
, C# , . ,
C# , (),
, , ;
, COM;
C#
,
. , C# C++ Java,
. C# - , .
NET. , , .
- , C# -
,
. , C# Web -
Web ,
Internet .
.
~28~
4
4.1
MS SQL,
CostMoneyDB SQL
CostMoneyDB.mdf:
,
ODBC_CostMoney.
. 4.1 ODBC_CostMoney.
~29~
. 4.2 ODBC_CostMoney.
Server.exe:
. 4.3 .
Client.exe.
TCP,
8090. , , , , :
. 4.4 .
~30~
4.2
,
, :
. 4.5 ( ).
, .
.
.
~31~
, (. 4.6) .
.
. 4.6
,
.
. 4.7
~32~
. 4.8 .
.
. 4.9 .
~33~
(. 4.10).
. 4.10 .
, , . , , .
:
. 4.11 .
~34~
. 4.12 .
,
:
. 4.13 .
. 4.14 .
~35~
. 4.13 .
. , - .
. 4.14 .
, :
. 4.15 .
~36~
, :
. 4.16 .
16 . .
. 4.17 .
~37~
5 :
. 4.18 .
. 4.19 .
~38~
, :
. 4.20 .
:
. 4.21 .
~39~
. 4.22 .
~40~
html-. :
. 4.23 .
.
~41~
, ,
, .
GUI-
- ODBC ,
.
:
,
,
,
.
.
, . .
, .
~42~
1. # 3.0 : . . / . , . . 3- .
.: -, 2009. 944 .:.
2. . .
3. . , . , . , . , . .
4. . MCSD
5. . , .: ,
1990. 450 .
6. . , .: , 1999.
565 .
7. .. Visual C# Windows, .: , 2006. 745 .
8. . # .NET. . .: , 2002. - 800 .
9. ., . Visual C# .NET. . .: +,
.: , .: , .: , 2004. 960 .
10. .., .. C#. . .: -,
2003. 560 .
11. .., .. C#.
.: -, 2003. 512 .
12. ., . Java 2: . ..: -, 2001,
1072 .
13. .. Java. .: -, 2002, 464
.
14. .. JavaScript. .: -, 2003,
512 .
15. .. Web-. DHTML. .: -,
2003.512 .
16. Java / ../ .: . , 2003. 592 .
17. . Java : . .: V, 1994. 1104 .
~43~
-
namespace CostMoney.Data
{
/// <summary>
///Represents a strongly typed in-memory cache of data.
///</summary>
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.T
ypedDataSetGenerator", "2.0.0.0")] [global::System.Serializable()]
[global::System.ComponentModel.DesignerCategoryAttribute("code")]
[global::System.ComponentModel.ToolboxItem(true)]
[global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSet
Schema")]
[global::System.Xml.Serialization.XmlRootAttribute("CostMoneyDataSet")]
[global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")
]
public partial class CostMoneyDataSet : global::System.Data.DataSet {
private EnterprisesDataTable tableEnterprises;
private ProjectsDataTable tableProjects;
private IndicatorsDataTable tableIndicators;
private global::System.Data.DataRelation
relationEnterprises_Projects;
private global::System.Data.DataRelation relationProjects_Indicators;
private global::System.Data.SchemaSerializationMode
_schemaSerializationMode =
global::System.Data.SchemaSerializationMode.IncludeSchema;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public CostMoneyDataSet() {
this.BeginInit(); this.InitClass();
global::System.ComponentModel.CollectionChangeEventHandler
schemaChangedHandler = new
global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged
);
base.Tables.CollectionChanged += schemaChangedHandler;
base.Relations.CollectionChanged += schemaChangedHandler;
this.EndInit();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
protected
CostMoneyDataSet(global::System.Runtime.Serialization.SerializationInfo info,
global::System.Runtime.Serialization.StreamingContext context) :
base(info, context, false) {
if ((this.IsBinarySerialized(info, context) == true)) {
this.InitVars(false);
~44~
global::System.ComponentModel.CollectionChangeEventHandler
schemaChangedHandler1 = new
global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged
);
this.Tables.CollectionChanged += schemaChangedHandler1;
this.Relations.CollectionChanged += schemaChangedHandler1;
return;
}
string strSchema = ((string)(info.GetValue("XmlSchema",
typeof(string))));
if ((this.DetermineSchemaSerializationMode(info, context) ==
global::System.Data.SchemaSerializationMode.IncludeSchema)) {
global::System.Data.DataSet ds = new
global::System.Data.DataSet();
ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new
global::System.IO.StringReader(strSchema)));
if ((ds.Tables["Enterprises"] != null)) {
base.Tables.Add(new
EnterprisesDataTable(ds.Tables["Enterprises"]));
}
if ((ds.Tables["Projects"] != null)) {
base.Tables.Add(new
ProjectsDataTable(ds.Tables["Projects"]));
}
if ((ds.Tables["Indicators"] != null)) {
base.Tables.Add(new
IndicatorsDataTable(ds.Tables["Indicators"]));
}
this.DataSetName = ds.DataSetName;
this.Prefix = ds.Prefix;
this.Namespace = ds.Namespace;
this.Locale = ds.Locale;
this.CaseSensitive = ds.CaseSensitive;
this.EnforceConstraints = ds.EnforceConstraints;
this.Merge(ds, false,
global::System.Data.MissingSchemaAction.Add);
this.InitVars();
}
else {
this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new
global::System.IO.StringReader(strSchema)));
}
this.GetSerializationData(info, context);
global::System.ComponentModel.CollectionChangeEventHandler
schemaChangedHandler = new
global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged
);
base.Tables.CollectionChanged += schemaChangedHandler;
this.Relations.CollectionChanged += schemaChangedHandler;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.Browsable(false)]
[global::System.ComponentModel.DesignerSerializationVisibility(global::System
.ComponentModel.DesignerSerializationVisibility.Content)]
public EnterprisesDataTable Enterprises {
get {
return this.tableEnterprises;
}
}
~45~
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.Browsable(false)]
[global::System.ComponentModel.DesignerSerializationVisibility(global::System
.ComponentModel.DesignerSerializationVisibility.Content)]
public ProjectsDataTable Projects {
get {
return this.tableProjects;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.Browsable(false)]
[global::System.ComponentModel.DesignerSerializationVisibility(global::System
.ComponentModel.DesignerSerializationVisibility.Content)]
public IndicatorsDataTable Indicators {
get {
return this.tableIndicators;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.BrowsableAttribute(true)]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(globa
l::System.ComponentModel.DesignerSerializationVisibility.Visible)]
public override global::System.Data.SchemaSerializationMode
SchemaSerializationMode {
get {
return this._schemaSerializationMode;
}
set {
this._schemaSerializationMode = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(globa
l::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public new global::System.Data.DataTableCollection Tables {
get {
return base.Tables;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.DesignerSerializationVisibilityAttribute(globa
l::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
public new global::System.Data.DataRelationCollection Relations {
get {
return base.Relations;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
protected override void InitializeDerivedDataSet() {
this.BeginInit();
~46~
this.InitClass();
this.EndInit();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public override global::System.Data.DataSet Clone()
{ CostMoneyDataSet cln = ((CostMoneyDataSet)
(base.Clone())); cln.InitVars();
cln.SchemaSerializationMode = this.SchemaSerializationMode;
return cln;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
protected override bool ShouldSerializeTables() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
protected override bool ShouldSerializeRelations() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
protected override void
ReadXmlSerializable(global::System.Xml.XmlReader reader) {
if ((this.DetermineSchemaSerializationMode(reader) ==
global::System.Data.SchemaSerializationMode.IncludeSchema)) {
this.Reset();
global::System.Data.DataSet ds = new
global::System.Data.DataSet();
ds.ReadXml(reader);
if ((ds.Tables["Enterprises"] != null)) {
base.Tables.Add(new
EnterprisesDataTable(ds.Tables["Enterprises"]));
}
if ((ds.Tables["Projects"] != null)) {
base.Tables.Add(new
ProjectsDataTable(ds.Tables["Projects"]));
}
if ((ds.Tables["Indicators"] != null)) {
base.Tables.Add(new
IndicatorsDataTable(ds.Tables["Indicators"]));
}
this.DataSetName = ds.DataSetName;
this.Prefix = ds.Prefix;
this.Namespace = ds.Namespace;
this.Locale = ds.Locale;
this.CaseSensitive = ds.CaseSensitive;
this.EnforceConstraints = ds.EnforceConstraints;
this.Merge(ds, false,
global::System.Data.MissingSchemaAction.Add);
this.InitVars();
}
else {
this.ReadXml(reader);
this.InitVars();
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
~47~
~48~
this.relationEnterprises_Projects = new
global::System.Data.DataRelation("Enterprises_Projects", new
global::System.Data.DataColumn[] {
this.tableEnterprises.EnterpriseIDColumn}, new
global::System.Data.DataColumn[] {
this.tableProjects.EnterpriseIDColumn}, false);
this.Relations.Add(this.relationEnterprises_Projects);
this.relationProjects_Indicators = new
global::System.Data.DataRelation("Projects_Indicators", new
global::System.Data.DataColumn[] {
this.tableProjects.ProjectIDColumn}, new
global::System.Data.DataColumn[] {
this.tableIndicators.ProjectIDColumn}, false);
this.Relations.Add(this.relationProjects_Indicators);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
private bool ShouldSerializeEnterprises() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
private bool ShouldSerializeProjects() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
private bool ShouldSerializeIndicators() {
return false;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
private void SchemaChanged(object sender,
global::System.ComponentModel.CollectionChangeEventArgs e) {
if ((e.Action ==
global::System.ComponentModel.CollectionChangeAction.Remove)) {
this.InitVars();
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public static global::System.Xml.Schema.XmlSchemaComplexType
GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs)
{ CostMoneyDataSet ds = new CostMoneyDataSet();
global::System.Xml.Schema.XmlSchemaComplexType type = new
global::System.Xml.Schema.XmlSchemaComplexType();
global::System.Xml.Schema.XmlSchemaSequence sequence = new
global::System.Xml.Schema.XmlSchemaSequence();
global::System.Xml.Schema.XmlSchemaAny any = new
global::System.Xml.Schema.XmlSchemaAny();
any.Namespace = ds.Namespace;
sequence.Items.Add(any);
type.Particle = sequence;
global::System.Xml.Schema.XmlSchema dsSchema =
ds.GetSchemaSerializable();
if (xs.Contains(dsSchema.TargetNamespace)) {
global::System.IO.MemoryStream s1 = new
global::System.IO.MemoryStream();
global::System.IO.MemoryStream s2 = new
global::System.IO.MemoryStream();
try {
~49~
~50~