Вы находитесь на странице: 1из 50

-

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~

I = S0 / (1 - it) = 10000 / (1 0,2 * 0,5) = 11111 .


10000 . , ,
.
- , ,
, ( ). ,
,
. - (V)

:
V = 1 d(it) = S0 / I
, , ,
-.
, , , . . , ,
:
S0 = I / (1 + i * t)
,
.
.
.
, .
, .
. 20000 .
30% 12000 . ,
8000 . , .. .

7000 . ,
.

~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

St= 100000 . * (1 + 0,3/4) = 100000 . * (1 + 0,075) = 100000 . *


1,78348 = 178,348 ..
, , 169000 .

.
, ..
, ,
. ,
.
.
, i . t
m
mt
(1 + i) = (1+i /m)

m

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~

protected override global::System.Xml.Schema.XmlSchema


GetSchemaSerializable() {
global::System.IO.MemoryStream stream = new
global::System.IO.MemoryStream();
this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream,
null));
stream.Position = 0;
return global::System.Xml.Schema.XmlSchema.Read(new
global::System.Xml.XmlTextReader(stream), null);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
internal void InitVars() {
this.InitVars(true);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
internal void InitVars(bool initTable) {
this.tableEnterprises =
((EnterprisesDataTable)(base.Tables["Enterprises"]));
if ((initTable == true)) {
if ((this.tableEnterprises != null)) {
this.tableEnterprises.InitVars();
}
}
this.tableProjects =
((ProjectsDataTable)(base.Tables["Projects"]));
if ((initTable == true)) {
if ((this.tableProjects != null)) {
this.tableProjects.InitVars();
}
}
this.tableIndicators =
((IndicatorsDataTable)(base.Tables["Indicators"]));
if ((initTable == true)) {
if ((this.tableIndicators != null)) {
this.tableIndicators.InitVars();
}
}
this.relationEnterprises_Projects =
this.Relations["Enterprises_Projects"];
this.relationProjects_Indicators =
this.Relations["Projects_Indicators"];
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
private void InitClass() {
this.DataSetName = "CostMoneyDataSet";
this.Prefix = "";
this.Namespace = "http://tempuri.org/CostMoneyDataSet.xsd";
this.EnforceConstraints = true;
this.SchemaSerializationMode =
global::System.Data.SchemaSerializationMode.IncludeSchema;
this.tableEnterprises = new EnterprisesDataTable();
base.Tables.Add(this.tableEnterprises);
this.tableProjects = new ProjectsDataTable();
base.Tables.Add(this.tableProjects);
this.tableIndicators = new IndicatorsDataTable();
base.Tables.Add(this.tableIndicators);

~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~

global::System.Xml.Schema.XmlSchema schema = null;


dsSchema.Write(s1);
for (global::System.Collections.IEnumerator schemas =
xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
schema =
((global::System.Xml.Schema.XmlSchema)(schemas.Current));
s2.SetLength(0);
schema.Write(s2);
if ((s1.Length == s2.Length)) {
s1.Position = 0;
s2.Position = 0;
for (; ((s1.Position != s1.Length)
&& (s1.ReadByte() == s2.ReadByte()));
) {
;
}
if ((s1.Position == s1.Length)) {
return type;
}
}
}
}
finally {
if ((s1 != null)) {
s1.Close();
}
if ((s2 != null)) {
s2.Close();
}
}
}
xs.Add(dsSchema);
return type;
}
public delegate void EnterprisesRowChangeEventHandler(object sender,
EnterprisesRowChangeEvent e);
public delegate void ProjectsRowChangeEventHandler(object sender,
ProjectsRowChangeEvent e);
public delegate void IndicatorsRowChangeEventHandler(object sender,
IndicatorsRowChangeEvent e);

~50~

Вам также может понравиться