软件工程实验指导书
Electronic Card Management System,电子名片管理系统
1
实验一 撰写可行性研究报告
实验目的
掌握可行性研究的步骤,练习撰写可行性研究报告。 实验工具
Word2000/2003 实验内容
1.分析问题描述,给出问题定义;
2.进行可行性研究,使用Word撰写可行性研究报告.
实验要求
1.硬件基本配置:Intel Pentium 120或以上级别的CPU,大于16Mb的内存。 2.软件要求:Windows98/2000/XP操作系统,Office 2000/2003系统程序. 3.实验学时2学时。 4.写出实验报告。
实验步骤 步骤1:引言 1、编写目的
随着社会发展的日新月异,商业来往日渐广泛,人们之间的交往也日益频繁,于是,人们手中便出现了名目繁多的通讯录、地址录、名片夹等对交友或客户进行管理的工具,但是一张张名片上的信息虽然不多,却占据了很大的空间;同时,这些传统的手动管理方式存在着不易更新、不易存放、容易丢失、难以备份等重大缺陷;而建立自己的电子文档对名片进行管理虽然克服了以上的缺点,但查询效率低下,特别是当数据量十分庞大时,劣势更加明显.随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及。因此开发一个既可以存储信息,又可以进行更新、查询等功能,同时价格又能为广大消费者接受的多功能电子通讯录就显得十分必要。 2、项目背景
项目名称定为:电子名片管理系统( ECMS Electronic Card Management System)。分为四个子功能模块:密码管理模块、更新模块、查询模块和数据导入/导出模块。本项目设计过程中可以参考大量基于Windows系统的数据库管理系统。 3、术语说明
ECMS:Electronic Card Management System,电子名片管理系统 OA:办公室自动化 MIS:管理信息系统
Data processing:数据处理
Transaction processing:事务处理 Data processing cycle:数据处理流程 Data acquisition:数据采集
Data processing system security:数据处理系统安全性 Data Dictionary:数据字典 4、参考资料
参见本指导书后的“附录”。
2
步骤2:可行性研究的前提 1、基本要求
电子名片管理系统( ECMS)应便于对名片进行分类和管理,提高工作效率,便于操作,能有效地对数据进行更新、查询,并能在一定程度上实现自动化。 (1)功能
ECMS系统的主要功能为:数据更新、数据查询、密码管理和数据导入/导出。
数据更新功能分为三部分:数据添加、数据删除和数据修改。数据添加功能提供便捷的录入界面,通过应用程序将原始数据追加到数据库中。数据删除功能将满足用户要求的相应记录从数据库中删除。数据修改功能允许用户对他所指定记录的相关信息进行修改。
数据查询功能允许用户进行两种方式的查询:记录浏览(不构造任何查询条件)和条件查询。记录浏览功能可以方便快捷地浏览全部记录.条件查询允许用户构造各种组合条件来 处理所需信息。同时可对满足条件的信息进行报表生成和打印输出。
密码管理功能允许合法用户对密码进行修改。
数据导入 /导出功能允许用户将全部记录导出至文曲星、商务通或其他存储设备中,也可以将上述设备中的数据信息导入至本系统的数据库中。
根据用户的需要方式,打印出名片信息. (2)性能
方便快捷有效地完成名片管理的各项工作,录入数据合法性校验程度高,数据查询速度快。
(3)系统的输入
商业往来过程中交流的各种名片所包含的信息。 (4)系统的输出
查询的结果和各种类型的报表。 (5)安全和保密要求
系统对不同权限的用户提供不同的功能模块,对历史数据的更改和新数据的添加只有一定权限的用户才能进行操作,一般的用户只能进行查询操作。对数据库的关键数据应要求保密。
(6)完成期限要求
本学期实验课程的最后一个课时。 2、开发目标
系统的开发目标应考虑如下因素: • 人力与设备费用的相对减少; • 处理速度的提高; • 控制精度的提高; • 人员利用率的改进。 3、具备条件
项目开发中所具备的条件、假定和所受到的,如: (1)所建议系统运行寿命的最小值
系统运行寿命的最小值应达三年。 (2)进行系统方案选择比较的时间
系统方案选择比较的时间为一个月。
(3)硬件、软件、运行环境和开发环境方面的条件
硬件环境:
• PII或更高档微机,笔记本电脑
3
• 运行时内存要求: 1MB; • 安装所需硬盘: 5MB; • 打印机:可选。 软件环境:
• 中文 Windows98/2000/XP • 英文 Windows98/2000/XP • Windows NT 4.0 (5)可利用的信息和资源
可参考已有的应用程序和数据库管理系统。 (6) 系统投入使用的最晚时间
该门课程实验课程完成的时间. 4、进行可行性研究的方法
可行性研究采用的方法如下: (1)客户调查 (2)专家咨询
(3)市场相关产品、同类产品调查 5、评价尺度
系统进行评价时所使用的主要尺度为各项功能的优先次序、开发时间的长短及使用中的难易程度.
步骤3:对现有系统的分析
我们通常使用的通讯录、名址录、名片夹等管理工具上的信息虽然不多,累积起来占据的空间却很大;同时,这些传统的手动管理方式存在着不易更新、不易存放、容易丢失、难以备份等重大缺陷;而自己建立简单的电子文档对名片进行管理虽然克服了以上的缺点,但查询效率较低,特别是当数据量十分庞大时,劣势尤其明显。随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及。
步骤4:所建议系统的技术可行性分析 1、对所建议系统的简要描述
ECMS系统采用常规的数据库管理方法,根据名片信息管理的特点对数据库操作,比如对数据的增加、修改、删除、打印和输出等给予了优化。 2、与现有系统比较的优越性
ECMS系统有利于数据的集中、有效管理.与手动管理方式相比,占 据空间 小,易更新,易备份;与自建文档相比可以高效的实现组合查询;与商务通相比功能更强,价格更能为大众所接受。
ECMS系统增强了系统的灵活性。当原始数据发生变动时,应用程序可以对数据库稍作修改即可使数据及时反映最新情况,如某个客户的联系电话发生变动,用户只需定位至该项记录并加以修改即可。
ECMS系统能够较好地保证数据库的安全.建立用户并为之分配密码和操作权限,这样,任何用户只能在他的权限范围内对数据库进行操作。 3、采用建议系统可能带来的影响
采用 ECMS系统将大大提高用户查找相关信息的命中率,有利于决策优化及提高办公效率。同时本系统有利于节省办公用品,进一步减少经费支出。 4、所建议技术可行性分析
4
本系统为一个数据库管理系统,现有技术已较为成熟,估计利用现有技术应完全可以达到功能目标;同时,考虑到开发期限较为充裕,预计可以在规定期限内完成开发.
步骤5:所建议系统的经济可行性分析(投资和效益分析) 1、支出
(1) 基建投资 硬件设备:PC机
软件: Window98,Visual Basic 6。0,Access2000等 (2)其它一次性支出 软件设计和开发费用. (3) 经常性支出 软件维护费用。 2、效益
进一步实现办公自动化,减少人力投资和办公费用,极大提高办公效率。 3、投资回收周期
根据经验算法,收益的累计数开始超过支出的累计数的时间为两年。
步骤6:社会因素方面的可行性 1、法律方面的可行性
新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家和法律。 2、使用方面的可行性
新系统的研制和开发充分考虑用户的业务往来、管理流程和人员素质等,从而能满足使用要求.
•步骤七:结论
结论意见是:经上述可行性分析,系统研制和开发可以立即开始进行。 思考题
• 可行性研究的目的是什么?
• 可行性研究阶段的结束标准是什么? • 简述可行性研究的步骤.
5
实验二 撰写需求规格说明书
实验目的
掌握需求分析的步骤,练习撰写需求规格说明书。 实验工具
Word2000/2003 实验内容
1、需求分析方法;
2、绘制数据流图,使用Word撰写实验报告。 实验要求
1、硬件基本配置:Intel Pentium 120或以上级别的CPU,大于16Mb的内存。 2、软件要求:Windows98/2000/XP操作系统,Office 2000/2003系统程序。 3、实验学时2学时。 4、写出实验报告. 实验步骤 步骤1:引言 1、编写目的
编写目的参见实验一的“编写目的”。 2、项目背景
项目背景参见实验一的“项目背景\". 3、术语说明
术语说明参见实验一的“术语说明”. 4、参考资料
参考附录。 步骤2:项目概述
1、待开发软件的一般描述
本软件旨在为商业人士及企事业单位中负责公共关系等社会交往频繁的人士提供一个功能齐全、使用方便的个人社会关系数据库管理系统,以替代传统的手工通讯录。 2、待开发软件的功能
身份验证
通过 不通过
初始化 重新验证 失败
消息循环 非正常推出
退出 查看导密
浏查更详入码览细询新导管资出理 6 料非正常退出
非法用户 用户
密码 图 1 系统功能模块结构图
数据记录 电子名片管理系统 报表 打印机 外设 图2 系统顶层数据流图
0层数据流图
密码 外设 密码 新密码 数据记录 不合法信息 密码验 消息处用户 理+2 证1 合法用户 报表 密码 打印机 图3 系统0层数据流图
报表 新密码 2.1
密码 2.4
管理 报表
密码 密码管理消息 生成
报表生成消息 2.5 用户合法信息 信息 2.2 信息浏览消息 交互 浏览 通讯记录 信息 信息查询消息 数据导出导入消息 信息修改消息 2.6 通讯记录 信息 2.7 2.3 查询 信息 通讯记录 数据 修改 出入 通讯录 数据记录 修改后的信息 7 通讯记录
图4 系统1层数据流图
在本规格说明书中,我们只给出了顶层、0层和1层的数据流图,如果有需要还可以继续求精。 3、用户特征
使用本软件的用户群非常广泛,它非常适用于具有如下特点的人员:
• 工作中与外界联系非常频繁; • 工作比较繁忙,惜时如金;
• 与外界的联系成为开展工作的关键因素,相关信息丢失或损坏可能带来重大损失; 针对如上用户特点,本软件可以迅捷、准确、方便地提供个人社会关系数据库管理系统的各项管理功能,同时力求为用户提供方便、高效、实用的功能。 4、运行环境 (1) 硬件环境
PII或更高档微机,笔记本电脑; 运行时内存要求: 1MB; 安装所需硬盘: 5MB; 打印机:可选。 (2) 软件环境
中文 Windows98/2000/XP等操作系统; Windows NT 4。0。 5、条件与
考虑到本软件使用的广泛性,在设计时应注意软件的可移植性,能方便地将其移植到电子记事本、掌上电脑等硬件平台(不做严格要求)。因本软件管理的信息属个人隐私信息,必须注意信息的安全防范。同时应以标准的数据格式来实现,以方便数据的共享。
步骤3:功能需求 1、功能划分
本软件具有如下主要功能:
• 浏览功能
• 查看详细资料功能 • 查询功能 • 增加功能 • 删除功能 • 修改功能 • 生成报表功能 • 打印功能 • 密码管理功能 • 身份验证功能
• 数据的导入和导出功能 • 帮助功能 2、功能描述 (1) 浏览功能
• 以列表的方式列出所有记录(每项记录只列出姓名、电子邮件、单位电话、家庭电话、移动电话域);
8
• 可选定一项记录,显示该记录的所有域; (2) 详细查看功能
• 显示用户选定记录的详细信息; (3) 查询功能
• 姓名匹配查询;
• 单位及部门匹配查询;
• 电话号码匹配查询(包括多个域); • 精确查询或模糊查询; • 单项查询或组合查询; (4) 增加功能
• 增加一条新的记录; (5) 删除功能
• 删除一条记录,并且提供确认机制; (6) 修改功能
• 修改任意一条记录的所有域,其中姓名不能为空; (7) 生成报表功能
• 对记录可按电话目录方式、卡片式或列表方式生成报表; (8) 打印功能
• 选择特定记录(一条或多条),根据选定的报表方式进行打印; (9) 密码管理功能
• 完成密码的设置; (10)身份验证功能
• 对登录用户的身份进行验证,通过者才可进入系统。 (11)数据的导入和导出功能
• 将外部文件导入本系统中;
• 将本系统中的数据导出到外部设备中; (12)帮助功能
• 为用户提供使用帮助。
步骤4:外部接口需求 1、用户界面
采用 Windows的通用图形界面,对用户友好,且必须对鼠标和键盘提供支持,界面的设计应遵循如下规则:
• 界面要具有一致性,界面规范应遵循 MS Windows软件界面的规范; • 提供简单的错误处理;
• 提供信息反馈,用多种信息提示用户当前软件运行状态、软件界面元件的功能; • 操作可逆,其动作可以是单个的操作,或者是一个相对的操作序列; • 设计良好的联机帮助;
• 显示启动画面,画面简洁明快,富有现代气息,不能太过花哨;
• 应遵循国家关于计算机词汇的标准,用词应当精炼准确,没有歧义,图形的意义明朗。 可以参照如下的界面:(1)登陆界面,如图5;(2)系统主界面,如图6
9
图5 系统登陆界面
图6 系统主控界面
2、硬件接口
不做要求。 3、软件接口
运行于 Windows2000/XP,且具有WIN32 API的操作系统之上。 4、通信接口
本软件应提供Web浏览器的支持(不做强行要求)。 5、故障处理
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损.
步骤5:性能需求 1、数据精确度
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。
查询时应保证查准率,查到的记录应与给定的单项或组合查询条件完全匹配. 2、时间特性
一般操作的响应时间应在 1~2秒内,对软磁盘和打印机的操作,以及数据的导入和导出也应在可接受的时间内完成。
10
3、适应性
满足个人使用的需求。
对前面提到的运行环境要求不应存在困难.
步骤6:软件属性需求 1、正确性
要求交付的软件达到预期目标,运行时基本无错误。 2、可靠性
在一般条件下,应不出故障。 3、效率
对于浏览、查询、增加、删除、更新和密码设置等一般操作,要求及时响应,在 1~2秒内。
4、完整性
要求能在发生意外(如掉电)的情况下,保证不丢失数据.另外,还要保证数据的一致性要求. 5、易使用性
要求能尽量为用户的使用提供方便,软件的界面符合目前流行的界面规范。 6、可维护性
要求本软件在运行中发现错误时,能快速、准确对其进行定位、诊断和修改. 7、可测试性
设计时尽可能减少测试本软件的各项功能所需的工作量. 8、复用性
设计时应采取模块化的方法进行设计,对系统内各模块接口尽可能达到高内聚、低耦合的程度,以提高各模块的复用性. 9、安全保密性
要求提供身份验证,只允许通过身份验证的用户使用本软件. 对于三次密码输入不正确的,应强行关闭. 10、可理解性
对于本软件提供的各种菜单命令,各种信息提示,应易于用户理解。 11、可移植性
暂时不做要求。 12、互联性
要求提供数据的导入和导出接口,以易于同其他系统的连接.
步骤7:其他需求
无其他需求。
步骤8:数据描述
1、静态数据 (名片信息) 姓名 单位 职位 部门 单位地址
Name Company Job Department Add_com 电子邮件 单位主页 个人主页 昵称 性别 11
E_Mail Homepage_O Homepage_H Nickname Sex 单位邮编 单位电话 单位传真 家庭地址 家庭邮编 家庭电话 寻呼 手机 Postcode_O Tel_O Fax_O Add_H Postcode_H Tel_H BP Tel_mov 生日 日历类型 爱好 特长 摘要显示 最后更新时间 备注 Birthday DateType Hobby Forte Abstract UpdateTime Memo 2、动态数据
输入数据:菜单选项,查询关键字,新建记录项,导入文件。 输出数据:由查询关键字确定的数据库记录集合或全部记录。 内部生成的数据:中间查询结果。 3、数据库描述
本软件采用 ODBC数据库,可选ACCESS,SQLServer等数据库. 4、数据词典
根据上述数据流图、层次方框图,并参见项目概述中的待开发软件的功能,其中涉及到的数据定义如下:
• 姓名 =1{汉字}10|1{字母}20
• 单位名称 =1{汉字}40|1{字母}80 • 职位 =1{汉字}10|1{字母}20 • 部门 =1{汉字}40|1{字母}80
• 单位地址 =1{汉字|数字}40|1{字母|数字}80 • 单位邮编 =1{数字}8
• 单位电话 =1{数字|Space|—}20 • 单位传真 =1{数字|Space|—}20
• 家庭地址 =1{汉字|数字}40|1{字母|数字}80 • 家庭邮编 =1{数字}8
• 家庭电话 =1{数字|Space|-}20 • 手机 =1{数字|Space|—}15 • 寻呼 =1{数字|Space|-}20 • E-Mail=1{字母|。|@|数字}20
• 单位主页 =1{字母|。| 数字|:|/}40 • 个人主页 =1{字母|。| 数字|:|/}40 • 昵称 =1{汉字}10|1{字母}20 • 性别 =男|女
• 生日 =1{数字|-}10 • 日历类型 =公历|农历
• 爱好 =1{汉字}100|1{字母}200 • 特长 =1{汉字}100|1{字母}200
• 摘要显示 =1{汉字}100|1{字母}200 • 最后更新时间 =1{数字|—}10 • 备注 =1{汉字|字母}500
(还需写出上述数据流图的数据字典)
12
5、数据采集
通过身份验证的用户,采用键盘和鼠标直接输入或者从外部文件导入数据。
步骤9:附录
无。 思考题
• 需求分析的基本任务是什么?需求分析的结束标准是什么? • 需求分析的基本步骤是什么?
• 什么是数据流图,绘制数据流图的基本步骤是什么?
13
实验三 撰写概要设计说明书
实验目的
掌握概要设计的步骤,练习撰写概要设计说明书。 实验工具
Word 2000/XP 实验内容
1.概要设计方法;
2.绘制数据流图,使用Word撰写实验报告。 实验要求
1.硬件基本配置:Intel Pentium 120或以上级别的CPU,大于16Mb的内存。 2.软件要求:Windows98/2000/XP操作系统,Office 2000/2003系统程序. 3.实验学时2学时。 4.写出实验报告。
实验步骤 步骤1:引言 1、编写目的
编写目的参见实验一的“编写目的”. 2、项目背景
项目背景参见实验一的“项目背景\". 3、术语
术语说明参见实验一的“术语说明\"。 4、参考资料
参考资料参见书后“参考文献\"。
步骤2:任务概述 1、目标
本电子名片管理系统软件将提供一个既可以存储信息,又可以进行更新、查询,同时价格又能为广大消费者接受的多功能电子通讯录。 2、运行环境 硬件环境:
• PII或更高档微机,笔记本电脑 • 运行时内存要求: 1MB; • 安装所需硬盘: 5MB; • 打印机:可选。 软件环境:
• 中文 Windows98/2000/XP • Windows NT 4.0 3、需求概述
本软件主要有以下几方面的功能: • 浏览功能
以列表形式显示全部记录; • 详细查看功能
14
可在浏览状态下点击某条记录,显示其全部信息; • 条件查询功能
用户可任意选择字段(如姓名、电话号码、电子邮件地址等),并针对该字段构造出组合查询条件,进行匹配查询; • 修改功能
修改任意字段,姓名不能为空; • 增加功能
增加一条或多条新的记录; • 删除功能
删除一条或多条记录; • 密码管理
登录系统后,用户可以随时对密码进行更改; • 报表生成
可根据提供的模板将查询结果或选中的数据生成多种形式的报表; • 打印功能
将生成的报表或所选中记录进行打印输出; • 导入或导出
将全部数据或选中数据导出至存储设备中; 将数据从存储设备导入至本系统中; • 身份验证
进入系统时,对用户的身份进行检查,只允许合法用户登录系统; • 帮助功能
为用户使用本系统提供帮助。 • 4、条件与
本系统更为理想的选择是与其他办公自动化套间集成起来,作为其中的一个组件,在功能方面可以考虑由多用户分别进行管理,系统可以为级别不同的用户设置不同的权限等,同时 应进一步提高系统的安全保密性。
步骤3:总体设计 1、处理流程
• 系统启动时,自动激活身份验证模块; • 通过身份验证后,对系统初始化.根据系统配置文件将数据库导入,并设置各全局变量;
• 系统进入消息循环状态,通过事件驱动机制激活各功能模块,并执行指定模块; • 各项功能执行完毕后重新进入消息循环状态; • 由关闭系统事件激活关闭系统模块,退出系统. 2、总体结构和模块外部设计
系统总体结构如图 12—5所示。各模块设计如表12-1所示。
15
身份验证 通过 不通过 重新验证 失败 非正常退出 退出 导密 更入码新导 管出理 非正常退出 图 7 系统总体结构构成 初始化 消息循环
浏览查看详细资料查询
上述模块结构对应的模块功能如下: • 3、功能分配
(1) 系统控制功能
• 初始化模块( M1。1); • 关闭系统模块( M1.2); • 系统功能模块( M1.3); (2) 浏览功能
• 浏览模块( M2。1); • 刷新浏览模块( M2.2); • 基本资料模块( M3.1); • 刷新基本资料模块( M3.2); • 刷新详细资料模块( M4.2); (3) 查看详细资料功能
• 详细资料模块( 4.1) • 刷新详细资料模块( 4.2) • 基本资料模块( M3。2); (4) 条件查询功能
• 条件查询模块( M5.1); • 刷新浏览模块( M2.2); • 刷新基本资料模块( M3.2); (5) 增加功能
• 增加模块( M6。1); • 刷新详细资料模块( M4.2); • 刷新基本资料模块( M3.2); • 刷新浏览模块( M2.2);
16
(6) 删除功能
• 删除模块( M6.2); • 刷新浏览模块( M2。2); • 刷新基本资料模块( M3.2); • 刷新详细资料模块( M4.2); (7) 修改功能
• 修改模块( M6.3);
• 刷新浏览模块( M2。2); • 刷新基本资料模块( M3。2); • 刷新详细资料模块( M4。2); (8) 报表生成功能
• 报表生成模块( M7); (9) 打印功能
• 打印模块( M8); (10) 导入或导出功能
• 导入或导出模块( M9); (11) 密码管理功能
• 密码管理模块( M10); (12) 身份验证功能
• 身份验证模块( M11); (13) 帮助功能
• 帮助模块( M12)。
步骤4:接口设计 1、外部接口 (1) 用户界面
采用目前非常流行的 GUI,即诸如窗口、菜单、对话框、滚动条、快捷方式等,其主控界面如下图所示。
17
图8 主控界面图(参考界面)
(2) 软件接口
运行于 Windows98及更高版本具有WIN32 API的操作系统之上. (3) 硬件接口
暂不做要求。 2、 内部接口
• 初始化模块:系统初始时由操作系统调用,执行完毕后进入消息循环状态; • 关闭系统模块:由系统功能模块调用,执行完毕后返回操作系统;
• 系统功能模块:接收系统功能区的相应消息,启动浏览、查询、增加、删除、修改、打印、报表生成等模块;
• 浏览模块:由相应消息驱动,完成对浏览区的直接消息响应功能,可能会调用刷新浏览模块;
• 刷新浏览模块:依据当前数据刷新浏览区;
• 基本资料模块:由相应消息驱动,完成对基本资料区的直接消息的响应功能,可能会调用刷新基本资料模块;
• 刷新基本资料模块:依据当前数据刷新基本资料区; • 详细资料模块:由相应消息驱动,显示记录的详细资料; • 刷新详细资料模块:依据当前数据刷新详细资料区; • 条件查询模块:完成查询功能; • 增加模块:完成增加功能; • 删除模块:完成删除功能; • 修改模块:完成修改功能;
• 报表生成模块:完成报表生成功能; • 打印模块:完成打印功能;
• 导入或导出模块:完成与外设之间的导入或导出功能; • 密码管理模块:完成对密码的管理功能; • 身份验证模块:完成对用户的身份验证功能。 • 帮助模块:为用户提供帮助功能。
步骤5:数据结构设计 1、逻辑结构设计
(1) 数据库的命名按照Name_Card Tabel的方式定义; (2) 配置文件 :保留上次程序运行结束后的相关状态 ; (3) 定义全局变量 。 2、物理结构设计
数据库 Name_Card的文件物理结构:采用顺序结构的记录文件。 3、数据结构与程序的关系
• 系统功能模块:利用鼠标及键盘事件来激发; • 条件查询模块:访问后端数据库;
步骤6:运行设计 1、运行模块的组合
模块命名方式按照相应模块结合特性制定。命名方式为 Mx和Mx.y,其中数字x相同的模块即为同类模块。
18
2、运行控制
本软件控制流程:先由操作系统启动 M1。1(其中调用M10),通过身份验证后,登录系统,并调用M2.2和M3。3,然后进入消息驱动模式,由相应的消息分别激活M4、M5。1、M5.2、M5.3、M6、M7、M8、M2.1、M3.1、M1.2等模块,其中M1。2将关闭并退出系统。 3、运行时间
各模块运行时间均应控制在 1~2秒内(其中大部分为响应用户的动作).由于系统采用消息驱动方式,将有效提高计算机的利用率。
步骤7:出错处理设计
• 本软件应充分考虑各种系统错误,避免造成数据库系统不一致或损坏; • 本软件提供撤销机制,避免用户因误操作对数据库系统造成破坏; • 采用对话框形式为用户提供警告信息;
• 一些关键性操作(比如删除或修改记录),都应提供确认机制;
步骤8:安全保密设计
• 在用户登录系统时进行身份验证,只允许合法用户进入系统; • 添加导入和导出功能,方便用户对数据进行备份。
步骤9:维护设计
《电子名片管理系统》软件必须按照软件产品设计规范的步骤进行开发,并充分考虑软件可维护性,详细编写各阶段的文档资料,以利于未来版本升级,以及移植等二次开发。 思考题
1。总体设计阶段的基本任务是什么?总体设计阶段的结束标准是什么? 2.说明并比较概要设计说明书和需求分析说明书的内容。
19
实验四 撰写详细设计说明书
实验目的
掌握详细设计的步骤,练习撰写详细设计说明书。 实验工具
Word2000/2003。 实验内容
1、详细设计方法;
2、绘制数据流图,使用Word撰写实验报告。 实验要求
1、硬件基本配置:Intel Pentium 120 或以上级别的CPU,大于16Mb的内存。 2、软件要求:Windows98/2000/XP操作系统,Office 2000/2003系统程序. 3、实验学时8学时。 4、写出实验报告. 实验步骤 步骤1:引言 1、编写目的
编写目的参见实验一的“编写目的”。 2、项目背景
项目背景参见实验一的“项目背景”。 3、术语说明
术语说明参见实验一的“术语说明”。 4、参考资料
参考资料参见书后“参考文献”。 步骤2:总体设计 1、需求概述
本软件主要有以下几方面的功能: • 浏览功能
以列表形式显示全部记录; • 查看详细资料功能
可在浏览状态下点击某条记录,显示其全部信息; • 条件查询功能
用户可任意选择字段(如姓名、电话号码、电子邮件地址等),并针对该字段构造出组合查询条件,进行匹配查询; • 增加功能
增加一条或多条新的记录; • 删除功能
删除一个记录或删除多个记录; • 修改功能
修改全部字段,姓名不能为空; • 密码管理
登录系统后用户可以随时对密码进行更改; • 报表生成
可根据提供的模板将查询结果或选中的数据生成多种风格的报表;
20
• 打印功能
将生成的报表或选中记录进行打印输出; • 导入或导出
将全部数据或选中数据导出至文曲星、商务通或其他存储设备中; 将数据从文曲星、商务通或其他存储设备导入至本系统中; • 身份验证
进入系统时,对用户的身份进行检查,只允许合法用户登录系统; • 帮助
用户的使用提供帮助。 2、软件结构
本软件层次方框图如图9所示。
身份验证
通过 不通过
初始化 重新验证 失败
消息循环 非正常退出
退出 查看导密
浏查更详入码 览细询新导管 资出理料非正常退出
图 9 系统模块构成图
步骤3:程序设计说明 1、模块描述
本软件的详细功能模块图如图10所示。
21
身份验证 通过 不通过 重新验证 失败 初始化 消息循环 非正常退出 浏览查看详细资料退出 查询更新导入导出密码管理2、身份验证模块( M11)
功能:对用户进行身份验证,通过验证则登录系统。 输入项目:输入用户名和密码。 输出项目:无。
存储分配:程序运行需要占用内存约 1MB左右.本模块的界面如图11所示。
3、初始化模块( M1.1)
功能:初始化系统,显示欢迎界面,并使系统进入正常工作状态。 输入项目:配置文件,数据库文件。
输出项目:设置全局变量,浏览区和基本资料区.
非正常退出 增加删除修改导入导出 图10 详细功能模块图
图 11 系统登陆界面
22
存储分配:程序运行需要占用内存约 1MB左右。
测试要点:配置文件或数据库文件损坏,或没有足够内存可供使用时是否正常。 本模块的欢迎界面如图12所示。
图12 登陆欢迎界面
4、关闭系统模块( M1。2)
功能:关闭并退出系统,保留相应状态数据. 输入项目:全局变量。
输出项目:更新后的数据库文件和配置文件。
测试要点:若数据库文件或配置文件不能正常操作,或全局数据已经不一致,怎样处理。 5、系统功能模块( M1。3)
功能:选择各种系统功能。 输入项目:鼠标或键盘事件。 输出项目:无。
本模块的界面如图13~图22所示。控件名称及其功能说明如表1所示.
23
图13 系统主控界面
图14 系统文件菜单
图15 系统编辑菜单
图16 系统视图菜单
图17 系统联系菜单
24
图18 系统工具菜单
图19 系统帮助菜单
图20 系统信息排列方式
图21 系统联系人回收站菜单
图22 系统生成报表菜单
表1 文件菜单控件名称及其功能说明
控件 文件-导入—菜单 文件-导出—菜单 文件-页面设置 文件-打印预览 文件-打印
控件名 mnuFile mnuFileInput mnuFileOutput mnuFilePrePrint mnuFilePrint 25
功能 导入外部数据 将数据导出 设置打印页面属性 预览打印效果 打印报表 文件—退出 控件 编辑—菜单 编辑-撤消—菜单 编辑-剪切-菜单 编辑—复制—菜单 编辑-粘贴—菜单 编辑—全选-菜单 控件 联系人-菜单 联系人-新联系人-菜单 联系人-删除—菜单 联系人—修改-菜单 联系人—保存-菜单 联系人—取消修改-菜单 控件 视图-菜单 视图-工具栏-菜单 视图—状态栏—菜单 视图—详细资料—菜单 视图-浏览-菜单 视图—排列方式-菜单 视图-排列方式—姓名-菜单 视图-排列方式—电子邮件—菜单 视图-排列方式—单位电话-菜单 视图—排列方式—家庭电话—菜单 视图—排列方式-递增菜单 视图-排列方式-递减菜单 视图-刷新-菜单 控件 工具—菜单 工具—密码管理—菜单 工具-联系人回收站—菜单 工具—查询—菜单
mnuFileExit 表2 编辑菜单控件名称及其功能说明 控件名 mnuEdit mnuEditCancel mnuEditCut mnuEditCopy mnuEditPlaster mnuEditSelectAll 控件名 mnuRelation mnuRelationAdd mnuRelationDel mnuRelationModify mnuRelationSave mnuRelationUndo 控件名 mnuView mnuViewTools mnuViewStates mnuViewDetail mnuViewExplore mnuViewStyle mnuViewStyleName mnuViewStyleEmail mnuViewStyleTelO mnuViewStyleTelH mnuViewStyleUp mnuViewStyleDown mnuViewUpdate 表5 工具菜单控件名称及其功能说明 控件名 mnuTools mnuToolsPassword mnuToolsWastebin mnuToolsSearch 26
退出系统 功能 取消上一步操作 将需要的内容剪到剪贴板 将需要的内容复制到剪贴板 将剪贴板中的内容复制到指定位置 选顶页面上的所有记录 功能 添加联系人 删除记录 修改联系人信息 保存信息 取消上一次操作 功能 打开/关闭工具栏 打开/关闭状态栏 显示联系人的详细资料 以列表方式显示联系人的基本信息 设置按何字段排列顺序 按名字字段排序 按电子邮件字段排序 按单位电话字段排序 按家庭电话字段排序 按递增方式排序 按递减方式排序 刷新当前显示的记录 功能 管理用户密码设置 存放被删除的联系人 查找联系人 表3 联系人操作菜单菜单控件名称及其功能说明 表4 视图菜单控件名称及其功能说明 工具-生成报表-菜单 工具—生成报表—电话目录—菜单 工具—生成报表—卡片式-菜单 工具—生成报表—列表式-菜单 mnuToolsReport mnuToolsReportTel mnuToolsReportCard mnuToolsReportList 将联系人信息生成报表 将联系人信息以电话目录方式生成报表 将联系人信息以卡片方式生成报表 将联系人信息以列表方式生成报表 功能 浏览联系人的详细信息 添加新联系人 删除联系人 修改联系人信息 打印报表 预览打印效果 选中数据库中的第一个记录 选择当前记录的前一条记录 选择当前记录的后一条记录 选择数据库中的最后一条记录 查找记录 提供帮助功能 按列表方式显示联系人的基本信息 表6 工具栏控件名称及其功能说明 控件 浏览—按钮 详细信息—按钮 添加—按钮 删除—按钮 修改-按钮 打印—按钮 打印预览—按钮 第一个-按钮 前一个—按钮 后一个-按钮 最后一个—按钮 查找—按钮 帮助-按钮 基本信息—按钮 控件名 cmdPreviw cmdDetail cmdAdd cmdDel cmdModify cmdPrint cmdPrePrint cmdFirst cmdPrev cmdNext cmdLast cmdSearch cmdHelp cmdBaseInfo
6、浏览模块( M2。1)
功能:以列表方式将数据记录显示在浏览区内,并维护窗口中浏览区中信息的更改和刷新。
性能:这是用户使用频率较高的一个模块,对性能要求在 1~2秒内作出反应。 输入项目:鼠标、键盘事件或标准 SQL语句。 输出项目:重新设置的浏览区中信息. 测试要点:对各事件进行测试. 本模块的界面如图13所示.
本界面中的列表框应给出每个联系人的五项基本信息,分别是:名称、电子邮件、单位电话、家庭电话和移动电话。 7、刷新浏览模块( M2。2)
功能:利用全局变量中的信息重新刷新浏览区。 输入项目:将要设置成焦点记录的记录号. 输出项目:设置浏览区.
测试要点:对有效和无效的输入记录号进行测试. 8、基本资料模块( M3。1)
功能:维护窗口中基本资料区中五项信息的更该和刷新。
性能:这是经常使用的一个模块,对性能要求在 1~2秒内作出反应. 输入项目:鼠标或键盘事件.
输出项目:重新设置的基本资料区中信息
27
测试要点:对各事件进行测试。 9、刷新基本资料模块( M3。2)
功能:利用全局变量中的信息重新刷新基本资料区. 输入项目:处理方式(更新或刷新)。 输出项目:设置浏览区和数据库。 10、详细资料模块( M4.1)
功能:显示联系人的详细信息。 输入项目:焦点记录号.
输出项目:下一步将要执行的功能(“确定”、“修改”、“删除”、“打印”)。 测试要点:对各事件进行测试.
本模块的界面如图23所示。控件名称及其功能详见表12-4.
图23 系统详细资料浏览界面
表7 详细资料浏览界面控件名称及其功能
控件 姓名—编辑控件 单位名称—编辑控件 职位-编辑控件 部门-编辑控件 手机-编辑控件 寻呼-编辑控件 家庭电话-编辑控件 单位电话-编辑控件 EMAIL—编辑控件 个人主页—编辑控件
控件名 txtName txtNameO TxtJob TxtDepartment TxtMobile txtBeeper txtPhoneH txtPhoneO txtEmail txtHomepageP 28
功能 输入联系人姓名 输入联系人单位名称 输入联系人职位 输入联系人部门 输入联系人手机 输入联系人寻呼 输入联系人家庭电话 输入联系人单位电话 输入联系人EMAIL 输入联系人个人主页 单位地址—编辑控件 单位邮编—编辑控件 单位主页-编辑控件 单位传真—编辑控件 家庭住址-编辑控件 家庭邮编-编辑控件 昵称—编辑控件 爱好—编辑控件 特长-编辑控件 性别—组合框 生日-年-组合框 生日—月-组合框 生日-日—组合框 日历类型—组合框 txtAddressO txtPostalcodeO txtHomepgeO txtFaxO txtAddressH txtPostalcodeH txtNickname txtHobby txtForte txtSex comboBirthdayY comboBirthdayM comboBirthdayD comboCalendar 输入联系人单位地址 输入联系人单位邮编 输入联系人单位主页 输入联系人单位传真 输入联系人家庭住址 输入联系人家庭邮编 输入联系人昵称 输入联系人爱好 输入联系人特长 输入联系人性别 选择联系人生日的年份 选择联系人生日的月份 选择联系人生日的日期 选择生日所采用的生日类型 11、刷新详细资料模块( M4。2)
功能:重新刷新详细资料。
输入项目:处理方式(修改或刷新)。
输出项目:设置详细资料浏览区和数据库. 12、查询模块( M5)
功能:完成查询功能。
性能:响应时间控制在 1~2秒内. 输入项目:查询条件。
输出项目:标准的 SQL语句,发送设置浏览区命令。 测试要点:测试各种查询方式。
本模块的界面如图4所示.控件名称及其功能略。
图24 系统查询界面
29
13。 修改模块( M6.3)
功能:完成修改功能。 输入项目:焦点记录号。
输出项目:设置数据库和全局变量。
本模块的界面如图23所示。控件名称及其功能略。 14。 增加模块( M6.1)
功能:完成增加功能.
输入项目:鼠标或键盘命令。 输出项目:无。
本模块的界面如图25所示。控件名称及其功能略。
图25 系统增加信息输入界面
15、删除模块( M6.2)
功能:完成删除功能.
输入项目:鼠标或键盘命令。 输出项目:无。 16、报表生成模块( M7)(选做其中一种形式)
功能:生成多种风格的报表。 输入项目:鼠标或键盘命令. 输出项目:生成的报表.
本模块的界面如图26~图28所示.
30
图26 生成报表形式1
图27生成报表形式2
31
图28生成报表形式3
17。 打印模块( M8) (选做)
功能:完成打印功能。 输入项目:报表. 输出项目:无。
本模块的界面如图29所示。
图29 打印设置界面
18、导入模块( M9。1) (选做)
功能:完成数据的导入功能。 输入项目:导入文件。
输出项目:刷新基本资料模块,并设置浏览区。
19、导出模块( M9.2)(选做)
32
功能:完成数据的导入功能。 输入项目:导入文件。 输出项目:无。
20、密码管理模块( M10)
功能:对密码进行设置。
输入项目:鼠标或键盘事件。 输出项目:无。 21、帮助( M12)
功能:提供对电子名片管理系统使用的帮助功能。 输入项目:鼠标或键盘事件。 输出项目:无。
本模块的界面如图33~图34所示。控件名称及其功能略。
图33
33
图34
思考题
• 简述详细说明书的主要内容、基本原则与任务。 • 怎样对详细设计进行复审?
34
建议:
1、 以上给出的方案仅作参考之用,同学们可以根据自己的思想开发类似的管理系统.
2、 学生在开发该项目时,可用类似于windows的界面,这需要从网上下载界面制作组件。
以下给出了主控界面的参考界面:
3、 针对软件工程这门课程的特点,学生不能完全靠实验课的课堂时间来完成本门课程的实
验教学,必须在课后花大量的时间来完成系统的开发工作,课堂时间只能用来熟悉环境、整理文档、师生讨论和资料查询等工作。
4、 在模块说明中,没有做特别注明的为必做功能模块,其他有说明的为选做功能,有多余时
间和精力的同学可以选做.
35
实验五 UML的使用
实验目的
学习使用 Rational Rose 98及以上版本的基本方法。 实验工具
1、Rational Rose 98企业版或以上个版本。
2、Visual Basic 5。0/Visual Basic 6.0/Java/C++等. 实验内容
通过建立电子名片管理系统模型来学习使用 Rational Rose 98。 实验要求
1、硬件基本配置:Intel Pentium 120 CPU或以上级别的CPU,大于16Mb的内存。 2、软件要求:Windows98/2000/XP操作系统,Office 2000/2003系统程序。 3、实验学时4学时。
4、绘制出管理系统各种模型. 实验步骤
步骤1:软件的安装和配置 • 启动 Rational Rose
如果使用 Rose的企业版,则不使用Framework(在Framework Wizard上单击Cancel按钮)。
• 设置默认语言为 Visual Basic
S1 在tool下拉菜单中单击Options; S2 选择Notation 标签;
S3 设置 Default域(单击箭头时下拉菜单可见选择 Visual Basic)。 • 关闭控制焦点
S1 在tool下拉菜单中单击Options; S2 选择图标签。
S3 选中 Focus of Control复选框。 • 显示所有的属性和操作 :
S1 在tool下拉菜单中单击Options; S2 选择图标签。
S3 选中Show all Attributes and Show all Operations复选框。
步骤2:打开 Main Use Case Diagram
通过生成一个 Use Case图来开始为学生注册系统建模。这种图由许多因素、使用案例和这些案例之间的关系构成。首先打开Main Use Case Diagram,其步骤如下:
• 在左边导航栏中单击 Use Case View文件夹旁边的+.
36
• 双击名为 Main的图标打开图形界面。如上图所示。
步骤3:添加 Actor
确定在开发时与系统相互作用的人或事物。对于我们这个问题来说,有四个 Actor,即 Student, Professor, Registrar 和 Billing System。在这一步,确定与系统相互作用的人或事物。步骤如下:
图 12-37
• 从工具条上通过单击选择 Actor图标(人的形状)。 • 单击图形界面放置 Actor。
• 在 Actor处于被选中状态下,输入名字为Student.
• 对其他三个 Actor(Professor, Registrar 和 Billing System)重复以上操作。如图12—37所示.
步骤4:添加 Use Case(用例)
为每一个 Actor确定Use Case。Use Case是系统提供的一项功能.你可以观察每一个Actor,看它们和系统之间是如何通过相互作用来确定Use Case。在我们这个模型中,Student 要做的事情是Register for Courses ,Billing System 接收注册信息.Professor 要做的事情是Request Course Roster ,最后,Registrar 要执行的操作为Manage Curriculum。步骤如下:
图 12-38
1、从工具条中通过单击选择Use Case图标(椭圆形的)。 2、单击图形界面放置Use Case.
37
3、在Use Case处于被选中的状态时,输入名字Register for Courses。
4、对其他的Use Case(Request Course Roster, Manage Curriculum)重复以上步骤.如图12-38所示。
Actor和Use Case之间的联系是画在它们中间的。一个单方向的箭头是用来表示信息传递的方向(显示了是谁创建了信息)。在课程注册系统中,Student 创建了Register for Courses Use Case,这个Use Case又因此与Billing System通信.Professor 创建了Request Course Roster Use Case,Registrar 创建了Manage Curriculum Use Case,其步骤如下:
图 12-39
• 从工具条中通过单击选中单向箭头(箭头形状)。
• 单击 Student Actor并将鼠标拖至Register for Courses Use Case。 • 从工具条中通过单击选择单向箭头。
• 单击 Register for Courses Use Case并将鼠标拖至Billing System Actor。
对其他的联系( Professor Actor到Request Course Roster Use Case,Registrar Actor到Manage Curriculum Use Case),重复以上步骤.如图12-39所示.
注意:如果你在选择单向箭头是始终按住 Shift 键不放,就可以不必每一次都到工具条中去选。
步骤5:创建 Sequence图
Use Case功能可能被显示在一个Sequence Diagram中。Sequence Diagram包括对象以及显示对象之间的行为是如何实现的消息.我们看一看“Register for Courses” 的“Add a Course\" Sequence Diagram的步骤如下:。
图 40
• 在左侧导航栏中,在 Register for Courses 用例上单击鼠标右键出现快捷菜单。
38
• 在 New的子菜单中选择Sequence Diagram。这将在导航栏中添加一个名为New 图的Sequence Diagram。
• 当新的图处于选中状态时,输入名字 Add a Course。如图12-40所示。
然后将向图中添加对象和消息去执行需要的功能。通过双击导航栏中的图来打开图。既然这种情况是由 Student Actor来创建的,我们就可以把这个Actor拖到图上。如果想要这个Actor更清楚一点,我们可以为它取一个名字,我们就称这个学生为“Joe\其步骤如下:
• 在导航栏中的 Sequence Diagram上双击打开图。
• 在导航栏中单击选择 Student Actor并把它拖到Sequence Diagram中。
• 在 Sequence Diagram上单击选中Actor并输入名字—-Joe。如图12-41所示。 在这种情况下,学生必须在注册表格中填入信息,然后提交表格。这意味着有一个注册表格对象,这个对象从学生那里接收信息。
将创建一个表格并添加两个消息, “fill in info\" 和“submit\", 其步骤如下:
图 12-42
1. 在工具条中单击选中对象图标(矩形的)。 2。 在 Sequence Diagram中单击放置对象。
3。 当对象处于被选中的状态时,输入名字 registration form。 4。 在工具条中单击选中对象消息图标(箭形)。
5. 单击 Student Actor的虚线并将箭头拖至registration form对象的虚线上。 6。 当箭头处于被选中状态时,输入下面的消息: fill in information。 重复步骤 4至步骤6来创建submit消息。结果如图12—42所示。
然后表格向管理员发送一个消息。告诉管理员一个学生必须被添加到课程里― Joe 想选修math 101,其步骤如下:
39
图 12—43
• 在工具条中单击选中对象图标(矩形的)。 • 在 Sequence Diagram表中单击放置对象。 • 当对象处于被选中状态时输入名字 manager。 • 在工具条中单击选中对象消息图标(箭形)。
• 在 registration form对象的虚线上单击并将箭头拖至manager对象的虚线上。
当箭头处于被选中状态时,输入下面的消息: add Joe to Math 101。结果如图12—43所示。
然后管理员告诉 math 101,Joe要加入课程,其步骤如下:
图 12—44
• 在工具条中单击选中对象图标(矩形的)。 • 在 Sequence Diagram中单击放置对象.
• 当对象处于被选中状态时,输入名字 math 101。 • 在工具条中单击选中对象消息图标(箭形).
• 在 manager对象的虚线上单击并将箭头拖至math 101对象的虚线上。
• 当箭头处于被选中状态时,输入下面的消息: add Joe。结果如图12—44所示. 如果课程提供处于打开状态(在这里,答案是肯定的),然后请求课程提供,告诉课程提供添加 Joe,步骤如下:
图 12—45
1. 在工具条中单击选中对象图标。
2. 在 Sequence Diagram中单击放置对象.
3。 当对象处于被选中状态时,输入名字 section 1。
40
4。 在工具条中单击选中对象消息图标(箭形).
5。 在 math 101对象的虚线上单击并将箭头拖至section 1对象的虚线上。 6. 当箭头处于被选中状态时,输入如下消息: accepting students? 7. 重复步骤 4至步骤6来创建消息add Joe。其结果如图12-45所示。 最后,通知 billing system Joe 正在选修math 101.如图12-46所示,
图 12-46
• 在工具条中单击选中对象图标(矩形的)。 • 在 Sequence Diagram中单击放置对象. • 当对象处于被选中状态时,输入名字 bill. • 在工具条中单击选中对象消息图标(箭形)。
• 在 manager对象的虚线上单击并将箭头拖至bill对象的虚线上。
• 当箭头处于被选中状态时,输入如下消息: Send bill for Math 101 to Joe。如图12-47所示。
图 12—47
步骤6:创建类图
在 Sequence Diagram中的对象分为几类。基于Sequence Diagram,可以确定如下的对象和类:registration form是RegForm类的一个对象,manager是Manager类的一个对象,math 101是Course类的一个对象,section 1是CourseOffering类的一个对象,bill是外部billing system的接口,因此我们将把BillingSystem作为它的类的名字来使用,如图12—48所示。
41
图 12-48
类是在 Logical View 中创建的。
• 在导航栏中用鼠标右键单击 Logical View文件夹,弹出快捷菜单.
• 在 New的子文件夹中选择Class,这将为导航栏中添加一个名为NewClass的类。 • 当类处于被选中的状态时,输入名字 RegForm。
• 重复上面的步骤添加其他的类: Manager, Course, CourseOffering 和 BillingSystem。当类被创建了,它们应该被存档。文档通过文档窗口来添加,如图12—49所示。
图 12—49
在导航栏中单击选中 CourseOffering类。 在文档窗口中进入它的文档中.
图形表示场景和找到类的过程在你清楚了收益递减的规律之前一直继续着。这个收益递减规律是说你没有找到任何新的信息,也就是说,你没有找到任何新类并且你看起来正在一遍又一遍地输入相同的消息。
类在导航栏中察看是一件好事,但是也需要图.这是类图表得以展示的地方。让我们打开 Main 类图表并把我们的类加进去,如图12—50所示,其步骤如下:
42
图 12-50
• 在导航栏中双击名为 Main的图来打开图。 • 在 Query菜单下选择:Add Classes。 • 单击 All按钮添加所有的类.
• 单击 OK按钮关闭窗口,这样就将类添加到了图中。
• 通过选中类并将它拖动到新的位置来在图中按需要重新安排类. 注意:也可以通过从导航栏中拖到图中的方法来添加类.不过这样只能一次处理一个类。 步骤7:指定原型类型
UML 有一个原型的概念,这个概念可以用来创建新类型的建模元素。它提供了为模型添加含义的能力。因为它是一个代表billing system 外部接口的一个类,所以我们将使用预定义的BillingSystem 类的接口原型。又因为这将最终成为某种GUI表格,所以我们将使用RegForm 类的表格原型,如图12—51所示.
图 12-51
双击 Main类中的BillingSystem类,打开定义(Specification)窗口,单击Stereotype域的箭头,显示下拉菜单。选择接口原型(Interface stereotype),选择 OK 按钮,关闭Specification窗口。对RegForm类重复上述步骤. 步骤8:设置关系类型
为了便于对象间的通信,可添加类间的关系。顺序图就是用于检查一个对象是否必须同另一个对象通信的情况。如果是必须的,那么在它们的类之间必须有一个通信的路径。两种常见的关系类型是关联和聚合。
43
关联是类间的一个双向连接。通过检查“添加流程( Add a Course)” 顺序图,能够看出RegForm 与 Manager、 Manager与Course 和 Manager 与 Bill之间是否存在关联.
• 在从工具条上单击关联图标(线条)。
• 单击 RegForm类,并将先拖到Manager类。 • 重复上述步骤,给如下的类间添加关系: • Manager与Course
• Manager与BillingSystem 其结果如图 12-52所示。
图 12—52
聚合是关联的一种增强形式,它体现了整体与部分之间的关系。在 Course与CourseOffering之间创建一个聚合关系(Course由CourseOfferings组成的)。设置类间聚合的操作如下:
• 单击工具条上的聚合图标(带有菱形的线) • 单击类 CourseOffering
• 拖动聚合线到 Course类,如图12—53所示.
图 12-53
Multiplicity indicators被添加到模型中的关系中,它将显示这个关系连接了多少个对象,其步骤如下:
• 在 CourseOffering类的聚合线附近单击鼠标右键 • 选择 Multiplicity∣One or More 菜单命令 • 在 Course类的聚合线附近单击鼠标右键
44
• 选择 Multipliciy∣1 菜单命令。 其结果如图 12-54所示.
图 12-54
步骤9:设置属性
类的一系列属性显示了类的结构。这种结构是在研究需求分析问题时发现的,并经过这个领域的专家和客户转化而来。在模型中,每个 CourseOffering被放在一个特定的地方,这是一个属性。
• 在类图中的 CourseOffering类处,单击鼠标右键。
• 选择 New:Attribute 菜单命令,它将向类中添加一个名为 <〈>>name : type=initval的属性。
• 输入属性名: location. 步骤10:设置操作
一个类的行为是通过其一系列的操作来体现的。操作最初是通过在顺序图中将消息映射到操作而发现的。
• 将顺序图中的对象指派给类,双击浏览器中图表 ,打开添加流程(Add a Course) 顺序图窗口。
• 单击选中浏览器中的类 CourseOffering,将类CourseOffering拖到第一部分的对象。如图12-56所示。
图 12—56
• 一旦对象被映射到类中,你就能将它获取的消息映射为一个新的操作或者是类已定
45
义的操作。在消息“ accepting students ?”处,单击鼠标右键,将弹出一个快捷菜单,选中 • 单击 OK 按钮,关闭操作定义窗口。如图 12—57所示。 一旦一个新的操作被创建,那么消息将被映射到操作上,在消息“ accepting students?”处,单击鼠标右键,将弹出快捷菜单,选择offeringOpen()操作,参阅图12-58。 图 12—58 •步骤11:生成代码 最后,你应该为模型中的类生成代码。在这里,使用 tool中的Component View来 定义系统中的组件。 Rose将会自动生成名为Main的组件图,其步骤如下: • 单击浏览器中 Component View 左边的 + 号 • 双击名为 Main的图,将打开Main组件图。如图12—59所示。 图 12—59 在模型中,我们将创建两个组件 Registration和BillingSystem。其步骤如下: 46 • 单击工具条中的组件图标。 • 在图上单击一下,将生成一组件。 • 当新的组件处于选中状态时,输入其名字—— Registration(你可以设置组件的大小)。 重复上述步骤,创建 BillingSystem组件.其结果如图 12-60所示。 图 12-60 每个组件要求指定一种语言,这意味着分派给组件的类将用指定的语言实现。我们指定 BillingSystem组件的语言为Java,Registration组件的语言为Visual Basic。其步骤如下: • 在组件图或浏览器中双击 BillingSystem组件,将打开组件定义(Component Specification)窗口. • 单击 Language域的箭头,显示下拉菜单。 • 选择语言-— Java。 • 单击 OK 按钮,关闭 Component Specification窗口。 • 双击 Registration组件,将其语言设为Visual Basic(Rose默认的语言为Visual Basic),如图12—61所示。 图 12—61 一旦组件被创建,模型中的类应该被指派给组件,如图 12—62所示。 47 图 12-62 BillingSystem类是一个接口类,它用一个棒棒糖符号引出,其步骤如下: • 双击图或浏览器中的 BilllingSystem组件,打开定义(Specification)窗口。 • 选择 Realizes 标签. • 在类 BillingSystem处,单击鼠标右键,将弹出一快捷菜单。 • 选择命令 Assign。 • 单击 OK 按钮,关闭 Specification窗口。 • 将所有其它的类指派给 Registration组件。如图12-63所示. 图 12-63 组件之间的关系将用一个从属关系表示。在我们的模型中, Registration组件将通过BillingSystem接口与BillingSystem组件通信,其步骤如下: • 单击工具条上的 Dependency Relationship 图标 • 单击 Registration组件,将箭头拖到BillingSystem组件,保存模型。如图12—所示。 48 图 12- 为 Registration组件生成代码。既然组件指定Visual Basic语言,应使用 Tools∣Visual Basic∣Generate Code菜单命令来生成代码,如图12-65所示。 图 12—65 • 单击选中组件图中的 Registration组件。 • 选择 Tools∣Visual Basic∣Generate Code 菜单命令。 这样,将会出现 Visual Basic代码生成向导(Code Generation Wizard)。如图12—66所示。在这里,将接受代码生成的所有默认设置,因此,仅需单击Finish按钮。 49 图 12—66 代码生成器将生成一个名为 Registration的标准VB工程.在Visual Basic中,一个标准的工程将同时生成一个名为Form1的表单(form).Rose的代码生成向导能够正确地识别这个表单是Visual Basic中的代码而不是模型的,并且询问你是要保留类还是要删除它。可以删除它,如图12-67所示. 图 12—67 1、单击 Form1类。 2、单击 Delete >按钮。 3、单击 OK按钮,继续进行代码生成过程。 当代码生成完成的时候,将显示 Summary窗口,所有的错误被写入日志(log)中,如图12-68所示。 图 12-68 4、单击 Close 按钮,完成代码生成过程。如图12—69。 50 图 12-69 单击选中组件图表中的 Registration组件.选择 Tools∣Visual Basic∣Browse Visual Basic Source菜单命令。 将会看到Rose为所有指派给Registration组件的类生成的代码,如图12-70所示. 图 12-70 Rose也为RegForm类生成了一个表单,这是因为VB的代码生成过程将带有表单原型的类视为Visual Basic类的特有类型,如图12-71所示。 51 图 12—71 图 12-72 将会看到加入到模型中的文档也被加入到了代码中,如图 12-72所示。 现在有一个很重要的问题。你已经完成了分析、设计,生成了代码,并正在实现方法,这时,你却发现你需要另外一个操作。有多少人会回到模型中,添加新操作并重新生成代码呢?或许没有,将会更新代码!如图 12—73,其步骤如下: 52 图 12—73 • 选 择 Tools∣Add Procedure 菜单命令。 • 输入新过程的名字—— incrementCount。 • 选择 Function 单选按钮。 • 单击 OK 按钮,关闭添加过程( Add Procedure)窗口。 步骤12:模型转换为工程 现在,又遇到一个新的问题,代码与模型不一致。这时,需要进行工程转换,如图 12-74,步骤如下: 图 12—74 • 选择 Add-Ins∣ Rational Rose 98∣ Reverse Engineering Wizard 菜单命令,打开向导窗口。 • 选择需更新的模型. • 单击 OK 按钮。 既然仅仅更新了 CourseOffering类,因此我们只需转换这一个类,参阅图12-75,步骤如下: • 单击 Forms左边的复选框(checkbox),让Forms项不被选中。 • 单击 Modules左边的复选框,让Modules项不被选中。 • 单击 Class Modules左边的 + 号,将其展开。 • 单击 Course和Manager左边的复选框,让其不被选中. • 这时,只要单击一下 Finish 按钮,就可以使用默认的工具来完成工程过程( engineering process)的转换。 53 图 12—75 在转换过程完成后,我们将会看到 Summary窗口,所有的错误将被写入日志(log)中.如图12-76所示.单击 Close 按钮,将完成转换。 图 12—76 从类图表可以看出模型作了哪些更新,参阅图 12-77。 图 12—77 • 如果 Logical View项没有展开,单击其左边的 + 号,将其展开。 • 双击浏览器中的 Main类图,将其打开。 54 • 根据需要,重新排列类的位置(选中一个类,将其拖到一个新的地方) 将会看到由代码生成器添加的属性和操作,你也会看到 CourseOffering类的操作incrementCount()已经被添加到模型中了. 通过这个简短的示例中,你学会了在软件开发的分析和设计的整个过程中,如何运用 Rational Rose去想象、分析、设计、实现和文档化一个正在开发的系统。 思考题 1. 简述面向对象的基本设计方法。 2。 UML的定义是什么?以及它的组成部分有哪些? 3. UML的内容包括哪些成分?它的特点是什么? 55 附录:软件设计文档国家标准 一、可行性研究报告 1引言 ............................................................................................................................................. 58 1。1编写目的 ........................................................................................................................ 58 1.2背景 ................................................................................................................................... 58 1.3定义 ................................................................................................................................... 58 1。4参考资料 ........................................................................................................................ 58 2可行性研究的前提 ...................................................................................................................... 58 2.1要求 ................................................................................................................................... 59 2。2目标 ................................................................................................................................ 59 2.3条件、假定和 ........................................................................................................... 59 2.4进行可行性研究的方法 ................................................................................................... 60 2。5评价尺度 ........................................................................................................................ 60 3对现有系统的分析 ...................................................................................................................... 60 3.1处理流程和数据流程 ....................................................................................................... 60 3.2工作负荷 ........................................................................................................................... 60 3。3费用开支 ........................................................................................................................ 61 3.4人员 ................................................................................................................................... 61 3.5设备 ................................................................................................................................... 61 3.6局限性 ............................................................................................................................... 61 4所建议的系统 .............................................................................................................................. 61 4.1对所建议系统的说明 ....................................................................................................... 61 4.2处理流程和数据流程 ....................................................................................................... 61 4。3改进之处 ........................................................................................................................ 61 4。4影响 ................................................................................................................................ 62 4。4.1对设备的影响 ..................................................................................................... 62 4.4.2对软件的影响 ........................................................................................................ 62 4.4。3对用户单位机构的影响 ..................................................................................... 62 4.4。4对系统运行过程的影响 ..................................................................................... 62 4。4。5对开发的影响 .................................................................................................. 63 4。4。6对地点和设施的影响 ...................................................................................... 63 4。4。7对经费开支的影响 .......................................................................................... 63 4.5局限性 ............................................................................................................................... 63 4。6技术条件方面的可行性 ................................................................................................ 63 5可选择的其他系统方案 .............................................................................................................. 63 5。1可选择的系统方案1 ..................................................................................................... 5.2可选择的系统方案2 ........................................................................................................ 6投资及效益分析 .......................................................................................................................... 6。1支出 ................................................................................................................................ 6。1。1基本建设投资 .................................................................................................. 6.1。2其他一次性支出 ................................................................................................. 6。1。3非一次性支出 .................................................................................................. 65 56 6。2收益 ................................................................................................................................ 65 6。2。1一次性收益 ...................................................................................................... 65 6。2。2非一次性收益 .................................................................................................. 66 6。2。3不可定量的收益 .............................................................................................. 66 6.3收益/投资比 ................................................................................................................... 66 6。4投资回收周期 ................................................................................................................ 66 6。5敏感性分析 .................................................................................................................... 66 7社会因素方面的可行性 .............................................................................................................. 67 7。1法律方面的可行性 ........................................................................................................ 67 7。2使用方面的可行性 ........................................................................................................ 67 8结论 ............................................................................................................................................. 67 57 GB8567--88 可行性研究报告 1引言 1.1编写目的 说明编写本可行性研究报告的目的,指出预期的读者。 1。2背景 说明: A. 所建议开发的软件系统的名称; B. 本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络; C. 该软件系统同其他系统或其他机构的基本的相互来往关系. 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出用得着的参考资料,如: 1. 本项目的经核准的计划任务书或合同、上级机关的批文; 2. 属于本项目的其他已发表的文件; 3. 本文件中各处引用的文件、资料,包括所需用到的软件开发标准. 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2可行性研究的前提 说明对所建议的开发项目进行可行性研究的前提,如要求、目标、假定、 58 等。 2。1要求 说明对所建议开发的软件的基本要求,如: A. 功能; B. 性能; C. 输出如报告、文件或数据,对每项输出要说明其特征,如用途、产生频度、接 口以及分发对象; D. 输入说明系统的输入,包括数据的来源、类型、数量、数据的组织以及提供 的频度; E. 处理流程和数据流程用图表的方式表示出最基本的数据流程和处理流程,并 辅之以叙述; F. 在安全与保密方面的要求; G. 同本系统相连接的其他系统; H. 完成期限。 2。2目标 说明所建议系统的主要开发目标,如: A. 人力与设备费用的减少; B. 处理速度的提高; C. 控制精度或生产能力的提高; D. 管理信息服务的改进; E. 自动决策系统的改进; F. 人员利用率的改进。 2.3条件、假定和 说明对这项开发中给出的条件、假定和所受到的,如: a. 所建议系统的运行寿命的最小值; 59 b.进行系统方案选择比较的时间; c. 经费、投资方面的来源和; d.法律和方面的; e. 硬件、软件、运行环境和开发环境方面的条件和; f. 可利用的信息和资源; g.系统投入使用的最晚时间. 2.4进行可行性研究的方法 说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的基本方法 和策略,如调查、加权、确定模型、建立基准点或仿真等。 2.5评价尺度 说明对系统进行评价时所使用的主要尺度,如费用的多少、各项功能的优先次序、开发时间的长短 及使用中的难易程度。 3对现有系统的分析 这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚 至是一个人工系统。 分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。 3.1处理流程和数据流程 说明现有系统的基本的处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。 3。2工作负荷 列出现有系统所承担的工作及工作量。 60 3。3费用开支 列出由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开 支总额。 3.4人员 列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量。 3。5设备 列出现有系统所使用的各种设备. 3。6局限性 列出本系统的主要的局限性,例如处理时间赶不上需要,响应不及时,数据存储能力不足,处理功能 不够等。并且要说明,为什么对现有系统的改进性维护已经不能解决问题。 4所建议的系统 本章将用来说明所建议系统的目标和要求将如何被满足。 4.1对所建议系统的说明 概括地说明所建议系统,并说明在第2章中列出的那些要求将如何得到满足,说明所使用的基本方法及理论根据。 4.2处理流程和数据流程 给出所建议系统的处理流程和数据流程。 4。3改进之处 61 按2。2条中列出的目标,逐项说明所建议系统相对于现存系统具有的改进. 4.4影响 说明在建立所建议系统时,预期将带来的影响,包括: 4.4。1对设备的影响 说明新提出的设备要求及对现存系统中尚可使用的设备须作出的修改。 4。4。2对软件的影响 说明为了使现存的应用软件和支持软件能够同所建议系统相适应.而需要对这些软件所进行的修改和补充。 4。4.3对用户单位机构的影响 说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。 4。4.4对系统运行过程的影响 说明所建议系统对运行过程的影响,如: a. 用户的操作规程; b. 运行中心的操作规程; c. 运行中心与用户之间的关系; d. 源数据的处理; e. 数据进入系统的过程; f. 对数据保存的要求,对数据存储、恢复的处理; g. 输出报告的处理过程、存储媒体和调度方法; h. 系统失效的后果及恢复的处理办法. 62 4。4。5对开发的影响 说明对开发的影响,如: a. 为了支持所建议系统的开发,用户需进行的工作; b. 为了建立一个数据库所要求的数据资源; c. 为了开发和测验所建议系统而需要的计算机资源; d. 所涉及的保密与安全问题。 4.4。6对地点和设施的影响 说明对建筑物改造的要求及对环境设施的要求。 4.4。7对经费开支的影响 扼要说明为了所建议系统的开发,设计和维持运行而需要的各项经费开支。 4。5局限性 说明所建议系统尚存在的局限性以及这些问题未能消除的原因。 4.6技术条件方面的可行性 本节应说明技术条件方面的可行性,如: a. 在当前的条件下,该系统的功能目标能否达到; b.利用现有的技术,该系统的功能能否实现; c. 对开发人员的数量和质量的要求并说明这些要求能否满足; d.在规定的期限内,本系统的开发能否完成。 5可选择的其他系统方案 扼要说明曾考虑过的每一种可选择的系统方案,包括需开发的和可从国内国外直接购买的,如果没有供选择的系统方案可考虑,则说明这一点。 63 5.1可选择的系统方案1 参照第4章的提纲,说明可选择的系统方案1,并说明它未被选中的理由。 5。2可选择的系统方案2 按类似5.1条的方式说明第2个乃至第n个可选择的系统方案。 ..。。.. 6投资及效益分析 6。1支出 对于所选择的方案,说明所需的费用。如果已有一个现存系统,则包括该系统继续运行期间所需的费用。 6.1.1基本建设投资 包括采购、开发和安装下列各项所需的费用,如: a. 房屋和设施; b. ADP设备; c. 数据通讯设备; d. 环境保护设备; e. 安全与保密设备; f. ADP操作系统的和应用的软件; g. 数据库管理软件。 6。1。2其他一次性支出 包括下列各项所需的费用,如: a. 研究(需求的研究和设计的研究); b.开发计划与测量基准的研究; c. 数据库的建立; d.ADP软件的转换; e. 检查费用和技术管理性费用; f. 培训费、旅差费以及开发安装人员所需要的一次性支出; g.人员的退休及调动费用等。 6。1。3非一次性支出 列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括: a. 设备的租金和维护费用; b.软件的租金和维护费用; c. 数据通讯方面的租金和维护费用; d.人员的工资、奖金; e. 房屋、空间的使用开支; f. 公用设施方面的开支; g.保密安全方面的开支; h.其他经常性的支出等. 6。2收益 对于所选择的方案,说明能够带来的收益,这里所说的收益,表现为开支费用的减少或避免、差错的减少、灵活性的增加、动作速度的提高和管理计划方面的改进等,包括; 6。2。1一次性收益 说明能够用人民币数目表示的一次性收益,可按数据处理、用户、管理和支持等项分类叙述,如: a. 开支的缩减包括改进了的系统的运行所引起的开支缩减,如资源要求的减少,运行效率的改进,数据进入、存贮和恢复技术的改进,系统性能的可 65 监控,软件的转换和优化,数据压缩技术的采用,处理的集中化/分布化等; b.价值的增升包括由于一个应用系统的使用价值的增升所引起的收益,如资源利用的改进,管理和运行效率的改进以及出错率的减少等; c. 其他如从多余设备出售回收的收入等。 6.2。2非一次性收益 说明在整个系统生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和避免。 6。2。3不可定量的收益 逐项列出无法直接用人民币表示的收益,如服务的改进,由操作失误引起的风险的减少,信息掌握情况的改进,组织机构给外界形象的改善等。有些不可捉摸的收益只能大概估计或进行极值估计(按最好和最差情况估计). 6。3收益/投资比 求出整个系统生命期的收益/投资比值。 6.4投资回收周期 求出收益的累计数开始超过支出的累计数的时间。 6.5敏感性分析 所谓敏感性分析是指一些关键性因素如系统生命期长度、系统的工作负荷量、工作负荷的类型与这些不同类型之间的合理搭配、处理速度要求、设备和软件的配置等变化时,对开支和收益的影响最灵敏的范围的估计.在敏感性分析的基础上做出的选择当然会比单一选择的结果要好一些。 66 7社会因素方面的可行性 本章用来说明对社会因素方面的可行性分析的结果,包括: 7。1法律方面的可行性 法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯版权等方面的陷井,软件人员通常是不熟悉的,有可能陷入,务必要注意研究。 7.2使用方面的可行性 例如从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;从用户单位的工作人员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑的。 8结论 在进行可行性研究报告的编制时,必须有一个研究的结论。结论可以是: a. 可以立即开始进行; b.需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行; c. 需要对开发目标进行某些修改之后才能开始进行; d.不能进行或不必进行(例如因技术不成熟、经济上不合算等). 1引言 69 1。1编写目的 ........................................................................................................................ 69 67 1.2背景 ................................................................................................................................... 69 1.3定义 ................................................................................................................................... 69 1。4参考资料 ........................................................................................................................ 69 2任务概述 69 2。1目标 ................................................................................................................................ 69 2.2用户的特点 ....................................................................................................................... 70 2.3假定和约束 ....................................................................................................................... 70 3需求规定 70 3.1对功能的规定 ................................................................................................................... 70 3.2对性能的规定 ................................................................................................................... 70 3.2.1精度 ........................................................................................................................ 70 3.2.2时间特性要求 ........................................................................................................ 70 3。2。3灵活性 .............................................................................................................. 71 3.3输人输出要求 ................................................................................................................... 71 3.4数据管理能力要求 ........................................................................................................... 71 3.5故障处理要求 ................................................................................................................... 71 3。6其他专门要求 ................................................................................................................ 71 4运行环境规定 72 4。1设备 ................................................................................................................................ 72 4。2支持软件 ........................................................................................................................ 72 4.3接口 ................................................................................................................................... 72 4。4控制 ................................................................................................................................ 72 68 软件需求说明书的编写提示 1引言 1。1编写目的 说明编写这份软件需求说明书的目的,指出预期的读者。 1。2背景 说明: a. 待开发的软件系统的名称; b. 本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络; c. 该软件系统同其他系统或其他机构的基本的相互来往关系。 1。3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出用得着的参考资料,如: a. 本项目的经核准的计划任务书或合同、上级机关的批文; b. 属于本项目的其他已发表的文件; c. 本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资 料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源. 2任务概述 2.1目标 叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开 69 发的背景材料。解释被开发软件与其他有关软件之间的关系.如果本软件产品是一项的软件,而且全部内容自含,则说明这一点.如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。| 2.2用户的特点 列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束 2。3假定和约束 列出进行本软件开发工作的假定和约束,例如经费、开发期限等。 3需求规定 3。1对功能的规定 用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。 3.2对性能的规定 3。2。1精度 说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度. 3。2。2时间特性要求 说明对于该软件的时间特性要求,如对: a. 响应时间; 70 b. 更新处理时间; c. 数据的转换和传送时间; d. 解题时间;等的要求. 3。2.3灵活性 说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如: a. 操作方式上的变化; b. 运行环境的变化; c. 同其他软件的接口的变化; d. 精度和有效时限的变化; e. 计划的变化或改进。 对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。 3.3输人输出要求 解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等.对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。 3。4数据管理能力要求 说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。 3。5故障处理要求 列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求. 3.6其他专门要求 71 如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。 4运行环境规定 4。1设备 列出运行该软件所需要的硬设备.说明其中的新型设备及其专门功能,包括: a. 处理器型号及内存容量; b. 外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量; c. 输入及输出设备的型号和数量,联机或脱机; d. 数据通信设备的型号和数量; e. 功能键及其他专用硬件 4。2支持软件 列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。 4。3接口 说明该软件同其他软件之间的接口、数据通信协议等. 4。4控制 说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。 72 1引言 ............................................................................................................................................. 74 1.1编写目的 ........................................................................................................................... 74 1.2背景 ................................................................................................................................... 74 1.3定义 ................................................................................................................................... 74 1。4参考资料 ........................................................................................................................ 74 2总体设计...................................................................................................................................... 74 2.1需求规定 ........................................................................................................................... 74 2。2运行环境 ........................................................................................................................ 74 2。3基本设计概念和处理流程 ............................................................................................ 75 2。4结构 ................................................................................................................................ 75 2.5功能器求与程序的关系 ................................................................................................... 75 2.6人工处理过程 ................................................................................................................... 75 2.7尚未问决的问题 ............................................................................................................... 75 3接口设计...................................................................................................................................... 75 3.1用户接口 ........................................................................................................................... 75 3.2外部接口 ........................................................................................................................... 75 3.3内部接口 ........................................................................................................................... 76 4运行设计...................................................................................................................................... 76 4.1运行模块组合 ................................................................................................................... 76 4。2运行控制 ........................................................................................................................ 76 4。3运行时间 ........................................................................................................................ 76 5系统数据结构设计 ...................................................................................................................... 76 5。1逻辑结构设计要点 ........................................................................................................ 76 5.2物理结构设计要点 ........................................................................................................... 76 5。3数据结构与程序的关系 ................................................................................................ 76 6系统出错处理设计 ...................................................................................................................... 76 6.1出错信息 ........................................................................................................................... 77 6。2补救措施 ........................................................................................................................ 77 6。3系统维护设计 ................................................................................................................ 77 73 概要设计说明书 1引言 1。1编写目的 说明编写这份概要设计说明书的目的,指出预期的读者. 1。2背景 说明: a. 待开发软件系统的名称; b. 列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1。4参考资料 列出有关的参考文件,如: a. 本项目的经核准的计划任务书或合同,上级机关的批文; b. 属于本项目的其他已发表文件; c. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标 题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2总体设计 2。1需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C. 2.2运行环境 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C. 74 2.3基本设计概念和处理流程 说明本系统的基本设计概念和处理流程,尽量使用图表的形式。 2。4结构 用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。 2。5功能器求与程序的关系 本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系: 功能需求1 功能需求2 …… 功能需求n 程序1 √ 程序2 √ √ …… 程序n √ 2。6人工处理过程 说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。 2.7尚未问决的问题 说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。 3接口设计 3.1用户接口 说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。 3。2外部接口 说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。 75 3。3内部接口 说明本系统之内的各个系统元素之间的接口的安排。 4运行设计 4。1运行模块组合 说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。 4.2运行控制 说明每一种外界的运行控制的方式方法和操作步骤。 4.3运行时间 说明每种运行模块组合将占用各种资源的时间。 5系统数据结构设计 5.1逻辑结构设计要点 给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。 5.2物理结构设计要点 给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。 5.3数据结构与程序的关系 说明各个数据结构与访问这些数据结构的形式: 6系统出错处理设计 76 6。1出错信息 用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。 6。2补救措施 说明故障出现后可能采取的变通措施,包括: a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立 和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术; b. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需 结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录; c. 恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软 件从头开始重新运行的方法。 6。3系统维护设计 说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。 各个程序之间的对应关系,可采用如下的矩阵图的形式; 77 1引言 ............................................................................................................................................. 79 1.1编写目的 ........................................................................................................................... 79 1.2背景 ................................................................................................................................... 79 1.3定义 ................................................................................................................................... 79 1.4参考资料 ........................................................................................................................... 79 2程序系统的结构 .......................................................................................................................... 79 3程序1(标识符)设计说明 ......................................................................................................... 79 3。1程序描述 ........................................................................................................................ 80 3.2功能 ................................................................................................................................... 80 3。3性能 ................................................................................................................................ 80 3。4输人项 ............................................................................................................................ 80 3。5输出项 ............................................................................................................................ 80 3.6算法 ................................................................................................................................... 80 3.7流程逻辑 ........................................................................................................................... 80 3.8接口 ................................................................................................................................... 80 3。9存储分配 ........................................................................................................................ 81 3.10注释设计 ......................................................................................................................... 81 3。11条件 ...................................................................................................................... 81 3.12测试计划 ......................................................................................................................... 81 3.13尚未解决的问题 ............................................................................................................. 81 4程序2(标识符)设计说明 ....................................................................................................... 81 78 详细设计说明书 1引言 1.1编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。 1.2背景 说明: a. 待开发软件系统的名称; b. 本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。 1.3定义 列出本文件中用到专门术语的定义和外文首字母组词的原词组。 1。4参考资料 列出有关的参考资料,如: a. 本项目的经核准的计划任务书或合同、上级机关的批文; b. 属于本项目的其他已发表的文件; c. 本文件中各处引用到的文件资料,包括所要用到的软件开发标准.列出这些文件的标 题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。 2程序系统的结构 用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间 的层次结构关系。 3程序1(标识符)设计说明 从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可. 79 3.1程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发处理等)。 3.2功能 说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。 3。3性能 说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。 3。4输人项 给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。 3.5输出项 给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。 3.6算法 详细说明本程序所选用的算法,具体的计算公式和计算步骤。 3.7流程逻辑 用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。 3.8接口 用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。 80 3。9存储分配 根据需要,说明本程序的存储分配。 3.10注释设计 说明准备在本程序中安排的注释,如: a. 加在模块首部的注释; b. 加在各分枝点处的注释; c. 对各变量的功能、范围、缺省条件等所加的注释; d. 对使用的逻辑所加的注释等等. 3。11条件 说明本程序运行中所受到的条件。 3.12测试计划 说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。 3.13尚未解决的问题 说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题. 4程序2(标识符)设计说明 用类似F.3的方式,说明第2个程序乃至第N个程序的设计考虑。 ..。。.。 81
因篇幅问题不能全部显示,请点此查看更多更全内容