您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 大连理工大学软件学院软件工程作业及答案2019
1软件工程课后习题答案(适用于《软件工程》朴勇,周勇编著,2019年版)目录第1章软件工程概述...........................................................................................................................2第2章软件开发过程...........................................................................................................................3第3章需求分析....................................................................................................................................4第4章软件架构的构建......................................................................................................................9第5章类的分析与设计....................................................................................................................10第6章代码生成..................................................................................................................................12第7章类的详细设计.........................................................................................................................14第8章设计优化..................................................................................................................................19第9章实现技术..................................................................................................................................24第10章交互设计................................................................................................................................28第11章软件测试................................................................................................................................29第12章软件项目级管理..................................................................................................................33第13章软件过程管理及改进.........................................................................................................37源代码2第1章软件工程概述1.软件工程主要包括哪些内容?软件工程是从技术和管理两个方面开发和维护计算机软件的一门学科。IEEE对软件工程的定义是:将系统化、规范化、可量化的工程原则和方法应用于软件的开发、运行和维护及对其中方法的理论研究,其主要目标是高效开发高质量的软件,降低开发成本。软件工程知识体系包含两个部分:开发过程和支持过程;10个主要的知识域,分别是:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量。2.面向对象分析方法优于传统方法的根本原因是什么?可否借助图1.4或其他实例给出自己的理解?面向对象方法是一种动态的思想,其出发点和基本原则是尽可能模拟人类习惯的思维方式,将现实世界中的实体抽象为对象(Object),对象中同时封装了实体的静态属性和动态方法。面向对象分析设计的方式使得业务领域中实体及实体之间的关系与对象及其关系保持一致,做到了概念层与逻辑层的相互协调,更要强调的是各种逻辑关系在结构上的稳定性,通过稳定的结构来提高应对各种变化的能力。技术上,对象融合了数据及在数据之上的操作,所有的对象按照类(Class)进行划分,类是对象的“抽象”;类与类之间可以构成“继承”的层次关系;对象之间的互相联系是通过消息机制实现的,确保了对信息的“封装”,使得对象之间更为独立。同时,面向对象的分析过程既包含了由特殊到一般的归纳思维过程,也有由一般到特殊的演绎思维过程,而且对象是更为独立的实体,可以更好地进行“重用”。3.UML包含哪些重要的模型?它们在系统开发的解空间中作用如何?UML2.0具体包括以下模型:1.用例图:用于表示系统与使用者(或其他外部系统)之间的交互,有助于将需求映射到系统;2.活动图:用于表示系统中顺序和并行的活动;3.类图:用于表示类、接口及其之间的关系;4.对象图:用于表示类图中定义的对象的实例,其配置是对系统的模拟;5.顺序图:用于表示重要对象之间的互动顺序;6.通信图:用于表示对象交互的方法和需要支持交互的连接;7.时序图:用于表示重点对象之间的交互时间安排;8.交互概况图:用于将顺序图、通信图和时序图收集到一起,以捕捉系统中发生的重要交互情况;9.组成结构图:用于表示类或组件的内部,可以在特定的上下文中描述类间的关系;10.组件图:用于表示系统内的重要组件和彼此间交互所用的接口;11.包图:用于表示类与组件集合的分级组织;12.状态图:用于表示整个生命周期中对象的状态和可以改变状态的事件;13.部署图:用于表示系统最终怎样被部署到真实的世界中。3第2章软件开发过程1.总结敏捷生命周期模型与传统瀑布模型主要的不同点及适用情况。敏捷生命周期模型处理需求和技术变化主要通过增量和迭代过程。在每一次周期结束时,都交付用户一个可用的、可部署的系统,每次迭代周期尽可能短,以便能及时频繁地处理需求变化和用户反馈。而传统瀑布模型中,用户只有在开发早期及开发结束后,才有机会接触系统,且由于文档驱动式的开发方式,模型缺少灵活性,变更很不容易,变更来的越迟,付出的代价也越大。瀑布模型是一种计划驱动的模型,在对系统整体上的把控和协调开发过程中,上具有一定的优势,因此瀑布模型比较适合规模较大的系统开发或者分布式的开发模式。而敏捷生命周期模型更适合规模中小、需求变化频繁的系统开发,强调团队的作用,因此更适合集中式的开发模式。2.什么是用例?它与功能的含义有什么不同?举例说明。用例(UseCase)是指用户通过系统完成的有价值的目标。用例不是一个具体的功能,一个用例是用户与系统的完整交互,可能涉及多个功能的组合,不同的用例可能会涉及相同的功能组合,但意义却不同。例如,用户按下计算器上的减号键,这是一个功能;用户按下“3-2=”的序列并计算出结果,这是一个用例。3.简述DevOps的基本原理和任务。DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。4第3章需求分析1.在软件开发过程中,问题发现得越晚,修正起来越困难,付出的代价越高。分析原因,至少给出两个理由,并简短说明。问题发现得越晚,所涉及的部分就越多,因为软件开发已经接近完成,问题可能会对软件开发产生全局性的影响,导致整个项目的失败;而前期发现问题则可以较快地修正,因为此时往往程序还没有开发完成,和问题相关的部分也相对较少,修改起来成本也更小。2.图3.10通过活动图描述了合同签订的流程,请对其进行扩展,满足以下要求。(1)客户对销售的产品并不感兴趣。(2)对于金额小于20万元的合同,在谈判的过程中需要部门经理的参与,考虑到项目管理的费用,由他们决定是否按照当前的合同金额签订合同。(3)相关部门在成本核算前会提出一些问题,需要销售人员向客户询问,并澄清结果。202053.给出以下需求描述的用例图。(1)一个音像商店准备开发软件系统,用于向客户销售或者租借电影光盘。(2)音像商店向多家订购商订购光盘,然后分类存储在系统中,订购了上千张光盘;还可以根据客户的请求向订购商订购光盘。(3)所有的电影光盘用条码来管理,条码的号码是光盘的唯一标识。(4)音像商店可以向客户销售或租赁电影光盘。使用条码扫描来支持销售或租赁。(5)音像商店建立会员制,会员客户购买电影光盘可以享受折扣。会员卡也使用条码来管理。(6)会员可以通过网络预订电影光盘,并在指定的日期来取。(7)会员可以利用灵活的搜索机制找到喜欢的电影,如果没有对应光盘,可以提出预订。使用UML给出上述需求描述的用例图。要求绘制规范,尤其注意“角色—用例”和“用例—用例”之间的关系。eteeteCt64.根据某毕业设计选题系统的功能描述,使用UML建模技术,完成需求分析的用例图,包括系统的用例及其子用例(如果有,需要标记与主用例的关系)和角色(Actor)。(1)教师信息维护:教务员录入老师的基本信息;教师信息包括教师ID、教师姓名、教师职称、联系方式、邮箱地址等,可从Excel中导入;指导教师的联系方式在学生选题功后,才能公开给学生。(2)学生信息维护:教务员录入和维护学生信息,学生信息包括学号(学生ID)、学生姓名、班级。(3)登录:学生、教师、教务员都需要输入ID和密码登录系统,使用权限范围内的用例,可以修改个人密码。(4)出题:教师使用此功能登记和维护毕业设计的题目。子功能是在出题过程中,要确定题目的类型,如校内或者校外,可选的是直接指定该题目的选题学生。(5)审题:系主任负责对所有该系教师出的题目进行审核,合格的题目可以发布,不合格的题目要求教师修改。(6)开放选题:教务员将所有审核通过的题目公开,供学生选择。(7)选题:学生浏览公开的题目列表,根据题目要求和个人兴趣及特点,选择相应的题目。(8)确认选题:教师审查自己所出题目的选题情况,对合格的学生予以确认,将不合格的学生删除,并发送邮件通知。clecleclecleeteclecleeteCtcleclecleeteCt75.以下给出了“老年人监护系统”中的用例及其描述,使用UML用例图描述该系统,并给出用例之间的联系。(1)摔倒动作检测:从楼梯传感器和摄像头中获取输入数据,用以检测是否有人摔倒。(2)摔倒事件报警:如果检测到某位老人摔倒,那么发送一条报警消息到手机上,同时该报警信息会被发送到用例“事件日志”中进行记录。(3)事件日志:将发生的事件记录在数据库中。(4)床传感器监测:从安装在床位上的床传感器中获取脉搏、呼吸等数据,并发送到用例“事件日志”中处理。(5)配置系统:系统管理员对系统进行各种配置操作。eteCtclecle86.在图书管理系统中:(1)管
本文标题:大连理工大学软件学院软件工程作业及答案2019
链接地址:https://www.777doc.com/doc-2412066 .html