复习
目录
1.理解可行性分析包含哪几个的分析?各可行性分析包含的内容。
4.会用数据流图建模,能建立实际问题的顶层和功能级的数据流图,并定义数据流图中的数据
2.对实际项目,结合项目特点,能采用适合的人员组织结构和软件过程模型,并
3.了解常用的项目计划制定工具的特点,能用项目工具制定项目计划。
4.据给出的项目活动图,会求项目关键路径和最少完成时间以及某任务的机动
5.理解项目质量保证的内容及措施,并能结合实际项目,制定质量保证计划。
一、可行性分析(14分)
1.理解可行性分析包含哪几个的分析?各可行性分析包含的内容。
2.会计算项目的投资回收期和纯收入。
例:已知一个基于计算机的系统的软件升级的开发成本估算值为2万元,预计新
系统投入运行后每年可以带来1万元的收入,假定新软件的生存周期(不包括开
发时间)为5年,贴现率为11%,根据题意回答以下问题。
已知:1.112=1.23,1.113=1.37,1.114=1.52,1.115=1.69
投资回收期就是看哪一年回本,
·再如:
投资回收期:
二、结构化方法(22分)
1.结构化分析要建立哪些模型?各用哪些工具表达?
2.数据流图四种基本要素以及符号。
3.理解数据流图细化过程中,父图与子图平衡的含义。
(1)保持父图与子图平衡。父图中某加工的输入/输出数据流必须与其子图的输入/输出数据流在数量和名字上相同。
(2)如果父图的一个输入(或输出)的数据流对应于子图中几个输入(或输出)
的数据流,而此图中组成这些数据流的数据项全体正好是父图中的这一数据流,
那么它们仍然是平衡的。
4.会用数据流图建模,能建立实际问题的顶层和功能级的数据流图,并定义数据流图中的数据
某图书馆管理系统,用户使用自己的借书证可以通过系统的自助终端完成借
书和还书操作。用户在系统中登录后,能够查看个人借书信息,系统提供给用户
用续借功能,用户“续借”的前提是,当前用户状态值和图书借阅表中待续借书
籍的状态值(续借只允许一次)均正常,才能进行续借操作,延长书籍的借阅时
间。用户还书的时候,如果图书出现损毁,需要进行罚款并记录在罚款明细表中。
对于将要超期图书,超期前3天,会进行超期提醒。图书管理员设置读者可借阅
图书的最大数目。
三、面向对象方法(38分)
1.理解面向对象方法中的四个要素及其含义。
- 对象:对象是现实世界中个体或事物的抽象表示,封装了其属性及相关的操作
- 类:类是对象的抽象
- 继承:在已有类的基础上,子类可以继承父类的特征
- 消息通信:消息通信是指对象之间通过互相发送消息来实现交互和传递信息的过程
2.理解面向对象分析需要建立的模型及工具。
对象 类图
动态 状态图、时序图等
功能 用例图
3.会用用例图描述用户的需求,理解用例间的包含和扩展关系
4.能用面向对象方法进行项目的分析与设计。
5.能绘制某个功能的类图,并能用序列图,设计某功能。
·拟开发网上购物平台,系统中的用户可以浏览商品,进行注册、登录后,可
以设置收货地址,将商品加入购物车,进行下单,订单付款和确认收货的操作,
在收货之后,如果对商品质量不满,可以进行退货操作。
卖家注册、登录系统后,能够进行商品的增删改管理,对于用户已付款订单,可
以修改发货状态,对于用户的退货请求,可以进行退货处理。此外,卖家还可以
统计商品销量。
·根据以下描述,画出相应的UML类图
- 神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。
- 航天员可以在返回舱内驾驶飞船,轨道舱是航天员工作和休息的场所。在紧急的情况下,可以利用逃逸救生塔逃生。
- 在飞船两侧有多个太阳能电池翼,可以为飞船提供电能
此处标注的菱形应该是组合关系,实心的
小结:
①聚合(包含)
一个雁群中有很多大雁,即包含关系
表示方法:空心菱形 + 实线箭头
②组合(拥有)
鸟和它的翅膀体现了部分和整体的关系,即组合关系
表示方法:实心菱形 + 实线箭头
③依赖
动物需要水和氧气才能生存
表示方法:虚线箭头
④关联
企鹅的生活和气候息息相关
表示方法:实线箭头
⑤实现
⑥依赖
·根据一个登录功能让画某个功能的类图做法
·某个功能的时序图
四、项目管理(26分)
1.了解项目小组人员组织结构常见的组织形式及其特点?
2.对实际项目,结合项目特点,能采用适合的人员组织结构和软件过程模型,并
能给出合理解释。
3.了解常用的项目计划制定工具的特点,能用项目工具制定项目计划。
4.据给出的项目活动图,会求项目关键路径和最少完成时间以及某任务的机动
(松弛)时间。
5.理解项目质量保证的内容及措施,并能结合实际项目,制定质量保证计划。
1.基于非执行的测试
2.基于执行的测试
3.程序的正确性证明
项目活动图:
(1)列出该项目的关键路径
对于关键路径有三条分别是:ABDIJKL和AEGHKL、ABDIJL三条关键路径,长度为20
(2)完成项目的最少时间
关键路径决定了项目最早可能完成的时间20
(3)求BI和EG的松弛时间
要求BI和EG的松弛时间,BI活动通过的路径有两条ABIJKL和ABIJL,其中两条路径的长度都为19,(如果有两条不同的路径应该选择最大的一条)
用关键路径减去该路径ABIJL的长度20-19=1,表示该活动的松弛时间。
活动EG位于该关键路径AEGHKL上,没办法延误,即松弛时间为0。
小结:
- ·关键路径就是找边上的值相加最大的路径,、
- 关键路径决定了项目最早可能完成的时间
- 后面一个点的最晚减去边最小的那个就是前一个的最晚时间
- 松弛是后一个最晚的数减去边的时间再减去前面的最早时间
对实际项目,结合项目能采用适合的人员组织结构和软件过程模型,并
能给出合理解释。
一、为了成功地完成软件开发工作,项目组成员必须以一种有意义且有效的方式彼此交互和通信。管理者必须合理地组织项目组,使项目组有较高生产率。
1.简要说明软件项目开发过程中,主要运用哪些项目组结构形式。
答:
民主制程序员组,小组成员完全平等、小组有高度凝聚力。
主程序员组,项目组中有经验丰富、技术高超的程序员发挥更大的作用。
现代程序员组.把民主制程序员组和主程序员组的优点结合起来的一种方法.由两个人共同完成主程序员的工作:
一个技术负责人负责领导小组的技术活动,一个行政负责人负责所有非技术性事务的管理决策。
2.假设你被指定为项目负责人,你的任务是开发一个应用系统,该系统类似于你的小组以前做过的那些系统。只不过规模更大且更复杂一些。客户已经写出了完整的需求文档,你将选用哪种项目组结构?为什么?
答:
主程序员组
由于待开发的应用系统类似于以前做过的系统,开发人员已经积累了较丰富的经验,没有多少技术难题需攻克。为了减少通信开销,充分发挥技术骨干的作用,提高生产率,加快开发速度,项目组的组织结构以基于主程序员组的形式为宜。
3.题设同上,采用哪种软件过程模型?为什么?
答:
针对待开发的系统,客户已经写出了完整的需求文档
项目组又有开发类似系统的经验。
因此,可以采用软件工程师熟悉的瀑布模型来开发本系统。
二、假设你被指定为项目负责人,你的任务是开发一个应用系统,该系统的目前需求尚不确定,用户需求存在模糊性,但是项目组中有一位曾经开发过类似项目的技术大佬。基于以上情况,你将选用哪种项目组结构?为什么?
答:由于项目组中存在经验丰富,技术高超的程序员担任骨干,能够有效进行技术把控和任务分解、推进,没有多少技术难题需攻克,为了减少通信开销,充分发挥技术骨干的作用,因此组织结构以基于主程序员组的形式为宜。
题设同上,采用哪种软件过程模型?为什么?
答:对待开发的系统,客户需求不很明确,项目组骨干有开发类似系统的经验因此,可以采用迭代模型来开发本系统。