资源描述
一、填空题
1. ()是一门研究应用工程化方法构建和维护有效,实用和高质量的软件学科。
2. 项目的三个约束因素是:(),()和范围。
3. ()是在系统之外,透过系统边界与系统进行有意义交互的任何事物。
4. 数据库建模主要涉及三个阶段,即建立()模型,()模型和物理模型,E-R图是指()-关系图。
5. ()图和()图称为交互 图。
6. 用例与用例之间的关系包括()关系,()关系和()关系。
7. 瀑布模型一般适用于(),但不适用于()项目的开发。
8. 用例图主要由(),()和关联等模型元素构成。
9. 类之间可能有关联,(),(),(),依赖等关系。
10. 软件生命周期的六个阶段是(),(),(),(),(),运行|维护。
11. 分析类分为三种类型:(),()和()。
12. 在设计模型中,可以直接将实体类及其关系映射为关系数据库,类可以映射为(),对象则映射为(),属性映射为()。
13. 设计时通常会将一些公共算法封装成特定的类,这种类被 称为()类。
14. 如果类A和类B是一对多的关系中,即一个类A的中以有0个或多个类B的对象,而一个类B的对象只能有一个类A的对象,在映射为关系数据库的表时,外键应放在()表中。
二、判断题
1. 设计继承关系时,超类通常被设计为抽象类。()
2. 螺旋模型特别适用于需求不够明确的软件开发项目,但不适家用于大而复杂的系统。()
3. 用例描述中的事件流,应该描述参与者与系统的交互过程。()
4. 分析模型是设计模型的输入。()
5. 顺序图中的消息映射为发送消息的类中的操作。()
6. 在多层结构的设计中,包应公依赖于同一层和次下层的包。()
7. 类的操作必须定义为公有可见的。()
8. 软件开发过程就是编写程序代码的过程。()
9. 关联类最常见的用途就是协调多对多关系。()
10. 在用例的包含关系中,基础用例可能是,也可能不是一个真实存在的用例,一定会执行被包含用例。()
11. 类与类之间的泛化关系,即继承关第,是一般元素和具体元素之间的分类关系。()
12. 类图表示了一个系统的动态结构。()
13. 活动图可以对并行流程建模。()
14. 活动和来对业务流程建模,可以发现业务流程存在的缺陷,以优化业务流程。()
三、问答题
1. 描述面向对象的软件开发生命周期包含哪些阶段?并说明每个阶段主要完成什么任务?
2. 请描述类之间的聚合关系和组合关系的区别,并举例说明。
3. 试简述建立一个用例模型所包含的步骤,并说明一个用例的用例描述(用例规约)需要包括哪些主要内容?
四、综合应用题
1. 自动柜员机,即ATM,是指银行在不同地点设置的一种小型机器,利用一张信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款,存款,转帐等银行柜台服务。
(1) 画出ATM机的用例图
(2) 给出ATM机转款过程的用例描述
2. 某公司办事员得用某信息系统打印账单的过程如下所示 。
由办事员输入账单材料流到系统中的BillDetailAcceptor类,由BillDetailAcceptor核对账单材料流,并将其发送至TotalAmountCalculator类,TotalAmountCalculator计算总账,并发给BillPrinter类打印账单,打印结果最后返回给办事员。
(1) 给出打印系统中的类及操作,并画出类图。
(2) 试使用顺序图描述上述过程。
答案:
一:1.软件工程
2.时间,成本
3.参与者
4.概念模型,逻辑模型,实体
5. 序列图和协作图
6.泛化,包含,扩展
7. 功能,性能明确,完整,无重大变化的 --用户需求经常变更的软件项目
8.参与者,用例
9.泛化,聚合,组合,
10.问题的定义及规划,需求分析,软件设计,程序编码,软件测试,运行维护
11.数据流图,实体关系图,状态转换图
12.表,关系数据库,列
13.封装类
14.B
二:TTTTTTFFTFTTTT
三:(1)1,软件定义时期:a,问题定义b,可行性研究c,需求分析 2,软件开发时期a,概要设计b,详细设计
c,编码和单元测试d,综合测试 3,运行维护时期 1.完善性维护,2.纠错性维护3.适应性维护4.预防性维护
(2)聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享 。比如计算机与CPU,公司与员工的关系等.
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑 。
(3)1.需求获取,分析需求,用例在需求分析中的使用,识别参与者,确定用例,用例的粒度,用例间的关系,用例描述,用例建模
2.简要说明,事件流,用例场景,特殊需求,前置条件,后置条件
四:(2)
1.ATM机转款过程
1.1简要说明
Actor:用户
2.事件流
2.1基本流
1.发起转帐:顾客将银行卡插入读卡器;
2.验证银行卡:ATM读取卡上的银行标识和账号数据,验证卡的有效性;
3.输入密码:在ATM提示下,顾客输入密码;
4.验证账号和密码:ATM验证账号有效并且密码正确;
5.选择服务:在ATM提示的可选服务中,顾客选择转帐;
6.输入转款额:在ATM提示下,顾客输入50元倍数的金额;
7.服务授权:ATM向银行主机提供账号+转款额,发起转款事务,银行主机返回转款授权,并更新余额;
8.派发通知:ATM显示转帐成功;
9.返还银行卡:ATM吐出银行卡;
10.提供凭据:ATM打印并吐出凭条,并更新内部日志。
2.2备选流
2.21密码错误:ATM要求重新输入(输入错误3次自动吐卡)
2.22.账号不存在:ATM显示如法进行转帐 ;
2.23.ATM中现金空缺:ATM的服务选项中没有取款;
2.24ATM中现金少于取款额:ATM给出提示并回到步骤6;
2.25.顾客余额少于取款额:ATM给出提示并回到步骤6;
2.26前置条件:ATM机开机并正常运作;顾客拥有一张可以插入ATM机读卡器的银行卡;
2.27后置条件:最小保证:顾客的操作被记录(录像);所有的账户和交易记录必须保持平衡;ATM机与银行主机系统的通讯重新初始化;
成功保证:顾客取回银行卡、凭条;顾客账户数据被正确修改;银行系统记录了转款信息。
展开阅读全文