(需求分析+概要设计+详细设计)文档简单范例

时间:2024.4.30

软件开发文档

项目名 : “通讯录”

版 本: α测试版

作 者: ccba

编写时间:2001-8-20

文档内容:

1 需求规格说明书

2 概要设计说明书

3 详细设计说明书

文档号IM00101

需求规格说明书

1、引言:

1.1 编写目的

本文档的编写是为了确定待开发软件的功能、性能、数据、界面的需求。

1.2 项目背景

“通讯录”软件是为了提供一种功能完备,易于操作、界面美观的优秀软件。该软件由蔡文亮单独开发完成。

1.3 定义

需求规格说明书采用参考资料②标准

1.4 参考资料

①薛华成 《管理信息系统(第三版)》清华大学出版社1999.5

②郑人杰、殷人昆、陶永雷《实用软件工程(第二版)》清华大学出版社1997.4

③周之英 《现代软件工程(基本方法篇)》 科学出版社 2000.1

2、功能需求

该软件由四个主功能模块和一个扩展功能模块构成,各功能模块中规定的均为软件的基本功能,在开发过程中,开发人员可根据实际情况在满足基本功能需求的前提下增加新功能,但必须详细编写相关文档。

2.1录入、修改功能模块

该功能块主要用于数据库的数据录入和修改,考虑到通讯录的实际需要,可以放松对数据库完整性结束的控制,但从减少数据库的角度来考虑,不容许有完全相同的纪录出现(考虑的合并,相同的纪录项)。

2.2查询功能块

本功能模块是最重要的功能块,对通讯录的操作最主要部分就是查询操作。

本功能块要求有如下功能:

1)按数据库各个属性查询

2)按数据库各个属性之间的逻辑组合查询

如:查询名称为“鸭子”且年龄为20岁的详细情况

(SQL语句表示)SELECT *

FROM MESSAGER

WHERE NICKNAME=“鸭子”

AND AGE=20

3)按某一属性的数值范围查询及其逻辑组

如:查询年龄在20至35岁间的详细情况

(SQL语句表示)SELECT *

FROM MESSAGER

WHERE AGE BETWEEN 20 AND 35

4)模糊查询

同时我们要求查询结果可以按用户要求的格式来显示,如:用户能调整显示属性的个数和组合。

2.3系统安全块

通讯录的信息是个人隐私,故在软件中加入必要的安全措施。主要有以下三点:

1)登录帐号和密码的管理

2)帐户权限的控制

3)对部分登录帐号隐藏部分内容

2.4系统设置块

本部分内容主要是对软件使用时一些设置使其更利于软件的使用:主要包括以下四个方面:

1)系统界面背景和色彩设置(模仿WINNAP)

2)闹铃功能开关,即实现朋友生日提醒功能

3)记录内容项(即数据库修改通讯录上的内容项)

4)历史记录,用户可以选择是否记录下何人何时使用过该软件

2.5扩展功能块

1)网络功能:通过OLE/COM接口的调用,实现E-mail软件调用。

2)帮助文档的制作(On-line help)

3、性能需求

3.1效率需求:要求软件的启动时间不超过3秒,最好控制在2秒内,每次查询的时间不超过3秒,其它各项操作完成时间在1秒限内。

3.2空间需求:视数据库大小而定,一般在10M以内。

4、数据描述

4.1E-R图

4.2数据项

数据项:姓名

含义说明:标识记录信息

别名: 无

类型: 字符串

长度: 20

取值范围: 中文字符 或 西文字符

与其他数据项的逻辑关系: 允许重名现象

数据项:系统色彩标志位

含义说明: 系统是否有色彩设置

别名: 无

类型: 布尔型

取值含义:T是 F否

与其他数据项的逻辑关系:若系统有色彩设置,启用系统色彩数据

数据项:系统色彩

含义说明: 系统界面色彩

别名: 无

类型: 长整形

与其他数据项的逻辑关系:若系统有色彩设置,启用系统色彩数据

数据项:系统背景标志位

含义说明: 系统是否有背景设置

别名: 无

类型: 布尔型

取值含义:T是 F否

与其他数据项的逻辑关系:若系统有背景设置,启用系统背景数据

数据项:系统背景

含义说明: 系统界面背景

别名: 无

类型: 长整形

与其他数据项的逻辑关系:若系统有背景设置,启用系统背景数据

数据项: 系统提醒功能开关

含义说明: 系统是否有提醒功能设置

别名: 无

类型: 布尔型

数据项: 系统跟踪审计功能开关

含义说明: 系统是否有跟踪审计功能设置

类型: 布尔型

数据项:系统权限矩阵

含义说明: 不同权限级别的权限设置

类型: 4×4布尔型矩阵

数据项: 出生日期

含义说明: 记录项表示的人物的出生日期

类型: 日期型

数据项: 性别

含义说明: 记录项表示的人物的性别

类型: 布尔型

取值说明: T男 F女

数据项: 联系方式

含义说明: 记录项表示的人物的联系方式

数据项: 账号

别名: 用户账号

含义说明: 用户登录系统使用的身份鉴别码

类型: 字符串

长度: 10

取值范围: 数字、中文字符和西文字符

与其他数据项的逻辑关系:和密码数据项一一对应

数据项: 密码

别名: 用户密码

含义说明: 用户用于登录系统的和用户账号相应的密码

类型: 字符串

长度: 10

取值范围: 数字、中文字符和西文字符

与其他数据项的逻辑关系:和账号数据项一一对应

数据项: 权限

含义说明: 用户账号的权限

类型: 短整形

与其他数据项的逻辑关系:权限矩阵用于设置本数据项

4.3数据结构

数据结构:系统数据

含义说明:记录系统的设置数据

组成: 系统数据结构=系统色彩标志位+系统色彩+系统背景标志位+系统背景+系统提醒功能开关+系统跟踪审计功能开关+系统权限矩阵

数据结构:记录项数据

含义说明:记录通信录中的记录信息

组成:记录项数据结构=姓名+性别+年龄+联系方式

数据结构: 用户数据

含义说明: 用户登录系统使用数据

组成: 用户数据=账号+密码+权限

4.4数据流

4.5数据存储

注:4.数据流 5.数据存储 略

4.6主题数据库

①记录主数据库 存储记录项数据

②安全数据库 存储用户账号、密码、权限信息

③系统数据库 存储系统数据

4 历史记录数据库 存储软件使用的历史情况

5、运行需求

5.1 用户界面

简洁明快、造型新颖、有用户设置功能

5.2 硬件接口

I/O设备:显示器、打印机、鼠标、键盘

5.3 故障处理

显示故障信息,有一定自动纠错功能

6、安全需求

应提供基本的安全控制,包括:账户密码控制、用户权限控制、跟踪审计控制

文档号IM00102

概要设计说明书

1、引言:

1.1 编写目的

概要设计是为了说明系统的功能分配,模块划分,程序的总体结构,输入输出及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。

1.2 项目背景

该项目由信息管理系九八级学生蔡文亮同学单独开发,拟在作为软件分发出去。

1.3 定义

本说明书中业务流程图(TFD)采用薛华成的《管理信息系统(第三版)》 p.339标准。

1.4 参考资料

①薛华成 管理信息系统(第三版)清华大学出版社1999.5

②需求规格说明书 文档号IM00101

③郑人杰、殷人昆、陶永雷《实用软件工程(第二版)》清华大学出版社,1997.4

2、任务概述

2.1 目标:作为一个简便易用的自由软件

2.2 运行环境:WINDOWS 95/98/ME/NT/2000

Paradox 数据库管理系统

硬件环境:1BM-PC机,笔记本电脑

2.3 开发方案:

利用Borland C++ Builder 5.0单独完成试用版的开发工作。

3、总体设计

3.1 处理流程(如图1)

另:系统启动时有登录过程,登录成功后有系统的配置过程。

3.2 总体结构和模块外部设计

为方便阅读,现将软件的总体结构图示如下:(如图2)

尤其拟用RAD(Rapid Application Development)BCB进行开发,故各模块之间功能相对独立,各模块共用的数据有记录数据库、安全数据库和系统数据。

4、接口设计

4.1 外部接口

用户界面:用户界面要求较活泼,符合小软件的风格。

软件接口:无

硬件接口:无特殊硬件接口,用户采用键盘、显示器、鼠标 作为主要设备,查询结果也可用打印机输出。

4.2 内部接口

各模块之间并无直接的通信关系,通过系统数据来传递信息。

5、数据结构设计

本系统中自行定义的数据结构是系统数据作用是描述系统设置,其逻辑结构和含义如下:(用类C语言描述)

Class SystemData

{//系统数据定义

bool ColorFlag;//是否用缺省的配置 T不用F用

long SColor;//用户有定义色彩

bool PictureFlag;//是否使用背景图案 T是F否

char SPicture[100];//背景图案位置

bool Alarm;//提醒功能开关 T开 F关

bool Record;//跟踪审计功能开关 T开 F关

bool Grant [4] [4];//权限矩阵 T有权限 F无权限

};

该数据结构的物理设计从略

该数据结构记录系统设置系统启动时使用,系统设置以及安全设置模块对其修改

6、运行设计

6.1 运行模块的组合

该系统采用事件驱动思想,要求各模块间事件执行,严格并执行系统及两个以上的模块。

6.2 运行控制

各模块的运行采用事件驱动的方式,在WINDOWS主控窗体(本系统中称之为控制面板)的控制下,由事件驱动运行。

7、出错处理

本系统中,出错主要是由于数据库操作失误引起软件运行出错,其它出错可能不大,故出错处理只是简单的WINDOWS风格的告知窗口,并由系统处理出错情况。

8、安全保密设计

在软件的一级采用帐号密码、权限控制、审计跟踪(可选)三种方式进行安全保密。

文档号IM 00103

详细设计说明书

1、引言

1.1 编写目的:在概要设计的条件下,继续工作,为编码人员提供编码依据,同时也会测试维护人员提供依据。

1.2 项目背景

作为自由软件的一个项目。

1.3 定义

本文档格式按参考资料①P.483

1.4 参考资料

①郑人杰、殷人昆、陶永雷《实用软件工程(第二版)》清华大学出版社 1997.4

②需求规格文档说明书 文档号IM00101

③详细设计说明书 文档号IM00102

2、总体设计

2.1 要求概述

2.2软件结构

3、程序描述

3.1 录入修改功能模块

3.1.1功能:对记录数据库进行插入和修改操作

3.1.2性能:要求对响应:响应时间不超过1秒

3.1.3 输入项目:①原始数据

②修改信息

3.1.4输出项目:①完成信息 ②出错信息

3.1.5 并法 无特殊并法

3.1.6 程序逻辑

3.1.7接口:用户界面设计

3.1.8测试要点:①对输出信息是否及时输出,输出内容是否正确的测试

②对输入信息的完整性约束条件的测试

3.2 查询模块

3.2.1功能:根据用户给出条件查询记录Drs中的信息,显示查询结果,并可打印查询结果

3.2.2性能:①查询过程不超过2秒钟,尽量缩短查询时间

②给出适当的出错控制

3.2.3输入项目

①查询条件

②查询系统

3.2.4输出项目

查询结果、报表

3.2.5并法 无特殊并法

3.2.6程序逻辑

3.2.7接口

界面设计

3.2.8测试要点

①SQL语句生成机构的健壮性,是否会产生不可执行的SELECT语句,引起查询失败,系统出错。 ②报表生成机构是否会显示查询的手段。

3.3安全设置模块

3.3.1功能:

①登录帐号和密码程序

②帐户权限的范围控制

③控制是否隐蔽部分内容

注:本功能模块只允许admin帐号以及admin授权帐号管理

Ⅰ、帐号密码:每用户均需一注册的帐号及相应密码进行登录,系统有管理员帐号admin,初始密码是123456。

Ⅱ、权限控制,设有0~4级权限。权限的控制程度为功能模块,用户可根据实际情况设定权限的实际权限。

Ⅲ、跟踪审计,可选功能,功能为记录用户登录情况和操作情况。

3.3.2性能

要求各项功能设置即时生效

3.3.3 输入项目

安全设置为有关信息及安全设置的更改信息

3.3.4输出项目

3.3.5程序逻辑

3.3.6界面设计

3.3.7 测试要点:

①各种安全设置是否生效

②安全设置可否保存

3.4 系统设置模块

3.4.1 功能

1 系统界面背景与色彩设置

2 闹铃提醒功能

3 记录字段修改,4 即记录数据库元数据的修改

5 历史记录设定

3.4.2 性能

要求 完成时间不超过2 sec

3.4.3 输入项目

系统设置信息

3.4.4 输出项目

3.4.5 程序逻辑

3.4.6 界面设置

3.4.7 测试要点

1 各项设置是否生效

2 设置可否保存

3.5系统启动流程

3.6 系统界面设计


第二篇:从需求分析走向概要设计


从需求分析走向概要设计

王青 2007-07-28

在软件过程中,需求分析和概要设计是两个极其重要的阶段。需求分析是概要设计的依据,而设计则是需求自然的逻辑延续。从需求分析走向概要设计,就是我们从待解决问题的领域走向解决方案的领域,也就是我们从客观的现实世界走向主观的计算机待建系统世界的过程。为了使得大家对这一过程的目的、原则和具体工作有较为清楚的认识,特阐述以下内容与大家讨论。凡以下之内容,均系一家之言,不妥之处,敬请指正。

软件工程的方法学

方法学是指导我们解决问题的原则,它是我们对于具体问题解决方案的哲学基础,是我们思考问题,解决问题的方式方法。下面的一些方法学是软件工程的理论基础和逻辑起点,它们在软件工程的具体方法、规则和关键活动域中都有体现。了解这些方法论,有助于我们加深对软件工程的理解;同时在我们优化软件工程的活动中,对它们的了解和应用更会使我们的工作事半功倍。

? 分治法:将大的问题分解为小的问题,从而缩小问题的规模,降低问题的复杂度,减少风险。 ? 逻辑完整性:所有的活动和所有的制品,都有其逻辑上的起点和支撑点;同时,也都有其逻辑上相应的结果。

? 可管理:所有的活动和制品都应当能够被控制和调整。

? 文档化(documented):将不可见的活动和思维成果外化为具体的文档。

? 敏捷与MDA:敏捷的原则在于够用就好;而MDA立足于用模型取代部分文档,增强设计的可追溯性与可重构性。

软件工程的这些方法学于实践当中体现为软件过程,而软件过程的实施则依靠管理和组织的保障,在此限于篇幅不再赘述。

需求分析的制品

需求分析的过程是对现实世界中的待解决问题的建模过程,同时也是深入剖析待建系统的过程。它的成果通常包括:

? 一组Use Case:通过对前置条件、后置条件和事件流的描述来清楚的界定系统使用者对于系统的功能性需求。

? Domain Model:明确待建系统中的业务实体以及它们之间的关系

? SRS/ARS (Software/Application Requirements Specification):综述待建系统的目的、功能性需求、接口/界面需求、约束以及非功能性需求。

概要设计的制品

概要设计就是在需求分析成果的基础之上,运用软件设计的原则、模式、惯例和经验,提出问题的解决方案,并明确界定待建系统的结构、接口和界面。在概要设计结束时,待建系统的技术架构、部署图、组件的划分、各个组件的外部接口、用户界面(静态原型)、持久化方案等设计要点都已经确定,系统的表示层,业务逻辑层和数据层的解决方案也已经明确。我们通常用下面的这些制品来描述我们概要设计的结果:

全局制品

Physical Architecture Diagram

系统的物理结构,包括网络环境和服务器分布:

从需求分析走向概要设计

图表 1 系统物理架构图

Technical Architecture Diagram 系统的层次结构,以及各层次所使用的具体技术:

从需求分析走向概要设计

图表 2 系统技术架构图

Installation Package Directory 系统安装包的目录结构:

图表 3 系统安装包目录结构

Deployment Diagram 系统中的各个模块的部署情况:

从需求分析走向概要设计

从需求分析走向概要设计

图表 4 系统模块部署图

表示层制品(针对Web Application) Sitemap

图示待建系统界面由哪些页面构成,以及它们间的层次与导航关系:

从需求分析走向概要设计

图表 5 Sitemap

Static- Prototype

一组静态html页面用以说明定义待建系统的最终用户界面,参考附件:prototype.zip

其它

虽然表示层的技术相对简单,但是如果用户有RIA(Rich Internet Application)方面的需求,则通常需要在客户端实现一些较为复杂的逻辑(表示逻辑不是业务逻辑!);此时我们应该对这些需求进行设计,用到的制品类似于在下面的业务逻辑层和数据层中罗列的制品;但是,必须注意到客户端技术的特殊性,例如:脚本语言和沙箱模式。

业务逻辑层制品

Components Diagram

系统中各个包中所有的公有类

从需求分析走向概要设计

图表 6 组件图

Component Interface Diagram 系统中每个包的对外接口

从需求分析走向概要设计

图表 7 组件接口图

Component Requirements Specification

组件需求规格说明书,用以明确每一个组件的设计需求,作为下阶段详细设计的一个重要输入,参见附件:

Sequence Diagrams

时序图,针对每个用例,图示系统如何实现这个用例,满足用户的需求

从需求分析走向概要设计

图表 8 系统时序图

数据层制品

Entity Relationship Diagram

数据库设计的ER图:

从需求分析走向概要设计

图表 9 数据库设计ER图

DDL Script

数据定义脚本:根据技术架构中选定的数据库管理系统,将ER图具体化为sql脚本文件,参见附件

Communication Data Schema

数据交换schema,系统与其它系统交换业务数据的时候(EDI)需要的数据模式,依据所利用的数据描述技术的不同而不同,通常是XML的schema,也就是xsd文件,参考附件: C-Schema_example.xsd

在工程实践当中为了查阅和评审的方便,我们通常将所有上述制品集中于《概要设计》(High Level Design Specification)和(Data Dictionary)文档中,并同时分别独立保留和管理每份制品。

其它概要设计阶段的制品

测试工作域制品

Test Plan

测试计划,参考附件: Test Plan.xls

Test Data

测试数据,参考附件: Test Data.doc

管理工作域制品

Software Project Plan (updated)

更新已有的SPP,对详细设计阶段的工作进行细致的定义和安排

概要设计工作流

下面的活动图描述了概要设计阶段的各项工作,请参考附件中的模型文件:HLD_Process.mdl,模型中对于每个工作有更为详细的介绍(注意活动的documentation)。

从需求分析走向概要设计

更多相关推荐:
高科技助残就业培训受益残疾人就业状况及需求分析

高科技助残就业培训受益残疾人就业状况及需求分析[摘要]就业是民生之本,是关乎社会稳定、经济发展的重要事项,对于残疾人来说更是如此。在当今残疾人普遍就业难和就业层次较低的严峻形势下,通过调查分析残疾人的就业方式、…

软件工程师职业发展的可行性与需求分析

软件工程师职业可行性与需求分析报告职业定义软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。一般可以分为系统软件工程师,…

完整培训需求分析报告

培训需求分析报告培训需求分析报告一、目标:“信誉第一,客户至上,人才兴邮”二、目的:1.当今经济社会中,服务占有重要的地位。无论在传统的服务性行业还是制造业领域,人们都把创造增值性的服务当作竞争优势的重要手段.…

IT人员现况及需求分析

IT人员每天该做的事分类:杂侃1、总结自己一天任务的完成情况最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多2、考虑自己明天应该做的主要工作把明天要做的事情列出来,并…

医院门诊系统需求分析

医院门诊管理系统需求分析一、设计概述科技进步已经将人类带入了全新的信息化时代,计算机和网络已成为人们经营和管理各种企业不可缺少的工具。随着各类新疾病的发现,各种新药物的研发,医生的日常工作就随之显得更加复杂。《…

体育休闲与户外运动的市场需求分析

体育休闲与户外运动的市场需求分析1体育休闲与户外运动的基本概念的辨析1.1户外运动的定义20xx年,时任国家登山管理中心户外运动部主任的李舒平在“登山户外运动在户外运动中的研究与对策”一文中提出:“户外运动是一…

企业·财务人员的需求分析

企业财务人员的需求分析以下分别是ACCA资深会员太古资源上海有限公司中国区财务总监、亚旗技术服务集团有限公司财务总监、中国东方航空内控管理部经理以及中智人力资源薪酬绩效中心运营总监对外企、国企、民企的财会人员职…

用户需求分析报告(范本)

用户需求分析报告范本11需求分析报告111引言当决定要开发一个信息系统时首先要对信息系统的需求进行分析需求分析要做的工作是深入描述软件的功能和性能确定软件设计的限制和软件同其他系统元素的接口细节定义软件的其他有...

软件需求分析报告实例

需求分析说明书1引言311编写目的312项目风险313预期读者和阅读建议514产品范围515参考文献52系统总体概述621目标622用户类和特性723运行环境7231硬件环境7232软件环境724设计和实现上的...

用户需求分析报告(范本)

window命令大全11需求分析报告111引言编写目的阐明编写需求分析报告的目的项目背景应包括a项目的委托单位开发单位和主管部门b该软件系统与其他系统的关系名词解释列出文档中所用到的专门术语的定义和缩写词的原文...

项目需求分析报告(范本)

生鲜行业项目需求分析报告编号00000001序号908020xx342343234文档作者项目经理日期日期日期日期部门主管管理员修订记录页第1目录1引言4111213142编写目的4项目背景4定义4参考资料4概...

需求分析报告怎么写

需求分析报告软件需求分析报告模板精选主要参考红色部分写作时主要用用例图和类图做为辅助说明11引言引言是对这份软件产品需求分析报告的概览是为了帮助阅读者了解这份文档是如何编写的并且应该如何阅读理解和解释这份文档1...

需求分析(71篇)