资源描述
期考试题题型构成:选择题20道 40分
填空题 10道 20分
应用题 5道 40分
软件工程习题解答
一、软件生存周期各阶段基本任务?
1. 问题定义:
(1)回答要处理问题是什么。
(2)系统分析员应当提出有关问题性质、工程目和规模书面汇报。
(3)通过和顾客讨论,澄清模糊不清地方,改正理解不对地方,得出一份双方都满意文档。
(4)问题定义是软件生命周期中最简短阶段。
2.可行性研究:
(1)前一阶段定义问题有可行处理措施吗?
(2)系统分析员要进行一次大大压缩和简化了系统分析和设计。导出高层逻辑模型(用数据流图表达)。确定工程规模和目,精确估计系统成本和效益。
(3)使用部门负责人根据可行性研究成果决定与否继续进行该工程开发工作。
3.需求分析:
(1)重要确定目系统必须具有哪些功能。
(2)系统分析员和顾客亲密配合,充足交流,得出经顾客确认系统逻辑模型(数据流图、数据字典、算法描述)。
4.总体设计:
(1)回答怎样处理问题。
(2)系统分析员
应使用系统流程图或其他工具描述每种也许系统;
估计每种方案成本和效益。
推荐一很好系统──有其详细计划。
设计软件构造(用层次图或构造图描述)。
5.详细设计:
(1)回答应当怎样详细地实现这个系统。
(2)设计出程序详细规格阐明(用HIPO层次图加输入/处理/输出图)或PDL语言(过程设计语言)。
6.编码和单元测试:
(1)写出对轻易理解,轻易维护程序模块。
(2)程序员:
选用一种合适用高级语言书写程序(或汇编语言)。
仔细测试编写出每一种模块。
7.综合测试:
(1)通过多种类型测试,使软件到达预定规定。
(2)最基本测试是集成测试和验收测试措施。
集成测试是根据设计软件构造,把通过单元测试检查模块按某种选定方略装配起来,在装配过程中对程序进行必要测试。
验收测试是按照需求规格阐明书规定,由顾客对目系统进行验收。
(3)用正式文档将测试计划、详细测试方案以及实际测试成果保留。
(4)以正式或非正式方式对顾客进行培训。
8.软件维护:
(1)使系统持久地满足顾客需要。
(2)四类维护:
改正性维护:诊断和改正使用过程中发现软件错误。
适应性维护:修改软件以适应环境变化。
完善性维护:根据顾客规定,改善或扩充软件。
防止性维护:修改软件为未来维护预先准备。
第二章 可行性研究
1.已知某软件包具有三个重要功能:输入数据、更新数据、产生报表。根据历史资料记载,实现每个功能所需源代码行数估算如下:
①输入数据: a=l00 m=200 b=300
②更新数据: a=200 m=300 b=400
③产生报表: a=300 m=400 b=500
三个功能软件生产率都是 200行/人月,每行成本 lO元/行,请用LOC技术估算出该软件包成本和工作量。
解:
2.某计算机系统投入使用后、 5年内每年可节省人民币 2 O0O元,假设系统投资额为5 000元,年利率为 12%。试计算投资回收期和纯收入。
解:
1、投资回收期
最初投资额为5000元,通过3年后可以节省4814.28元,比最初投资还少185.72元,
第4年一年再次节省1273.89元,则
185.72÷1273.89=0.15
3 + 0.15=3.15
因此这项工程投资回收期是3.。
2、纯收入
7224.53 - 5000=2224.53元 > 0,值得投资。
第三章 需求分析
1.什么是数据流图?其作用是什么?其中基本符号各表达什么含义?
数据流图:简称DFD,是SA(构造化分析)措施中用于表达系统逻辑模型一种工具,是一种功能模型。
作 用:它以图形方式描绘数据在系统中流动和处理过程,反应系统必须完毕逻辑功能.
基本符号有四种:
→,箭头,表达数据流; ○,圆或椭圆,表达加工; =,双杠,表达数据存储;□,方框,表达数据源点或终点.
2.某银行计算机储蓄系统功能是:将储户填写存款单或取款单输入系统,假如是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;假如是取款,系记录算清单储户。请用DFD和IDEF0描绘该功能需求,并建立对应数据字典。
(1)数据流条目:
数据流名称:存款单
别 名:无
简 述:储户存款时填写项目
来 源:储户
去 向:记帐
数据 流 量:未知
组 成:姓名+住址+存款类型+存款日期+利率
数据流名称:取款单
别 名:无
简 述:储户取款时填写项目
来 源:储户
去 向:记录
数据 流 量:未知
组 成:姓名+住址+取款类型+取款日期+利率
数据流名称:清单
别 名:无
简 述:储户取款后得到项目
来 源:记录
去 向:储户
数据 流 量:未知
组 成:姓名+住址+取款类型+取款日期+利率+余额
(2)数据存储条目:
数据存储名称:账单
别 名:无
简 述:寄存储户信息及其账目
组 成:姓名+住址+余额+存款类型+最终修改日期+利率
组 织 方 式:未知
查 询 要 求:能立即查询
(3)数据项条目:
未知
(4)加工条目:
加工 名:分类检查
编 号:无
激发条件:接受到存/取款单
优 先 级:优先
输 入:存/取款单
输 出:存/取款单
加工逻辑:IF 存款单 THEN 把存款单输出到记录
ELSE
把取款单输出到记录
ENDIF
加工 名:记录
编 号:无
激发条件:取款单
优 先 级:无
输 入:取款单
输 出:清单
加工逻辑:根据账单检查此储户与否存在,不存在输出错误{
IF 取款数<余额 THEN 余额=余额-取款数
输出清单到储户,输出现金到储户
ELSE
输出错误清单到储户
ENDIF
}
加工 名:记录
编 号:无
激发条件:存款单
优 先 级:无
输 入:存款单
输 出:存款单
加工逻辑:根据账单检查此储户与否存在,不存在则建立此储户{
余额=余额+存款数
输出存款单到储户
}
有关软件工程中鉴定树和鉴定表
鉴定树又称决策树,是一种描述加工图形工具,适合描述问题处理中具有多种判断,并且每个决策与若干条件有关。使用鉴定树进行描述时,应当从问题文字描述中分清哪些是鉴定条件,哪些是鉴定决策,根据描述材料中联结词找出鉴定条件附属关系、并列关系、选择关系,根据它们构造鉴定树。
【例4.5】某工厂对工人超产奖励政策为:该厂生产两种产品A和B。凡工人每月实际生产量超过计划指标者均有奖励。奖励政策为:
对于产品A生产者,超产数N不不小于或等于100件时,每超产1件奖励2元;N不小于100件不不小于等于150件时,不小于100件部分每件奖励2.5元,其他每件奖励金额不变;N不小于150件时,超过150件部分每件奖励3元,其他按超产150件以内方案处理。
对于产品B生产者,超产数N不不小于或等于50件时,每超产1件奖励3元;N不小于50件不不小于等于100件时,不小于50件部分每件奖励4元,其他每件奖励金额不变;N不小于100件时,超过100件部分每件奖励5元,其他按超产100件以内方案处理。
上述处理功能用鉴定树描述,如下图所示
鉴定树又称决策树,是一种描述加工图形工具,适合描述问题处理中具有多种判断,并且每个决策与若干条件有关。使用鉴定树进行描述时,应当从问题文字描述中分清哪些是鉴定条件,哪些是鉴定决策,根据描述材料中联结词找出鉴定条件附属关系、并列关系、选择关系,根据它们构造鉴定树。
【例4.5】某工厂对工人超产奖励政策为:该厂生产两种产品A和B。凡工人每月实际生产量超过计划指标者均有奖励。奖励政策为:
对于产品A生产者,超产数N不不小于或等于100件时,每超产1件奖励2元;N不小于100件不不小于等于150件时,不小于100件部分每件奖励2.5元,其他每件奖励金额不变;N不小于150件时,超过150件部分每件奖励3元,其他按超产150件以内方案处理。
对于产品B生产者,超产数N不不小于或等于50件时,每超产1件奖励3元;N不小于50件不不小于等于100件时,不小于50件部分每件奖励4元,其他每件奖励金额不变;N不小于100件时,超过100件部分每件奖励5元,其他按超产100件以内方案处理。
上述处理功能用鉴定树描述,如下图所示
这一鉴定树比起文字论述,使人一目了然,清晰地体现了在什么状况下采用什么方略,不易产生逻辑上混乱。因而鉴定树是描述基本处理逻辑功能有效工具。
==============================================
鉴定表由四部分构成。
第一部分即①表达部分,鉴定标左上部称为基本条件项,列出多种也许条件。第二部分即②表达部分,鉴定标右上部称为条件项,它列出了多种也许条件组合。第三部分即③表达部分,鉴定标左下部称为基本动作项,它列出了所有操作。第四部分即④表达部分,鉴定标右下部称为动作项,它列出在对条件组合下所选操作。
【例4.6】以学生奖学金评估为例,阐明鉴定表应用。奖励目在于鼓励学生品学兼优,此处理功能是要合理确定奖学金评估等级。决定受奖条件为:成绩优秀占70%或50%以上,成绩为中或中如下占15%或20%如下,团结纪律为优良或一般者。奖励方案为一等奖、二等奖、三等奖、鼓励奖四种。由于受奖条件有些是相容,互相组合项较多。描述此学生奖励政策鉴定表如下图所示:
由上图可见,鉴定表将比较复杂决策问题简洁、明确、一目了然地描述出来,它是描述条件比较多决策问题有效工具。鉴定表或鉴定树都是以图形形式描述数据流加工逻辑,它构造简朴,易懂易读。尤其碰到组合条件鉴定,运用鉴定表或鉴定树可以使问题描述清晰,并且便于直接映射到程序代码。在体现一种加工逻辑时,鉴定数、鉴定表都是好描述工具,根据需要可以交叉使用。
4.选择一种系统(例如人事档案管理系统、图书管理系统、医院监护系统、足球俱乐部管理系统、财务管理系统、学生选课系统、飞机订票系统等),用 SA措施对它进行分析,画出系统分层 DFD图。
解:· 下面是一种学生选课系统DFD 。
新补充:
1、某图书出版企业但愿每月定期向固定客户邮寄近来一种月图书分类目录。客户可在其收到目录上圈定自己要买书。出版企业按照客户反馈信息邮寄图书。规定为出版企业设计软件,以实现如下功能:
(1)自动生成图书分类目录;
(2)自动处理客户反馈信息。
试用面向数据流措施给出系统数据流图,并设计出软件构造图。
第四章 概要设计
3.衡量模块独立性两个原则是什么?它们各表达什么含义?
两个定性度量原则:耦合与内聚性
耦合性:也称块间联络。指软件系统构造中各模块间互相联络紧密程度一种度量。模块之间联络越紧密,其耦合性就越强,模块独立性则越差。
内聚性:也称块内联络。指模块功能强度度量,即一种模块内部各个元素彼此结合紧密程度度量。模块内元素联络越紧密,内聚性越高。
6.什么是软件构造?简述软件构造设计优化准则。
软件构造:软件系统模块层次构造,反应了整个系统功能实现,即未来程序控制体系。
软件构造设计优化准则:
a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始软件构造。
b.一种模块作用范围应在其控制范围之内,且鉴定所在模块应与受其影响模块在层次上尽量靠近
c.软件深度、宽度、扇入、扇出应合适。
D.模块大小要适中。
E.模块控制范围模块接口要简朴、清晰、含义明确,便于理解,易于实现、测试与维护。
2、已知模块C中一种鉴定影响到模块B,如图所示,它违反了SD设计原则。试问: 可以采用哪些手段对构造图作改善,请阐明改善措施并画出改善构造图。
3、已知有一抽象DFD图如下所示,请用SD措施画出对应构造图。
答:
4、高考录取统分子系统有如下功能:
(1) 计算原则分:根据考生原始分计算,得到原则分,存入考生分数文献;
(2) 计算录取线分:根据原则分、招生计划文献中招生人数,计算录取线,存入录取线文献。
试根据规定画出该系统数据流程图,并将其转换为软件构造图。
答:
(1) 数据流图:
(2) 软件构造图:
① 原始分 ② 原则分 ③ 招生计划 ④ 录取线
5、图书馆预定图书子系统有如下功能:
(1) 由供书部门提供书目给订购组。
(2) 订书组从各单位获得要订书目。
(3) 根据供书目录和订书书目产生订书文档留底。
(4) 将订书信息(包括数目,数量等)反馈给供书单位。
(5) 将未订书目告知订书者。
(6) 对于反复订购书目由系统自动检查,并把成果反馈给订书者。
试根据规定画出该问题数据流程图,并把其转换为软件构造图。
答:
(1) 数据流图:
(2) 软件构造图:
第五章 详细设计
1. 选择一种将三个数从小到大排序算法,分别用(1)流程图,(2)N-S图,(3)PAD图描述其详细过程。
设数为a,b,c,其详细过程如下:
(1)流程图
(2)N-S图
(3)PAD图
第六章 实现选择、填空
第七章 软件测试
1、对下列子程序进行调试:
procedure example(y,z: real; var x: real)
begin
if (y>1) and (z=0) then x:=x/y;
if (y=2) or (x=l) then x:=x+l;
end.
该子程序接受x, y, z值,并将计算成果x值返回给调用程序。答题规定:
(1)画出流程图。
(2)用白盒法设计测试用例,并写出它所满足是何种覆盖原则、预期成果以及途径。
答:(1)流程图
(2)用白盒法中条件组合覆盖设计测试用例:
① y=2, z=0, x=4;
② y=2, z=1, x=1;
③ y=1, z=0, x=2;
④ y=1, z=1, x=1.
2、某报表处理系统规定顾客输入处理报表日期,日期限制在1月至12月,即系统只能对该段期间内报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月6位数字字符构成,前四位代表年,后两位代表月。现规定用黑盒测试法中边界值法写出测试用例。
答:
输入条件 测试用例阐明 测试数据
报表日期 1个数字字符 5
类型及长度 5个数字字符 5
7个数字字符 005
有1个非数字字符 .5
所有是非数字字符 MAY---
6个数字字符 05
日期范围 在有效范围 01
边界上选用 12
数据 00
13
月份范围 月份为1月 01
月份为12月 12
月份<1 00
月份>12 13
3、对如下程序进行测试:
PROCEDURE EX(A,B:REAL;VAR X:REAL);
BEGIN
IF(A=3)OR(B> 1)THEN X:=A×B
IF(A>2)AND(B=0)THEN X:=A-3
END
先画出程序流程图。 再按不一样逻辑覆盖法设计一种(写出名称)测试数据。
答:
语句覆盖 A=3 B=0
4、程序功能阐明书指出,某程序输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。
(1)按等价分类法设计测试用例(规定列出设计过程)
(2)按边缘值分析法设计测试用例。
答:
1)合理等价类
选修1门
选修2门
选修3门
不合理等价类
没选课
选3门以上
测试用例
选修=2
选修=0
选修>3
2) 边缘值法
0,1,3,4
5、设被测试程序段为:
begin
s1 ;
if (x=0) and (y>2)
then s2;
if (x<1) or (y=1)
then s3 ;
s4 ;
end
可供选择测试数据组为:
x y
Ⅰ 0 3
Ⅱ 1 2
Ⅲ -1 2
Ⅳ 3 1
找出实现(1)语句覆盖;(2)条件覆盖;(3)鉴定覆盖至少要选择数据组。
答:(1)Ⅰ (2) Ⅰ,Ⅳ (3) Ⅰ,Ⅱ
二.某电力企业有A、B、C、D共四类收费原则,并规定,居民用电每月200度如下按A类收费, 200度以上按B类收费。动力电以每月1万度为分界,非高峰用电局限性1万度按B类收费,到达或超过1万度按C类收费。高峰用电局限性1万度按C类收费,到达或超过1万度按D类收费。试用基于逻辑测试措施为它设计足够测试用例实现条件组合完全覆概。
规则号
1
2
3
4
5
6
居民
用电
200度如下
Y
200度以上
Y
动力用电
非高峰
1万度如下
Y
1万度以上
Y
高峰
1万度如下
Y
1万度以上
Y
收费
原则
A类
▲
B类
▲
▲
C类
▲
▲
D类
▲
测试用例
用电类型
输入数据
预期成果
居民
用电
90度/月
A
110度/月
B
动力用电
非
高峰
8000度/月
B
1度/月
C
高峰
9000度/月
C
11000度/月
D
三.如图显示某程序逻辑构造。
试为它设计足够测试用例,分别实现对程序鉴定覆概、条件覆概和条件组合覆概。
设计测试方案
覆盖种类
需满足条件
测试数据
期望成果
鉴定覆盖
A>1,B=0
A=2,B=0
执行S1
A>1,B¹0或
A£1,B=0或
A£1,B¹0
A=2,B=1或
A=1,B=0或
A=1,B=1
执行S2
条件覆盖
如下四种状况各出现一次
A>1
B=0
A=2,B=0
执行S1
A£1
B¹0
A=1,B=1
执行S2
条件组合
覆盖
A>1,B=0
A=2,B=0
执行S1
A>1,B¹0
A=2,B=1
执行S2
A£1,B=0
A=1,B=0
执行S2
A£1,B¹0
A=1,B=1
执行S2
四.某都市电话号码由三部分构成。它们名称和内容分别是:
地区码:空白或三位数字;
前 缀:非‘0’或‘1’三位数字;
后 缀:4位数字。
假定被测程序能接受一切符合上述规定电话号码,拒绝所有不符合规定电话号码。根据该程序规格阐明,作等价类划分,并设计测试方案。
1.划分等价类
输入条件
有效等价类
无效等价类
地区码
1.空白;
2.三位数;
1. 有非数字字符;2.少于三位数字;
3.多于三位数字。
前 缀
3.从200到999之间三位
4.有非数字字符;5.起始位为‘0’;
6.起始位为‘1’; 7.少于三位数字;
8.多于三位数字。
后 缀
4.四位数字。
9.有非数字字符;10.少于四位数字;
11.多于四位数字。
设计测试方案
方案
内容
输 入
预期
输出
地区码
前缀
后缀
1
空白
200~999之间三位数字
四位数字
( )276-2345
有效
2
三位数字
四位数字
(635)805-9321
有效
3
有非数字字符
(20A)723-4567
无效
4
少于三位数字
(33 )234-5678
无效
5
多于三位数字
(5555)345-6789
无效
6
有非数字字符
(345)5A2-3456
无效
7
起始位为‘0’
(345)012-3456
无效
8
起始位为‘1’
(345)132-3456
无效
9
少于三位数字
(345) 92-3456
无效
10
多于三位数字
(345)4562-3456
无效
11
有非数字字符
(345)342-3A56
无效
12
少于四位数字
(345)342- 356
无效
13
多于四位数字
(345)562-34567
无效
第八章 软件维护选择、填空、简答(见大纲)
1、软件维护有哪些内容?
a、校正性维护b、适应性维护c、完善性维护d、防止性维护
第九章 见大纲(选择、填空)
第十章 面向对象技术
1、 阐明对象、类、类构造、消息基本概念?
答:对象:是客观实体在问题域中抽象。
类:具有相似或相似性质对象抽象就是类。
类构造:类构造一般有一般----详细(分类构造)整体---抽象(组装构造)
消息:对象之间通信构造。
2、 面向对象特性和要素?
答:特性:一致性、多态性、分类性、继承性。要素:共享、封装、抽象。
第十二章 软件工程管理
3、软件开发成本估算措施有哪几种?
答:COCOMO、PUTANM 。。。。
4、 什么软件配置管理?什么是基线?
答:软件配置管理:软件配置管理(SCM)用于整个软件工程过程,目是表达变更,控制变更,保证变更对实行,汇报变更。SCM是用在整个软件生存周期个阶段中变更活动。基线:是软件生存周期中各开发阶段一种特定点,它作用是把开发各阶段工作划分愈加明确化,使本来持续工作在这些点上断开,便于检查于肯定阶段成果。
图书馆信息系统UML实例
一、怎样理解UML
1、UML统一建模语言
统一建模语言(Unified Modeling Language,UML)是一种通用可视化建模语言,跨越软件开发整个生命过程,详细描述系统构造措施,为规范化、可视化、文档化软件系统提供了一致建模语言。使用UML重要目是是便于顾客、开发人员、分析人员、测试人员、管理人员、其他波及项目人员之间通信。
建立“立体”模型需要:点 、 线、 面
UML描述模型有三种词汇:要素、关系、图
2、UML有四种要素:
(1)表达构造要素:Use Case、类、接口、协作
(2)表达行为要素:交互、状态机
(3)表达组织要素:包(Package)
(4)表达辅助阐明要素:注释(Notes)
3、UML中有四种类型关系:
(1)关联关系:表达两个类之间存在稳定连接(传递消息)
关联关系(Association)访问方向:单箭头表达一方实例可以访问另一方实例
关联关系有两种强化形式:聚合关系(Aggregation)、组合关系(Composition)
聚合关系:表达两个类实例之间“整体”与“部分”关系,处在空心菱形符号一端类是整体。
组合关系:是深入强化聚合关系,增长“皮之不存,毛将焉附”语义,“整体”一端用实心菱形表达。
(2)依赖关系:表达“被依赖者”类变化有也许影响“依赖者”类,用带有箭头虚线表达。
(3)泛化关系:表达类A是类B一种。
(4)实现关系:一方提出祈求,另一方履行规定中申明任务。
4、UML中有九种图,共三大类:
三种静态图
(1)业务用例图(Business Use Case Diagram):显示整个系统提供功能。
(2)用例图(Use Case Diagram):从系统顾客角度出发,描述系统应当具有功能。重要用于展示用例(Use Case)、角色(Actor)及其关系。用例是系统中一种功能单元,可以被描述为参与者与系统之间一次交互作用
(3)类图(Class Diagram):重要用于展示类、接口、包及其关系。类(Class)是指某些具有相似属性(Attribute))和操作(Operation)对象集合,其中操作包括一组有序参数(parameter),类之间关系有联络(Association)和泛化(Generation)等。
四种动态图:
(4)状态图(State chart Diagram):展示对象在其生命周期中也许经历状态、在这些状态上对事件响应能力。
(5)活动图(Activity Diagram): 是状态机一种变体,用来描述执行算法工作流程中波及活动, 活动状态代表着一种活动、一种工作流程环节或一种操作执行,活动视图描述一组次序或并发活动,
展示系统从一种活动转到另一种活动也许途径与判断条件。
(6)次序图(Sequence Diagram):用于准时序展示对象间消息传递。当执行一种用例行为时,次序图中每条消息对应一种类操作或状态机中引起转换触发事件。
(7)协作图(Collaboration Diagram):其关键内容与序列图相对应,强调(收发消息)对象间构造组织。
两种执行图:
(8)组件图(Component Diagram):显示系统中组件及其互相依赖性。开发人员懂得有哪些代码库,互相间有什么关系,编译人员懂得组件所需编译次序。
(9)布署图(Deployment Diagram):它考虑应用程序物理布署,如网络布局和组件在网络上位置问题。显示网络上所有结点、结点间连接、每个结点上运行进程。
二、图书馆信息系统UML实例简介
1、理解需求
图书馆信息系统文本需求阐明:
(1)图书馆将书和杂志借给读者,读者、书、杂志系统中注册。
(2)图书馆负责购置图书、删除书目。
(3)图书管理员与借书者打交道,他们工作要得到系统支持。
(4)借书者可以增删预订书目
(5)图书馆可维护与书目、借书者、借阅(Loan)和预订等有关信息。
(6)系统可以在Unix、Windows、OS/2等环境下运行,有一种非常友好顾客图形界面(GUI)
(7)系统应当具有很好扩展性。
2、需求分析
2.1、定义业务用例:描述图书馆提供功能
Business Use case框图:显示业务用例与业务角色之间交互。
业务用例:表达企业执行过程,为何要建立系统。
业务角色:表达业务要交互角色,如客户与厂家,不表达企业内角色或人员。
业务工人:表达企业内角色或人员。
2.2、定义用例,即描述图书馆系统功能
Use Case 框图:显示使用案例与角色交互。
使用案例:表达从顾客角度对系统规定(系统功能)。
角色:表达接受和提供系统信息人或系统(系统主体)。
图书馆中角色:图书馆管理员、借书者
图书馆信息系统中用例(使用案例)如下:
借出书目(Lend Item)、返回书目(Return Item)、预订(Make Reservation)、删除预订(Remove Reservation)
增长标题(Add Title)、更新或删除标题(Update or Remove Title)、增长书目(Add Item)、删除书目(Remove Item)、增长借书者(Add Borrower)、更新或删除借书者(Update or Remove Borrower)
“标题(Title)”与“书目(Item)”区别:在图书馆中,一种流行标题也许有好几本,标题也许是书名或书作者,这样可让借书者预定。
图书馆信息系统用例图:增长系统用例模型包、Use Case框图、用例与角色
建立图书馆信息系统用例图操作环节:
(1)右击Use Case视图、New、Package,将新包命名为System Use Case Model(使用案例模型)。
(2)右击System Use Case Model包、New、UseCase Diagram,将新框图命名为Main。
(3)双击该框图,添加新用例、 添加新角色、增长关联。
3、领域分析
3.1、图书馆信息系统类构造
Class框图
¨ Class框图:显示系统中类与类之间交互。
¨ Class框图:可显示每个使用案例中类互相作用,也可显示整个系统或子系统。
¨ 开发人员用Class框图开发类,产生类框架代码,用所选语言填充细节。
¨ 分析人员用Class框图显示系统细节。
¨ 架构师用Class框图显示系统设计。
类含义
类包括三部分:类名、类包括属性(与类有关信息)、类操作(类提供功能)
连接类直线:显示类之间通信关系。我们将信息和影响信息行为连接在一起,包装成类,对象是类实例。在UML中,类用下图注表达:
Class
-Attribute
+Operation()
图书馆信息系统域类构造
建立图书馆信息系统域类Class框图操作环节:
(1)右击Logical视图、选New、Class Diagram、将新框图取名 “域类”、双击打开该框图、选Class类工具栏按钮、添加类:借书者信息(Borrower Information)、标题(Title)、书标题、杂志标题、书目、预订、借书
(2)添加关联、泛化关系
(3)添加属性与操作
3.2、用例“借出书目”、“增长标题” 序列图
用例“借出书目”序列图操作环节:
(1)设置
选Tools、Options、Diagram标签、复选Focus of control
Sequence Numbering、Collaboration Numbering、
(2)创立Sequence 框图
Use Case视图、包System Use Case Model(使用案例模型)下,右击“借出书目”用例,选 New、Sequence Diagram
(3)将角色和对象加进框图
将“图书管理员”角色从浏览器拖到框图中、选Object工具栏按钮、单击框图顶部添加对象
(4)将消息加进框图
选Object Message工具栏按钮、从“图书管理员”角色生命线拖到“借出书目窗口”对象生命线、选中消息,输入find title()
用例“借出书目”序列图(没有预定状况)
“增长标题(Add Title)”用例序列图
3.3、用例“借出书目” 、“增长标题”协作图
协作图(Collaboration Diagram)
Sequence框图:演示是对象与角色随时间变化交互。
Collaboration框图:则不参照时间而显示对象与角色交互
Collaboration框图显示信息与Sequence框图相似,但Collaboration框图用不一样方式显示这个信息。
质量保证工程师和系统架构师:用该框图显示对象间处理过程分布。
创立Collaboration框图:打开Sequence框图,按F5键。
用例“借出书目”协作图
“增长标题(Add Title)”用例协作图
3.4、“标题”类状态图
状态图(State chart Diagram)
State chart框图:显示对象功能。方括号中条件称为保证条件,控制过渡能不能发生。 开发人员开发类时可使用这种框图,不是对每个类创立,只用复杂类。 State chart框图仅用于文档,从Rose模型产生代码时,没有任何代码是从State chart框图信息产生。
建立状态图操作环节:
1、在浏览器Logical View中找到“标题”类,右击这个类选
New、 Sate chart Diagram。
2、增长状态、过渡、过渡细节
“标题”类状态图
4、架构设计
图书馆信息系统架构设计
定义包(子系统)、包间有关性和基本通信机制。包:将完毕一种任务所需要类组合在一起。按功能组合类,可得到互相独立包,即可在其他应用程序中复用。Component框图:显示系统中组件及其互相依赖性。开发人员懂得有哪些代码库,互相间有什么关系,编译人员懂得组件所需编译次序。
在Component框图中创立包显示应用包及包间有关性类图
图书馆信息系统包(子系统)如下:
(1)顾客接口包(User Interface Package):通过顾客接口类,顾客可浏览、输入数据
(2)业务对象包(Business Object Package):包括分析模型中域类
(3)数据库包(Database Package):提供服务给业务对象包中类,包中只有一种类Persistent
(4)应用包(Utility Package):提供服务给系统中其他种类包,包中只有一种类ObjId
5、图书馆信息系统详细设计
将包内容细化,详细描述每一种类,使编程人员编码。
详细设计操作环节:
(1)在“业务对象包”中增长组件和画出依赖性
(2)将类映射组件
数据库包:增长一种Persistent抽象组件类 :通过该类能实现数据库store()、update()、delete
展开阅读全文