CSDN_文档中_流操作的语法

CSDN_文档中_流操作的语法
CSDN_文档中_流操作的语法

Delphi在这两方面都做的相当出色。在Delphi的早期版本Turbo Pascal 中就曾有流(Stream)、群(Collection)和资源(Resource)等专门用于对象式数据管理的类。在Delphi中,这些功能得到了大大的加强。Delphi将对象式数据管理类归结为Stream对象(Stream)和Filer对象(Filer),并将它们应用于可视部件类库(VCL)的方方面面。它们不仅提供了在内存、外存和Windows资源中管理对象的功能,还提供了在数据库BLOB字段中对象的功能。

在本章中将介绍Stream对象和Filer对象的实现原理、应用方法以及在超媒体系统中的应用。这对于运用Delphi 开发高级应用是很重要的。

20.1 流式对象的实现原理和应用

Stream对象,又称流式对象,是TStream、THandleStream、TFileStream、TMemoryStream、TResourceStream和TBlobStream等的统称。它们分别代表了在各种媒介上存储数据的能力,它们将各种数据类型(包括对象和部件) 在内存、外存和数据库字段中的管理操作抽象为对象方法,并且充分利用了面向对象技术的优点,应用程序可以相当容易地在各种Stream对象中拷贝数据。

下面介绍各种对象的数据和方法及使用方法。

20.1.1 TStream对象

TStream对象是能在各种媒介中存储二进制数据的对象的抽象对象。从TStream 对象继承的对象用于在内存、Windows资源文件、磁盘文件和数据库字段等媒介中存储数据。

TStream中定义了两个属性:Size和Position。它们分别以字节为单位表示的流的大小和当前指针位置。TStream中定义的方法用于在各种流中读、写和相互拷贝二进制数据。因为所有的Stream对象都是从TStream中继承来的,所以在TStream中定义的域和方法都能被Stream对象调用和访问。此外,又由于面向对象技术的动态联编功能,TStream为各种流的应用提供了统一的接口,简化了流的使用;

不同Stream对象是抽象了对不同存储媒介的数据上的操作,因此,TStream的需方法为在不同媒介间的数据拷贝提供了最简捷的手段。

20.1.1.1 TStream的属性和方法

1. Position属性

声明:property Position: Longint;

Position属性指明流中读写的当前偏移量。

2. Size属性

声明:property Size: Longint;

Size属性指明了以字节为单位的流的的大小,它是只读的。

3. CopyFrom方法

声明:function CopyFrom(Source: TStream; Count: Longint): Longint;

CopyFrom从Source所指定的流中拷贝Count个字节到当前流中, 并将指针从当前位置移动Count个字节数,函数返回值是实际拷贝的字节数。

4. Read方法

声明:function Read(var Buffer; Count: Longint): Longint; virtual; abstract;

Read方法从当前流中的当前位置起将Count个字节的内容复制到Buffer中,并把当前指针向后移动Count个字节数,函数返回值是实际读的字节数。如果返回值小于Count,这意味着读操作在读满所需字节数前指针已经到达了流的尾部。

Read方法是抽象方法。每个后继Stream对象都要根据自己特有的有关特定存储媒介的读操作覆盖该方法。而且流的所有其它的读数据的方法(如:ReadBuffer,ReadComponent等)在完成实际的读操作

时都调用了Read方法。面向对象的动态联编的优点就体现在这儿。因为后继Stream对象只需覆盖Read方法,而其它读操作(如ReadBuffer、ReadComponent等)都不需要重新定义,而且TStream还提供了统一的接口。

5. ReadBuffer方法

声明:procedure ReadBuffer(var Buffer; Count: Longint);

ReadBuffer方法从流中将Count个字节复制到Buffer 中, 并将流的当前指针向后移动Count个字节。如读操作超过流的尾部,ReadBuffer方法引起EReadError异常事件。

6. ReadComponent方法

声明:function ReadComponent(Instance: TComponent): TComponent;

ReadComponent方法从当前流中读取由Instance所指定的部件,函数返回所读的部件。ReadComponent在读Instance及其拥有的所有对象时创建了一个Reader对象并调用它的ReadRootComponent方法。

如果Instance为nil,ReadComponent的方法基于流中描述的部件类型信息创建部件,并返回新创建的部件。

7. ReadComponentRes方法

声明:function ReadComponentRes(Instance: TComponent): TComponent;

ReadComponentRes方法从流中读取Instance指定的部件,但是流的当前位置必须是由WriteComponentRes方法所写入的部件的位置。

ReadComponentRes 首先调用ReadResHeader方法从流中读取资源头,然后调用ReadComponent方法读取Instance。如果流的当前位置不包含一个资源头。ReadResHeader将引发一个EInvalidImage异常事件。在Classes库单元中也包含一个名为ReadComponentRes的函数,该函数执行相同的操作,只不过它基于应用程序包含的资源建立自己的流。

8. ReadResHeader方法

声明:procedure ReadResHeader;

ReadResHeader方法从流的当前位置读取Windows资源文件头,并将流的当前位置指针移到该文件头的尾部。如果流不包含一个有效的资源文件头,ReadResHeader将引发一个EInvalidImage异常事件。

流的ReadComponentRes方法在从资源文件中读取部件之前,会自动调用ReadResHeader方法,因此,通常程序员通常不需要自己调用它。

9. Seek方法

声明:function Seek(Offset: Longint; Origin: Word): Longint; virtual; abstract;

Seek方法将流的当前指针移动Offset个字节,字节移动的起点由Origin指定。如果Offset是负数,Seek方法将从所描述的起点往流的头部移动。下表中列出了Origin的不同取值和它们的含义:

表20.1 函数Seek的参数的取值

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

常量 值 Seek的起点 Offset的取值 ─────────────────────────────────

SoFromBeginning 0 流的开头 正 数

SoFromCurrent 1 流的当前位置 正数或负数

SoFromEnd 2 流的结尾 负 数

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

10. Write方法

在Delphi对象式管理的对象中有两类对象的方法都有称为Write

的:Stream对象和Filer对象。Stream对象的Write方法将数据写进流中。Filer对象通过相关的流传递数据,在后文中会介绍这类方法。

Stream对象的Write方法声明如下:

function Write(const Buffer; Count: Longint): Longint; virtual; abstract;

Write方法将Buffer中的Count个字节写入流中,并将当前位置指针向流的尾部移动Count个字节,函数返回写入的字节数。

TStream的Write方法是抽象的,每个继承的Stream对象都要通过覆盖该方法来提供向特定存储媒介(内存、磁盘文件等)写数据的特定方法。流的其它所有写数据的方法(如WriteBuffer、WriteComponent)都调用Write担当实际的写操作。

11. WriteBuffer方法

声明:procedure WriteBuffer(const Buffer; Count: Longint);

WriteBuffer的功能与Write相似。WriteBuffer方法调用Write来执行实际的写操作,如果流没能写所有字节,WriteBuffer会触发一个EWriteError异常事件。

12. WriteComponent方法

在Stream对象和Filer对象都有被称为WriteComponent的方法。Stream对象的WriteComponent方法将Instance所指定的部件和它所包含的所有部件都写入流中;Writer对象的WriteComponent将指定部件的属性值写入Writer对象的流中。

Stream对象的WriteComponent方法声明是这样的:

procedure WriteComponent(Instance: Tcomponent);

WriteComponent创建一个Writer对象,并调用Writer的

WriteRootComponent方法将Instance及其拥有的对象写入流。

13. WriteComponentRes方法

声明:WriteComponentRes(const ResName: String; Instance: TComponent);

WriteComponentRes方法首先往流中写入标准Windows 资源文件头,然后将Instance指定的部件写入流中。要读由WriteComponentRes写入的部件,必须调用ReadComponentRes方法。

WriteComponentRes使用ResName传入的字符串作为资源文件头的资源名,然后调用WriteComponent方法将Instance和它拥有的部件写入流。

14. WriteDescendant方法

声明:procedure WriteDescendant(Instance Ancestor: TComponent);

Stream对象的WriteDescendant方法创建一个Writer对象,然后调入该对象的WriteDescendant方法将Instance部件写入流中。Instance可以是从Ancestor部件继承的窗体,也可以是在从祖先窗体中继承的窗体中相应于祖先窗体中Ancestor部件的部件。

15. WriteDescendantRes方法

声明:procedure WriteDescendantRes(const ResName: String;

Instance, Ancestor: TComponent);

WriteDescendantRes方法将Windows资源文件头写入流,并使用ResName作用资源名,然后调用WriteDescendant方法,将Instance写入流。

20.1.1.2 TStream的实现原理

TStream对象是Stream对象的基础类,这是Stream对象的基础。

为了能在不同媒介上的存储数据对象,后继的Stream对象主要是在Read和Write方法上做了改进,。因此,了解TStream是掌握Stream对象管理的核心。Borland公司虽然提供了Stream对象的接口说明文档,但对于其实现和应用方法却没有提及,笔者是从Borland Delphi 2.0 Client/Server Suite 提供的源代码和部分例子程序中掌握了流式对象技术。

下面就从TStream的属性和方法的实现开始。

1. TStream属性的实现

前面介绍过,TStream具有Position和Size两个属性,作为抽象数据类型,它抽象了在各种存储媒介中读写数据所需要经常访问的域。那么它们是怎样实现的呢?

在自定义部件编写这一章中介绍过部件属性定义中的读写控制。Position和Size也作了读写控制。定义如下:

property Position: Longint read GetPosition write SetPosition;

property Size: Longint read GetSize;

由上可知,Position是可读写属性,而Size是只读的。

Position属性的实现就体现在GetPosition和SetPosition。当在程序运行过程中,任何读取Position的值和给Position赋值的操作都会自动触发私有方法GetPosition和SetPosition。两个方法的声明如下:

function TStream.GetPosition: Longint;

begin

Result := Seek(0, 1);

end;

procedure TStream.SetPosition(Pos: Longint);

begin

Seek(Pos, 0);

end;

在设置位置时,Delphi编译机制会自动将Position传为Pos。

前面介绍过Seek的使用方法,第一参数是移动偏移量,第二个参数是移动的起点,返回值是移动后的指针位置。

Size属性的实现只有读控制,完全屏蔽了写操作。读控制方法GetSize实现如下:

function TStream.GetSize: Longint;

var

Pos: Longint;

begin

Pos := Seek(0, 1);

Result := Seek(0, 2);

Seek(Pos, 0);

end;

2. TStream方法的实现

⑴ CopyFrom方法

CopyFrom是Stream对象中很有用的方法,它用于在不同存储媒介中拷贝数据。例如,内存与外部文件之间、内存与数据库字段之间等。它简化了许多内存分配、文件打开和读写等的细节,将所有拷贝操作都统一到Stream对象上。

前面曾介绍:CopyFrom方法带Source和Count两个参数并返回长整型。该方法将Count个字节的内容从Source拷贝到当前流中,如果Count值为0则拷贝所有数据。

function TStream.CopyFrom(Source: TStream; Count: Longint): Longint;

const

MaxBufSize = $F000;

var

BufSize, N: Integer;

Buffer: PChar;

begin

if Count = 0 then

begin

Source.Position := 0;

CouNG="ZH-CN">资源文件中的部件时调用,通常程序员不需自己调用。如果读取的不是资源文件ReadResHeader,将触发异常事件。 procedure TStream.ReadResHeader;

var

ReadCount: Longint;

Header: array[0..79] of Char;

begin

FillChar(Header, SizeOf(Header), 0);

ReadCount := Read(Header, SizeOf(Header) - 1);

if (Byte((@Header[0])^) = $FF) and (Word((@Header[1])^) = 10) then

Seek(StrLen(Header + 3) + 10 - ReadCount, 1)

else

raise EInvalidImage.CreateRes(SInvalidImage);

end;

ReadComponentRes在Windows资源文件中读取部件,为了判断是否是资源文件,它首先调用ReadResHeader方法,然后调用ReadComponent方法读取Instance指定的部件。下面是它的实现: function TStream.ReadComponentRes(Instance: TComponent): TComponent;

begin

ReadResHeader;

Result := ReadComponent(Instance);

end;

与ReadComponentRes相应的写方法是WriteComponentRes,Delphi 调用这两个方法读写窗体文件(DFM文件),在后面书中会举用这两个方法读取DFM文件的例子。

⑷ WriteComponent和WriteDescendant方法

Stream对象的WriteDescendant方法在实现过程中,创建了TWriter对象,然后利用TWriter的WriteDescendant方法将Instance 写入流。而WriteComponent方法只是简单地调用WriteDescendant方法将Instance写入流。它们的实现如下:

procedure TStream.WriteComponent(Instance: TComponent); begin

WriteDescendent(Instance, nil);

end;

procedure TStream.WriteDescendent(Instance, Ancestor: TComponent);

var

Writer: TWriter;

begin

Writer := TWriter.Create(Self, 4096);

try

Writer.WriteDescendent(Instance, Ancestor);

finally

Writer.Free;

end;

end;

⑸ WriteDescendantRes和WriteComponentRes方法

WriteDescendantRes方法用于将部件写入Windows资源文件;而WriteComponentRes 方法只是简单地调用WriteDescendantRes方法,它们的实现如下:

procedure TStream.WriteComponentRes(const ResName: string; Instance:

TComponent);

begin

WriteDescendentRes(ResName, Instance, nil);

end;

procedure TStream.WriteDescendentRes(const ResName: string; Instance,

Ancestor: TComponent);

var

HeaderSize: Integer;

Origin, ImageSize: Longint;

Header: array[0..79] of Char;

begin

Byte((@Header[0])^) := $FF;

Word((@Header[1])^) := 10;

HeaderSize := StrLen(StrUpper(StrPLCopy(@Header[3], ResName, 63))) + 10;

Word((@Header[HeaderSize - 6])^) := $1030;

Longint((@Header[HeaderSize - 4])^) := 0;

WriteBuffer(Header, HeaderSize);

Origin := Position;

WriteDescendent(Instance, Ancestor);

ImageSize := Position - Origin;

Position := Origin - 4;

WriteBuffer(ImageSize, SizeOf(Longint));

Position := Origin + ImageSize;

end;

WriteCompnentRes是与ReadComponentRes相应的对象写方法,这两个方法相互配合可读取Delphi的DFM文件,从而利用Delphi系统的功能。

20.1.2 THandleStream对象

THandleStream对象的行为特别象FileStream对象,所不同的是它通过已创建的文件句柄而不是文件名来存储流中的数据。

THandleStream对象定义了Handle属性,该属性提供了对文件句柄的只读访问,并且Handle属性可以作为Delphi的RTL文件管理函数的参数,利用文件类函数来读写数据。THandleStream覆盖了构造函数Create,该函数带有Handle 参数,该参数指定与THandleStream对象相关的文件句柄。

20.1.2.1 THandleStream的属性的方法:

1. Handle属性

声明:property Handle: Integer;

Handle属性提供了对文件句柄的只读访问,该句柄由THandleStream 的构造方法Create传入。因此除了用THandleStream提供的方法外,也可以用文件管理函数对句柄进行操作。实际上,THandleStream的方法在实现上也是运用文件管理函数进行实际的读写操作。

2. Create方法

声明:constructor Create(AHandle: Integer);

Create方法使用传入的Handle参数创建一个与特定文件句柄相联的THandleStream对象,并且将AHandle赋给流的Handle属性。

3. Read、Write和Seek方法

这三个方法是TStream的虚方法,只是在THandleStream 中覆盖了这三个方法,以实现特定媒介──文件的数据存取。后面会详细介绍这三个方法的实现。

20.1.2.2 THandleStream的实现原理

THandleStream是从TStream继承来的,因此可以共用TStream中的属性和大多数方法。THandleStream在实现上主要是增加了一个属性Handle和覆盖了Create、Read、Write和Seek四个方法。

1. 属性的实现

Handle属性的实现正如Delphi大多数属性的实现那样,先在对象定义的private部分声明一个存放数据的变量FHandle,然后在定义的public部分声明属性Handle,其中属性定义的读写控制部分加上只读控制,读控制只是直接读取FHandle变量的值,其实现如下: THandleStream = class(TStream)

private

FHandle: Integer;

public

property Handle: Integer read FHandle;

end;

2. 方法的实现

THandleStream的Create方法,以AHandle作为参数,在方法里面只是简单的将AHandle的值赋给FHandle,其实现如下: constructor THandleStream.Create(AHandle: Integer);

begin

FHandle := AHandle;

end;

为实现针对文件的数据对象存储,THandleStream的Read、Write 和Seek方法覆盖了TStream中的相应方法。它们的实现都调用了Windows的文件管理函数。

Read方法调用FileRead函数实现文件读操作,其实现如下: function THandleStream.Read(var Buffer; Count: Longint): Longint;

begin

Result := FileRead(FHandle, Buffer, Count);

if Result = -1 then Result := 0;

end;

Write方法调用FileWrite函数实现文件写操作,其实现如下: function THandleStream.Write(const Buffer; Count: Longint): Longint;

begin

Result := FileWrite(FHandle, Buffer, Count);

if Result = -1 then Result := 0;

end;

Seek方法调用FileSeek函数实现文件指针的移动,其实现如下:function THandleStream.Seek(Offset: Longint; Origin: Word): Longint;

begin

Result := FileSeek(FHandle, Offset, Origin);

end;

20.1.3 TFileStream对象

TFileStream对象是在磁盘文件上存储数据的Stream对象。TFileStream是从THandleStream继承下来的,它和THandleStream一样都是实现文件的存取操作。不同之处在于THandleStream用句柄访问文件,而TFileStream用文件名访问文件。实际上TFileStream是THandleStream上的一层包装,其内核是THandleStream的属性和方法。

TFileStream中没有增加新的属性和方法。它只是覆盖了的构造方法Create和析构方法Destory。在Create方法中带两个参数FileName和Mode。FileName描述要创建或打开的文件名,而Mode描述文件模式如fmCreate、fmOpenRead和fmOpenWrite等。Create方法首先使用FileCreate或FileOpen函数创建或打开名为FileName的文件,再将得到的文件句柄赋给FHandle。TFileStream的文件读写操作都是由从THandleStream继承的Read

var

Stream: TStream;

begin

Stream := TFileStream.Create(FileName, fmCreate);

try

SaveToStream(Stream);

finally

Stream.Free;

end;

end;

在Delphi 的许多对象的SaveToStream 和SaveToFile、LoadFromStream和LoadFromFile方法的实现都有类似的嵌套结构。

20.1.5 TMemoryStream对象

TMemoryStream对象是一个管理动态内存中的数据的Stream对象,它是从TCustomMemoryStream中继承下来的,除了从TCustomMemoryStream中继承的属性和方法外,它还增加和覆盖了一些用于从磁盘文件和其它注台读数据的方法。它还提供了写入、消除内存内容的动态内存管理方法。下面介绍它的这些属性和方法。

20.1.5.1 TMemoryStream的属性和方法

1. Capacity属性

声明:property Copacity: Longint;

Capacity属性决定了分配给内存流的内存池的大小。这与Size属性有些不同。Size属性是描述流中数据的大小。在程序中可以将Capacity 的值设置的比数据所需最大内存大一些,这样可以避免频繁地重新分配。

2. Realloc方法

声明:function Realloc(var NewCapacity: Longint): Pointer; virtual;

Realloc方法,以8K为单位分配动态内存,内存的大小由NewCapacity 指定,函数返回指向所分配内存的指针。

3. SetSize方法

SetSize方法消除内存流中包含的数据,并将内存流中内存池的大小设为Size字节。如果Size为零,是SetSize方法将释放已有的内存池,并将Memory属性置为nil;否则,SetSize方法将内存池大小调整为Size。

4. Clear方法

声明:procedure Clear;

Clear方法释放内存中的内存池,并将Memory属性置为nil。在调用

Clear方法后,Size和Position属性都为0。

5. LoadFromStream方法

声明:procedure LoadFromStream(Stream: TStream);

LoadFromStream方法将Stream指定的流中的全部内容复制到MemoryStream中,复制过程将取代已有内容,使MemoryStream成为Stream的一份拷贝。

6. LoadFromFile方法

声明:procedure LoadFromFile(count FileName: String);

LoadFromFile方法将FileName指定文件的所有内容复制到MemoryStream中,并取代已有内容。调用LoadFromFile方法后,MemoryStream将成为文件内容在内存中的完整拷贝。

20.1.5.2 TMemoryStream对象的实现原理

TMemoryStream从TCustomMemoryStream对象直接继承,因此可以享用TCustomMemoryStream的属性和方法。前面讲过,TCustomMemoryStream是用于内存中数据操作的抽象对象,它为MemoryStream对象的实现提供了框架,框架中的内容还要由具体MemoryStream对象去填充。TMemoryStream对象就是按动态内存管理的需要填充框架中的具体内容。下面介绍TMemoryStream对象的实现。

1. TMemoryStream属性的实现

TMemoryStream在其protected部分增加了一个Capacity属性,该属性决定了MemoryStream所占动态内存的大小。TMemoryStream首先在private部分声明了FCapacity变量作为存储Capacity属性值的数据域,然后在protected部分声明了该属性。在属性声明的读控制部分简单读取FCapacity的值,在写控制处调用了方法SetCapacity。该方法除了给FCapacity赋值外还执行了修改Capacity属性所必需操作如状态改变等。

下面是属性的实现:

TMemoryStream = class(TCustomMemoryStream)

private

FCapacity: Longint;

procedure SetCapacity(NewCapacity: Longint);

protected

property Capacity: Longint read FCapacity write SetCapacity; public

end;

写控制方法SetCapacity的实现是这样的:

procedure TMemoryStream.SetCapacity(NewCapacity: Longint); begin

SetPointer(Realloc(NewCapacity), FSize);

FCapacity := NewCapacity;

end;

在SetCapacity 方法先是调用Realloc重新分配内存,然后用NewCapacity的值给FCapacity赋值。Realloc方法进行某些对象状态的改变。

概要设计说明书范例及模板

《XXXXXX》概要设计说明书 张三、李四、王五

1.引言 1.1编写目的 在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。 本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 1.2项目背景 机票预定系统将由两部分组成:置于个旅行社定票点的前台客户程序,以及置于航空公司的数据库服务器。本系统与其他系统的关系如下: 1.3定义 1.3.1 专门术语 SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK: 数据库的错误恢复机制。 1.3.2 缩写

系统:若未特别指出,统指本机票预定系统。 SQL: Structured Query Language(结构化查询语言)。 ATM: Asynchronous Transfer Mode (异步传输模式)。 1.4参考资料 以下列出在概要设计过程中所使用到的有关资料: 1.机票预定系统项目计划任务书浙江航空公司1999/3 2.机票预定系统项目开发计划《**》软件开发小组1999/3 3.需求规格说明书《**》软件开发小组1999/3 4.用户操作手册(初稿)《**》软件开发小组1999/4 5.软件工程及其应用周苏、王文等天津科学技术出版社1992/1 6.软件工程张海藩清华大学出版社1990/11 7.Computer Network A.S.Tanenbaun Prentice Hall 1996/01 文档所采用的标准是参照《软件工程导论》沈美明著的“计算机软件开发文档编写指南”。 2.任务概述 2.1 目标 2.2 运行环境 系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。 根据调研得知所有旅行社的计算机配置均在Pentium 133级别以上,客户程序应能够在Pentium 133级别以上, Win NT环境下运行。 2.3 需求概述 浙江航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。 要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。 2.4 条件与限制 3.总体设计 3.1 处理流程 下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分

多层体系政务框架平台之一行政服务中心政务平台软件概要设计说明书分析

1. 引言 1.1 编写目的 软件概要设计是从总体上把握系统设计框架,他包括模块划分、处理流程和接口设计,概要设计说明书对上述内容作了总体描述,体现了用户需求与应用系统实现之间的关系,在设计过程中起到了提纲挈领的作用。 待开发的软件系统的名称:多层体系政务框架平台之一行政服务中心政务平台 项目名称:多层体系政务框架平台之一行政服务中心政务平台 项目的任务提出者:集团公司中央研院应用产品开发中心 项目的任务开发者:多层体系政务框架平台之一行政服务中心政务平台项目开发组 项目的用户:行政服务中心 本文档的阅读者:多层体系政务框架平台之一行政服务中心政务平台项目组 1.2 定义 1.3 参考资料 2. 范围 2.1 系统主要目标 构建行政服务中心政务平台,实现办件处理网络化、无纸化、科学化,内部办公自动化与政务公开化的要求,并为领导提供办件相关的统计与决策分析数据。本节描述软件开发工作的某些限制,例如经费限制、开发期限、硬件限制、编程语言、通信协议、安全和保密要求、开发过程中须遵守的某些标准或规则。 本节内容不是陈述具体需求或设计约束,而是为具体需求以及设计约束的描述提供依据。2.2 主要软件需求 网上审批,网上办件与流程监控。 3. 软件系统结构设计 3.1 复审数据流、控制流

办件流程: ) 办件单) 其中网上申请办件要经过接件以后才会正式转为办件单。 咨询流程: (咨询单) (答复单,答复数) 其中每咨询一次,当日答复数自动增一。 收发文流程: 可将已提交的文档收回,另择流程 n 次,可将已提交的文档收回,另择流程

3.2 软件体系结构 3.2.1 软件程序结构图 软件程序结构图如下:(见下页)

概要设计说明书实例

1 引言 (3) 1.1 编写目的 (3) 1.2 背景 (3) 1.3 定义 (3) 1.4 参考资料 (3) 2 总体设计 (3) 2.1 简述 (3) 2.2 架构设计 (4) 2.2.1 系统逻辑架构图 (4) 2.2.2 系统物理架构图 (4) 2.2.3 顶层系统包图 (5) 2.2.4 业务类包图 (6) 2.2.5 子系统关系图 (6) 2.3 接口设计 (6) 2.3.1 界面框架设计 (6) 2.3.2 外部接口设计 (7) 3 子系统设计 (7) 3.1 基础信息子系统 (7) 3.1.1 子系统说明 (7) 3.1.2 类图 (8) 3.1.3 类说明 (12) 3.1.4 界面设计 (19) 3.2 我的工作台子系统 (21) 3.2.1 子系统说明 (21) 3.2.2 类图 (22) 3.2.3 类说明 (26) 3.2.4 界面设计 (32) 3.3 工作进展子系统 (33) 3.3.1 子系统说明 (33) 3.3.2 类图 (34) 3.3.3 类说明 (34) 3.3.4 界面设计 (34) 3.4 信息发布子系统 (36) 3.4.1 子系统说明 (36) 3.4.2 类图 (36) 3.4.3 类说明 (37) 3.4.4 界面设计 (38) 3.5 系统管理子系统 (38) 3.5.1 子系统说明 (38) 3.5.2 类图 (39) 3.5.3 类说明 (39) 3.5.4 界面设计 (40) 3.6 个人设置子系统 (41)

3.6.1 子系统说明 (41) 3.6.2 类图 (42) 3.6.3 类说明 (43) 3.6.4 界面设计 (44) 4 约束和假定 (45) 5 系统数据结构设计 (45) 5.1 逻辑结构设计 (45) 5.1.1 角色表(PUBLIC_ROLE) (46) 5.1.2 权限表(PUBLIC_PRIVILEGE) (46) 5.1.3 角色权限表(PUBLIC_ROLEPRIVILEGE) (46) 5.1.4 部门表(PUBLIC_ DEPT) (46) 5.1.5 岗位表(PUBLIC_POST) (47) 5.1.6 员工表(PUBLIC_MEMBER) (47) 5.1.7 工作任务表(WORKPLAN_ TASK) (48) 5.1.8 任务分派表(WORKPLAN_ ALLOTTASK) (48) 5.1.9 工作计划表(WORKPLAN_ PLAN) (48) 5.1.10 计划任务表(WORKPLAN_ PLANTASK) (49) 5.1.11 工作日志表(WORKPLAN_ WORKLOG) (49) 5.1.12 工作汇报表(WORKPLAN_ WORKREPORT) (50) 5.1.13 信息发布表(PUBLIC_ PUBLISHINFO) (50) 5.1.14 收件箱表(PUBLIC_INBOX) (50) 5.1.15 系统操作日志表(PUBLIC_OPERA TELOG) (51) 5.1.16 个人提醒设置表(PUBLIC_EVENTS) (51) 5.1.17 系统表(PUBLIC_SYSTEM) (52) 5.1.18 系统功能模块表(PUBLIC_SYSTEMMODULE) (52) 5.2 物理结构设计 (52) 5.3 数据结构与程序的关系 (52) 6 系统出错处理设计 (52) 6.1 出错信息 (52) 6.2 补救措施 (53) 6.3 系统维护设计 (53)

概要设计说明书

《项目名称》 概要设计说明书 文档名称: 拟制: 审核 山东山大鸥玛软件有限公司

变更记录 版本号修改原因/内容修改人审核人修改时间

目录 1 引言 (4) 1.1 编写目的 (4) 1.2 背景 (4) 1.3 定义 (4) 1.4 参考资料 (4) 2 总体设计 (4) 2.1 需求规定 (4) 2.2 运行环境 (4) 2.3 基本设计概念和处理流程 (4) 2.4 结构 (4) 2.5 功能需求与程序的关系 (4) 2.6 人工处理过程 (5) 2.7 尚未解决的问题 (5) 3 运行设计 (5) 3.1 运行模块组合 (5) 3.2 运行控制 (5) 3.3 运行时间 (5) 4 系统数据结构设计 (5) 4.1 逻辑结构设计要点 (5) 4.2 物理结构设计要点 (5) 4.3 数据结构与程序的关系 (5) 5 系统出错处理设计 (5) 5.1 出错信息 (5) 5.2 补救措施 (5) 6 系统维护设计 (6)

1 引言 1.1 编写目的 【提示:说明编写这份概要设计说明书的目的,指出预期的读者。】 1.2 背景 【说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。】1.3 定义 【提示:列出本文件中用到的专门术语的定义和外文首字母组词的原词组。】 1.4 参考资料 【提示:列出有关的参考文件,如: 本项目的经核准的计划任务书或合同,上级机关的批文; 属于本项目的其他已发表文件; 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。】 2 总体设计 2.1 需求规定 【提示:说明对本系统的主要的输入输出项目、处理的功能性能要求。】 2.2 运行环境 【提示:简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定。】2.3 基本设计概念和处理流程 【提示:说明本系统的基本设计概念和处理流程,尽量使用图表的形式。】 2.4 结构 【提示:用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。】 2.5 功能需求与程序的关系 【提示:本条用一张矩阵图说明各项功能需求的实现同各块程序的分配关系。

大数据平台概要设计说明书

计算平台 概要设计说明书 作者:日期:2013-01-28批准:日期: 审核:日期: (版权所有,翻版必究)

文件修改记录

目录 1.引言 ........................................................................................... 1.1编写目的................................................. 1.2术语与缩略词............................................. 1.3对象及范围............................................... 1.4参考资料................................................. 2.系统总体设计 ............................................................................. 2.1需求规定................................................. 2.1.1数据导入............................................ 2.1.2数据运算............................................ 2.1.3运算结果导出........................................ 2.1.4系统监控............................................ 2.1.5调度功能............................................ 2.1.6自动化安装部署与维护................................ 2.2运行环境................................................. 2.3基本设计思路和处理流程................................... 2.4系统结构................................................. 2.4.1大数据运算系统架构图................................ 2.4.2hadoop体系各组件之间关系图......................... 2.4.3计算平台系统功能图.................................. 2.4.4系统功能图逻辑说明.................................. 2.4.5计算平台业务流程图..................................

软件概要设计说明书范例

XX概要设计说明书

文档修改记录

填写说明 1. 系统结构的定义 本体系对整个软件系统按如下结构方式进行划分:系统子系统模块子模块 其中: (1)“系统子系统”划分属于“系统设计”,在系统设计说明书中予以描述。 (2)“子系统模块”划分属于“概要设计”,在本说明书中予以描述。 (3)“模块子模块”划分属于“详细设计”,在详细设计说明书中予以描述。如果系统相对简单,可以省略“子模块”这一层次。 2. 如果填写了系统设计说明书,则在本说明书中略过“系统子系统”划分的相关内容(即第2章)。 3. 如果系统相对简单,不需要做“系统子系统”划分,这种情况下,取消填写系统设计说明书,只须填写本说明书,直接套用“子系统模块”划分(即第3章)进行“系统模块”划分(把其中“子系统”一词替换为“系统”),并删除本说明书中“系统子系统”划分的相关内容(第2章)。

目录 1. 简介 ................................................................ 错误!未定义书签。 . 背景和目的.................................................... 错误!未定义书签。 . 范围.......................................................... 错误!未定义书签。 . 术语和缩略语.................................................. 错误!未定义书签。 2. 系统总体设计 ........................................................ 错误!未定义书签。 . 任务概述...................................................... 错误!未定义书签。 目标 .................................................... 错误!未定义书签。 需求概述 ................................................ 错误!未定义书签。 . 设计概述...................................................... 错误!未定义书签。 总体约束 ................................................ 错误!未定义书签。 系统外部接口 ............................................ 错误!未定义书签。 设计方案概述 ............................................ 错误!未定义书签。 . 系统架构设计.................................................. 错误!未定义书签。 系统的逻辑架构设计 ...................................... 错误!未定义书签。 系统的物理架构设计 ...................................... 错误!未定义书签。 . 子系统定义.................................................... 错误!未定义书签。 子系统列表 .............................................. 错误!未定义书签。 子系统间关系 ............................................ 错误!未定义书签。 3. 子系统1设计 ........................................................ 错误!未定义书签。 . 任务概述...................................................... 错误!未定义书签。 目标 .................................................... 错误!未定义书签。 需求概述 ................................................ 错误!未定义书签。 . 设计概述...................................................... 错误!未定义书签。 总体约束 ................................................ 错误!未定义书签。 子系统外部接口 .......................................... 错误!未定义书签。 设计方案概述 ............................................ 错误!未定义书签。 . 子系统架构设计................................................ 错误!未定义书签。 . 模块定义...................................................... 错误!未定义书签。

概要设计说明书范例及模板

《XXXXXX》 概要设计说明书 张三、李四、王五 1.引言 1.1编写目的 在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。 本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 1.2项目背景 机票预定系统将由两部分组成:置于个旅行社定票点的前台客户程序,以及置于 1.3 1.3.1 专门术语 SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK: 数据库的错误恢复机制。 1.3.2 缩写

系统:若未特别指出,统指本机票预定系统。 SQL: Structured Query Language(结构化查询语言)。 ATM: Asynchronous Transfer Mode (异步传输模式)。 1.4参考资料 以下列出在概要设计过程中所使用到的有关资料: 1.机票预定系统项目计划任务书浙江航空公司 1999/3 2.机票预定系统项目开发计划《**》软件开发小组 1999/3 3.需求规格说明书《**》软件开发小组 1999/3 4.用户操作手册(初稿)《**》软件开发小组 1999/4 5.软件工程及其应用周苏、王文等天津科学技术出版社 1992/1 6.软件工程张海藩清华大学出版社 1990/11 7.Computer Network A.S.Tanenbaun Prentice Hall 1996/01 文档所采用的标准是参照《软件工程导论》沈美明著的“计算机软件开发文档编写指南”。 2.任务概述 2.1 目标 2.2 运行环境 系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。 根据调研得知所有旅行社的计算机配置均在Pentium 133级别以上,客户程序应能够在Pentium 133级别以上, Win NT环境下运行。 2.3 需求概述 浙江航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。 要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。 2.4 条件与限制 3.总体设计 3.1 处理流程 下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。系统可分为两大部分:一、客户机上的程序,二、服务器上的程序。以下将分别对系统的这两大部分进行流程分析:

概要设计说明书示例【概要设计说明书(模板)】

概要设计说明书示例【概要设计说明书(模板)】 概要设计说明书 修订记录 目录 第一章 1.1.1. 2.1. 3.1. 4.第二章 2.1.2.2.2. 3.2. 4.2. 5.2. 6.2. 7.第三章 3.1.3.2.3.3.第四章 4.1.4.2.4.3.第五章 5.1.5.2.5.3.第六章 6.1. 6.2.6.3. 补救措施......................................................... ........................................10系统维护设计......................................................... .. (10) 第一章引言 1.1.编写目的 说明编写这份概要设计说明书的目的,指出预期的读者。 1.2.背景 说明:

a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的站点。 1.3.定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4.参考资料 列出有关的参考文件,如: a.本项目的经核准的计划任务书或合同,上级机关的批文; b.属于本项目的其他已发表文件; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出 第二章总体设计 2.1.需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求。 2.2.运行环境 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定。 2.3.基本设计概念和处理流程 说明本系统的基本设计概念和处理流程,尽量使用图表的形式。 2.4.结构 用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。 2.5.功能需求与程序的关系

最全面的概要设计说明书

xxxx信息系统V2.0 【模块名称】 概要设计说明书 版本号 xxx信息化建设项目组2018年05月01日

修正历史表 文档信息

目录 1.引言 (7) 1.1编写目的 (7) 1.2阅读对象 (7) 1.3术语定义 (7) 1.4参考资料 (7) 1.5图例 (7) 1.6其他 (7) 2.总体设计 (7) 2.1系统目标 (7) 2.2需求规定 (7) 2.2.1系统功能 (7) 2.2.2系统性能 (7) 2.2.3输入输出要求 (7) 2.2.4数据管理能力要求 (7) 2.2.5故障处理要求 (8) 2.2.6其他专门要求 (8) 2.3设计原则 (8)

2.5用户类及特征要求 (8) 2.6功能模块清单 (8) 2.7人工处理过程 (8) 2.8尚未解决的问题 (8) 2.9限制与约束 (8) 3.接口设计 (8) 3.1用户接口 (8) 3.2外部接口 (8) 3.3内部接口 (8) 4.全局数据结构设计 (8) 4.1数据库表名清单 (9) 4.2数据库表之间关系 (9) 4.3数据库表的详细清单 (9) 4.4视图的设计 (9) 4.5数据结构和程序的关系 (9) 4.6主要算法设计 (9) 4.7其他数据结构设计 (9) 5.系统功能说明 (9) 5.1系统功能概述 (9) 5.2系统数据流图 (9) 5.3系统外部接口 (9)

6.用户界面设计 (9) 6.1用户界面设计基本原则 (9) 6.1.1用户界面设计原则 (10) 6.1.2一般交互原则 (10) 6.1.3信息显示原则 (10) 6.1.4数据输入原则 (10) 6.2设计规范 (10) 6.2.1界面规范的总体规定 (10) 6.2.2界面一致性规范 (10) 6.2.3系统响应时间规范 (10) 6.2.4用户帮助设施规范 (10) 6.2.5出错信息和警告规范 (10) 7.运行设计 (10) 7.1运行模块设计 (10) 7.2运行控制 (10) 7.3运行时间 (10) 8.系统出错处理设计 (11) 8.1出错信息 (11) 8.2补救措施 (11) 9.安全性设计 (11) 9.1身份证认证 (11)

概要设计说明书---案例

<网上书店> 概要设计说明书 作者:XXXXXXXXXXX 完成日期:XXXX年4月XX日签收人:XXXXXX 签收日期:XXXX年X月XX日修改情况记录:

目录 1 引言 (1) 1.1 编写目的 (1) 1.2 范围 (1) 1.3 定义 (1) 1.4 参考资料 (2) 2 总体设计 (2) 2.1 需求规定 (2) 2.2 运行环境 (3) 2.3 基本设计概念和处理流程 (3) 2.4 结构 (4) 2.5 功能需求与程序的关系 (8) 2.6 人工处理过程 (9) 2.7 尚未解决的问题 (9) 3 接口设计 (10) 3.1 用户接口 (10) 3.2 外部接口 (10) 3.3 内部接口 (10) 4 运行设计 (10) 4.1 运行模块组合 (10) 4.2 运行控制 (10) 4.3 运行时间 (11) 5 系统数据结构设计 (11) 5.1 逻辑结构设计要点 (11) 5.2 物理结构设计要点 (11) 6 系统出错处理设计 (12) 6.1 出错信息 (12) 6.2 补救措施 (12) 6.3 系统维护设计 (12) 7 阶段小结 (12)

1 引言 1.1 编写目的 服务于书店的网络化运营,管理用户购买以及其它服务、管理各类图书信息以及图书销售中的各个环节,最终用户为使用本网上书店的各类用户以及网上书店的系统管理人员和维护人员。 1.2 范围 说明: a.待开发的软件系统的名称:XXXX网上书店 b.任务提出者:刘俊铖、马俊 开发者:马俊、张倩、刘俊铖、张瑞鑫、唐志军、冯庆丰 用户:欲使自己书店网络化运营的各类书店。 使用本软件的单位:待定 1.3 定义 UML:Unified Modeling Language , 统一建模语言。 类图(class diagram):表述系统中各个对象的类型及其间存在的各种静态关系。静态关系包括关联和子类型两种。 交互图(interactive diagram):是表述各组对象如何依某种行为进行协作的模型。包括顺序图和协作图。 可修改性:容许对系统进行修改而不增加原系统的复杂性。 有效性:软件系统能有效地利用计算机的时间资源与空间资源的能力。 可靠性:能够防止因概念、设计和结构等方面的不完善造成的软件系统 失效,具有挽回因操作不当造成软件系统失效的能力。

概要设计说明书(GB8567)

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2总体设计 (2) 2.1需求规定 (2) 2.2运行环境 (2) 2.3基本设计概念和处理流程 (3) 2.4结构 (3) 2.5功能器求与程序的关系 (3) 2.6人工处理过程 (3) 2.7尚未问决的问题 (3) 3接口设计 (3) 3.1用户接口 (3) 3.2外部接口 (3) 3.3内部接口 (4) 4运行设计 (4) 4.1运行模块组合 (4) 4.2运行控制 (4) 4.3运行时间 (4) 5系统数据结构设计 (4) 5.1逻辑结构设计要点 (4) 5.2物理结构设计要点 (4) 5.3数据结构与程序的关系 (4) 6系统出错处理设计 (5) 6.1出错信息 (5) 6.2补救措施 (5) 6.3系统维护设计 (5)

概要设计说明书 1引言 1.1编写目的 说明编写这份概要设计说明书的目的,指出预期的读者。 1.2背景 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出有关的参考文件,如: a.本项目的经核准的计划任务书或合同,上级机关的批文; b.属于本项目的其他已发表文件; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的 标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2总体设计 2.1需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。 2.2运行环境 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。

安卓平台软件APP系统概要设计说明书

安卓平台软件APP系统概要设计说明书 目录 1 Introduction 简介 (3) 1.1 Purpose 目的 (3) 1.2 Scope 范围 (3) 1.2.1 Name 软件名称 (3) 1.2.2 Functions 软件功能 (3) 1.2.3 Applications软件应用 (4) 1.3 Reference 参考资料 (4) 2 High Level Design 概要设计 (5) 2.1 Level 0 Design Description 第0层设计描述 (5) 2.1.1 软件系统上下文定义 (5) 2.1.2 Design Considerations设计思路 (5) 2.2 Level 1 Design Description 第1层设计描述 (6) 2.2.1 System Architecture系统结构 (6) 2.2.1.1 Description of the Architecture系统结构描述 (6) 2.2.1.2 Representation of the Business Flow业务流程说明 (7) 2.2.2 Decomposition Description分解描述 (21) 2.2.2.1 模块1名 (21) 2.2.2.1.1 功能一名 (21) 2.2.2.1.2 功能二名 ................................................................ 错误!未定义书签。 2.2.2.2 模块2名 (24) 2.2.3 Interface Description接口描述 (29) 2.2.3.1 XX接口1 (43) 2.2. 3.2 XX接口2 ............................................................................ 错误!未定义书签。 3 Data Structure 数据结构/Database Design 数据库设计 (43) 3.1 概念模型 (44) 3.2 数据库表设计 (45) 3.3 存储过程设计 ......................................................................................... 错误!未定义书签。 3.4 视图设计 ................................................................................................. 错误!未定义书签。 3.5 触发器设计 ............................................................................................. 错误!未定义书签。 3.6 函数设计 ................................................................................................. 错误!未定义书签。 3.7 基础数据配置 ......................................................................................... 错误!未定义书签。 4 UI Design 界面设计 (46) 4.1 界面1 (46) 4.2 界面1 (47) 5 Error Design 出错处理设计 (53)

概要设计的写法

概要设计的写法 做软件到一定层次了,就要考虑到设计了,设计了很久,就是不系统,系统的设计需要一个记录,记录就用文档,那么对项目所有包括技术上的设计都记录下来,我们就可以理解为软件的概要设计了。在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。因此,对大部分的公司来说,概要设计文档是唯一的设计文档,对后面的开发、测试、实施、维护工作起到关键性的影响。 概要设计写什么?概要设计怎么做?如何判断设计的模块是完 整的?为什么说设计阶段过于重视业务流程是个误区?以需 求分析文档还是以概要设计文档来评估开发工作量、指导开发计划 准确?结构化好还是面向对象好?以上问题的答案请在文章 中找。 二、概要设计的目的? 将软件系统需求转换为未来系统的设计;逐步开发强壮的系统构 架;使设计适合于实施环境,为提高性能而进行设计;结构 应该被分解为模块和库。 三、概要设计的任务? 制定规范:代码体系、接口规约、命名规则。这是项目小组今后共 同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间 的接口规则、方式方法,大家就有了共同的工作语言、共同的工作 平台,使整个软件开发工作可以协调有序地进行。总体结构设 计:功能(加工)->模块:每个功能用那些模块实现,保证每 个功能都有相应的模块来实现;模块层次结构:某个角度的软件 框架视图;模块间的调用关系:模块间的接口的总体描述;模 块间的接口:传递的信息及其结构;处理方式设计:满足功能 和性能的算法用户界面设计;数据结构设计:详细的数 据结构:表、索引、文件;算法相关逻辑数据结构及其操作;上 述操作的程序模块说明(在前台?在后台?用视图?用过程?······)接口控制表的数据结构和使用规则其他性能设计。 四、概要设计写什么?

概要设计说明书实例

概要设计说明书 1引言 1.1编写目的 I丨本设计书是高校固定资产管理项目程序的研发概要设计,将项目开发进程中 或者项目结束后提供给双方人员使用,同时也可以作为实施后期的维护人员使用。 1.2项目背景 作为软件开发的前期文档,可以帮助程序设计人员和管理人员提供清晰的设计思路,在软件开发后期的维护阶段也起到至关重要的作用。 委托单位:湖师计科学院开发单位:湖师磁湖在线工作室负责人:关老师 近几年,随着高校学生的人数增加,高校的固定资产也增加,而有一些破旧的资产不能合理的处理和管理,而对于学校这个大群体来说,一个个资产设备,物品,都需要更好的管理和维护,为了高校能够很好的管理学校的设备,我们实验室做了一个高校固定资产管理系统,为学校管理设备带来方便和高效。 1.3定义 B/S : (Browser/Server结构)结构即浏览器和服务器结构。 需求:用户解决问题或达到目标所需的条件和功能;系统或系统部 要满足合同、标准,规范或其他正式文档所需具有的条件及权能。 1.4参考资料 《国家标准软件开发文档规范》 《软件开发流程》,清华大学出版社,2005年1月版 2 任务概述 2.1目标 高校资产管理系统功能有:资产基本资料的管理,资产初始录入,信息统计, 盘点管理,折旧管理,审核管理和数据的导入功能,这只要是资产管理的功能。密码设置,权限设置,系统日志及系统退出这主要是系统管理的功能。 2.2运行环境 ?主机:PC兼容机内存256M以上,显示分辨率800*600以上 ?操作系统:window98,window2000,WindowXP 及Win7 等。 2.3需求概要 用户对软件系统要求使用简单方便,必要的功能一定不能少,且界面设计要大方得体,有良好的视觉效果,待现在系统没实现功能要记录清楚,系统最后阶段要尽量弥补用户所需的功能。

概要设计说明书实例

概要设计说明书实例 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

工作计划管理系统概要设计说明书 1 引言 1.1编写目的 此概要设计说明书是为了说明整个系统的体系架构,以及需求用例的各个功能点在架构中的体现,为系统的详细设计人员进行详细设计时的输入参考文档。 1.2背景 石油工程公司将打造“国际一流的石油工程技术服务公司”作为公司发展的战略目标,为确保这一目标的实现,本项目将建立一套以国际一流企业为战略标杆的企业间对标评价体系,引导企业持续对不足,促改进,使企业经营管理各项目标不断缩小与国内或国际先进水平的差距,保持领先优势,持续提升综合赢利能力。 1.3定义 1.4参考资料 《石油工程公司对标评价合同书系统项目合同书》 《石油工程公司对标评价合同书系统项目技术服务合同附件》 《石油工程公司对标评价系统需求分析说明书》 2 总体设计 2.1简述 系统采用流行的B/S结构模式。系统的分析设计采用面向对象的技术,应用Visio等工

具进行辅助设计。 2.2架构设计 2.2.1 系统逻辑架构图 2.2.2 系统物理架构图 2.2.3 顶层系统包图 类包说明: ?业务页面:用户动态网页。 ?业务操作:主要控制业务访问的接口和业务流转。 ?数据处理:提供业务的实现,包括对业务数据的增、删、改、查等操作。 ?数据实体:业务对象的实体类。 ?数据接口:提供数据库的访问,传递数据或返回相应数据。 ?系统辅助:提供了供整个系统辅助的功能。 2.2.4 业务逻辑图 2.2.5 模块关系图 2.3接口设计 2.3.1 界面框架设计 2.3.2 外部接口设计 说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。 3 系统模块设计 3.1系统管理模块 3.1.1 模块说明 系统管理模块包括:角色管理、部门管理、权限管理、员工管理四部分。

软件概要设计说明书模版

软件概要设计报告文档模板 1. 引言 (2) 1.1编写目的 (2) 1.2项目风险 (2) 1.3预期读者和阅读建议 (2) 1.4参考资料 (2) 2. 设计概述 (3) 2.1限制和约束 (3) 2.2设计原则和设计要求 (3) 3. 系统逻辑设计 (4) 3.1系统组织设计 (4) 3.2系统结构设计 (4) 3.2.1 系统特性表 (5) 3.2.2 系统特性结构图 (6) 3.3系统接口设计 (6) 3.3.1 系统接口表 (6) 3.3.2 系统接口传输协议说明 (7) 3.4系统完整性设计 (7) 4. 系统出错处理设计 (8) 4.1系统出错处理表 (8) 4.2维护处理过程表 (9) 5. 技术设计 (10) 5.1系统开发技术说明表 (10) 5.2开发技术应用说明 (11) 6. 数据库设计 (11) 7. 词汇表 (11) 8. 进度计划 (11)

1. 引言 引言是对这份软件系统概要设计报告的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。 1.1 编写目的 说明这份软件系统概要设计报告是基于哪份软件产品需求规格说明书编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件系统概要设计报告详尽说明了该软件产品的软件结构,包括数据库结构和出错处理,从而对该软件产品的结构的描述。 如果这份软件系统概要设计报告只与整个系统的某一部分有关系,那么只定义软件系统概要设计报告中说明的那个部分或子系统。 1.2 项目风险 具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括: ●任务提出者; ●软件开发者; ●产品使用者。 1.3 预期读者和阅读建议 列举本软件系统概要设计报告所针对的各种不同的预期读者,例如,可能的读者包括: ●用户; ●开发人员; ●项目经理; ●营销人员; ●测试人员; ●文档编写人员; ●等等。 描述文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。 1.4 参考资料 列举编写软件产品概要设计报告时所用到的参考文献及资料,可能包括: ●本项目的合同书; ●上级机关有关本项目的批文; ●本项目已经批准的计划任务书; ●用户界面风格指导;

相关文档
最新文档