软件工程 (8)
- 格式:pptx
- 大小:1.92 MB
- 文档页数:273
第八章面向对象的设计方法本章采用基于UML的面向对象设计方法的将分析模型转换为设计模型。
如第五章所述,面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。
为完成这一转换过程,设计人员必须处理以下任务:(1)针对分析模型中的用例,设计实现方案。
实现方案用UML交互图表示。
(2)设计技术支撑设施。
在大型软件项目中,往往需要一些技术支撑设施来帮助业务需求层面的类或子系统完成其功能。
这些设施本身并非业务需求的一部分,但却为多种业务需求的实现提供公共服务。
例如,数据的持久存储服务、安全控制服务和远程访问服务等。
在面向对象设计中,需要研究这些技术支撑设施的实现方式以及它们与业务需求层面的类及子系统之间的关系。
(3)设计用户界面。
(4)针对分析模型中的领域概念模型以及第(2)、(3)两个步骤引进的新类,完整、精确地确定每个类的属性和操作,并完整地标示类之间的关系。
此外,为了实现软件重用和强内聚、松耦合等软件设计原则,还可以对前面形成的类图进行各种微调,最终形成足以构成面向对象程序设计的基础和依据的详尽类图。
面向对象的软件设计过程如图8-1-1所示。
图8-1-1 面向对象的软件设计过程第一节设计用例实现方案UML 的交互图(顺序图、协作图)适于用例实现方案的表示。
因此,本节首先介绍交互图的语言机制,然后探讨用例实现方案的设计方法。
该设计方法包含如下3个步骤:(1)提取边界类、实体类和控制类;(2)构造交互图;(3)根据交互图精华类图。
一、顺序图顺序图用来描述对象之间动态的交互关系,着重表现对象间消息传递的时间顺序。
在顺序图中,参与交互的对象位于顶端的水平轴上,垂直轴表示时间,时间推移的方向是自上而下的。
顺序图中的对象一般以“对象名:类名”的方式标识,但也可以仅采用缩写形式“对象名”或者“:类名”。
软件工程自考题模拟8(总分:100.00,做题时间:90分钟)一、单项选择题(总题数:20,分数:40.00)1.下列关于需求规约的作用说法错误的是______(分数:2.00)A.需求规约是软件开发者和客户之间一份相关的技术合同书√B.对于项目的其余大多数工作,需求规约是一个管理控制点C.对于产品/系统的设计,需求规约是一个正式的,受控的起始点D.需求规约是创建产品验收测试计划和用户指南的基础解析:[考点] 本题主要考查的知识点为需求规约的作用。
需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现,并不是客户与开发者之间的相关技术合同。
2.下列描述中,不属于程序流程图优点的是______(分数:2.00)A.历史最悠久,使用最广泛B.容易表示数据结构√C.支持程序的三种基本控制结构D.直观清晰,易于使用解析:[考点] 本题主要考查的知识点为程序流程图。
程序流程图是一种历史最悠久,使用最广泛的设计工具,对控制流程的描绘直观,便于初学者掌握。
在程序流程图中,使用顺序、选择和循环三种基本控制结构。
但是它不是一种逐步求精的工具,也不易表示数据结构。
3.数据字典是软件需求分析阶段所采用的最重要工具之一,其最基本的功能是______(分数:2.00)A.数据定义√B.数据通讯C.数据库设计D.数据维护解析:4.以下说法错误的是______(分数:2.00)A.组合是聚合的一种特殊形式B.在一个组合中,一个链所连接的对象构成的任何元组,必须都属于同一个整体类的对象C.在一个组合中,组合末端的多重性可以超过1 √D.如果整体类的实例和部分类的实例具有相同的生命周期,那么这样的聚合称为组合解析:5.不属于在单元测试期间需要考虑的模块特征的是______(分数:2.00)A.模块接口B.局部数据结构C.重要的执行路径D.测试用例√解析:6.调试的目的是为了______(分数:2.00)A.证明软件符合设计要求√B.发现软件中的错误和缺陷C.改善软件的功能和性能D.发掘软件的潜在能力解析:[考点] 本题主要考查的知识点为调试。
软件工程心得体会8篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作总结、工作计划、调研报告、演讲致辞、合同协议、条据文书、规章制度、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work summaries, work plans, research reports, speeches, contract agreements, documents, rules and regulations, teaching materials, complete essays, and other sample essays. If you would like to learn about different sample formats and writing methods, please pay attention!软件工程心得体会8篇心得体会让我明白了自我反思的重要性,只有不断反思才能不断进步,生活是一本永不停歇的教科书,在其中我们可以通过不断的尝试和反思,积累丰富的心得体会,本店铺今天就为您带来了软件工程心得体会8篇,相信一定会对你有所帮助。
1.软件测试(第8 章) 2.静态测试(第8 章) 3.动态测试(第8 章) 4.黑盒测试(第8 章) 5.白盒测试(第8 章) 6.语句覆盖(第6 章) 7.判定覆盖(第6 章) 8.条件覆盖(第6 章) 9.判定/条件覆盖(第6 章) 10.条件组合覆盖(第6 章) 11.路径覆盖(第6 章) 12.测试用例(第8 章) 13.驱动模块(第6 章) 14.桩模块(第6 章) 15.单元测试(第8 章) 16.集成测试(第8 章) 17.确认测试(第8 章) 18.渐增式测试(第8 章) 19.非渐增式测试(第8 章) 20.调试(第9 章) 21.人的因素的含义(第11 章) 22.基线(第12 章) 23.软件配置管理(第12 章24.软件配置项(第12 章) 25. 软件概要设计(第5 章) 26. 模块(第5 章) 27. 模块化(第5 章) 28. 抽象(第5 章) 29. 信息隐蔽(第5 章) 30. 模块独立性(第5 章) 31. 耦合性(第5 章) 32. 无直接耦合(第5 章) 33. 数据耦合(第5 章) 34. 标记耦合(第5 章) 35. 控制耦合(第5 章) 36. 公共耦合(第5 章) 37. 内容耦合(第5 章) 38. 内聚性(第5 章) 39. 偶然内聚(第5 章) 40. 逻辑内聚(第5 章) 41. 时间内聚(第5 章) 42. 通信内聚(第5 章) 43. 顺序内聚(第5 章) 44. 功能内聚(第5 章) 45. 软件结构图(第5 章) 46. 结构化设计(第5 章) 47. 变换流(第6 章) 48. 事务流(第6 章) 49. JSP (第6 章) 50. JSD (第6 章)答案:1. 软件测试指为了发现软件中的错误而执行软件的过程。
它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
判断题:1.软件就是程序,编写软件的关键是编写程序。
2.可行性研究阶段要进行一次大大压缩简化了的系统分析和设计的过程。
3.需求管理主要是对需求变化的管理,及如何有效控制和适应需求的变化。
4.数据流图表示了软件系统对数据的算法处理过程,即系统的物理模型。
5.需求分析的主要方法有SD法、OOA法及HIPO法等。
6.没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。
7.用面向对象方法分析、设计、实现软件,仍属线性的瀑布开发模型。
8.文档是影响软件可维护性的决定因素。
9.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
10. 软件模块之间的耦合性越弱越好。
11. 软件开发小组的组成人员的素质应该好,而人数则不宜过多。
12. 总体设计的基本目的就是回答:"概括地说,系统应该如何实现?"这个问题。
13. 文档只起备忘录的作用,可以在软件开发完成后再整理生成。
14. 结构化软件开发的方法的工作模型是螺旋模型。
15. 总体设计的基本目的就是回答:"概括地说,系统应该如何实现?"这个问题。
16. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
1.N 2.Y 3. Y 4.N 5.N 6.Y 7.N 8.Y9.N 10.Y 11.Y 12. Y 13. N 14.N 15.Y 16.Y判断题:1.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。
2.过程描述语言可以用于描述软件的系统结构。
3.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。
4.快速原型模型可以有效地适应用户需求的动态变化。
5.在面向对象的需求分析方法中,建立动态模型是最主要的任务。
6.集成测试主要由用户来完成。
7.确认测试计划应该在可行性研究阶段制定8.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
软件工程随堂练习一、选择题1.软件工程是()。
A、是结构化程序设计的指导方法B、是软件开发技术和软件工程管理学为内容的学科C、是指导计算机软件开发和维护的工程学科D、是指导软件开发的工程方法。
2.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的()阶段。
A.各个B. 前期C.中期D.后期3.原型方法是用户和设计者之间的一种交互过程,选用于()系统。
A. 需求确定的B. 需求不确定性较高的C. 管理信息D. 决策支持4.要将一个复杂的系统分析清楚,常用方法是结构化分析方法,结构化分析方法就是()。
A、面向数据流自顶向下逐步求精的方法B、由内向外进行分析的方法C、先局部后整体的分析方法D、使用IPO图形工具分析的方法5.概要设计过程是()A. 先确定系统的实现方案,然后在结构设计阶段中确定软件的模块结构B. 确定软件的模块结构,再设计出系统的所有程序和数据文件C. 设计出系统的HIPO 图并对所有模块进行描述D. 规划出系统的后期设计总体结构6.程序的三种基本结构是()。
A、过程,子程序,分程序B、顺序,选择,循环C、递归,堆栈,队列D、调用,返回,转移7.结构化程序设计的一种基本方法是()。
A、筛选法B、递归法C、归纳法D、逐步求精法8.软件维护的四类维护活动是:()A.改正性维护,适应性维护,完善性维护和预防性维护。
B.适应性维护,完善性维护,抢救性维护和辅助性维护。
C.改正性维护,适应性维护,完善性维护和辅助性维护。
D.适应性维护,完善性维护,抢救性维护和预防性维护。
9.软件开发瀑布模型中的软件定义时期各个阶段依次是:()A.可行性研究,问题定义,需求分析。
B.问题定义,可行性研究,需求分析。
D.以上顺序都不对。
10.在软件生存周期中,工作量所占比例最大的阶段是( )阶段。
A.需求分析 B.设计 C.测试 D.维护11.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。
电计系软件工程专业20 –20 学年度期《软件工程》试题(第8套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、软件可行性研究一般不考虑 ( )A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题2、软件详细设计的主要任务是确定每个模块的 ( )A、算法和使用的数据结构B、外部接口C、功能D、编程3、为了提高软件的可维护性,在编码阶段应注意( )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格4、快速原型模型的主要特点之一是( )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件5、软件需求分析的主要任务是准确地定义出要开发的软件系统是( )A.如何做B.怎么做C.做什么D.对谁做6、软件维护产生的副作用,是指( )A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作7、软件生命周期中所花费用最多的阶段是(D)A、详细设计B、软件编码C、软件测试D、软件维护8、因计算机硬件和软件环境的变化而作出的修改软件的过程称为 ( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护9、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( ) 。
A、时间内聚B、功能内聚C、信息内聚D、过程内聚10、结构化设计又称为( )A、概要设计B、面向数据流设计C、面向对象设计C、详细设计11. 协作图反映收发消息的对象的结构组织,它与()是同构的。
A 用例图B 类图C 活动图D 时序图12.黑盒测试在设计测试用例时,主要需要研究( )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明13.CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
软件工程吴迪第八章课后答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】软件工程课后答案《软件工程》作业及答案1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2假设你是一家软件公司的总工程师,当你把图给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
重庆科创职业学院历年真题/综合题(仅供复习)软件工程复习题(第八章)一、选择题1.CMMI是一个过程改善框架,其关注相应的质量支撑点,来帮助组织开发和维护相应的产品和服务,从而提高质量。
下列选项中,哪一项不是质量支撑点。
【D】A.人员B.规程和方法C.工具D.技术二、填空题1.所谓过程改善,是指人为设计的一个活动程序,其目的是改进组织的过程性能和成熟度,并改进这一程序的结果。
2.CMMI是由一些过程域组成,过程域有自己的专用目标和共用目标,每个专用目标和共用目标都有包括相应的专用实践和共同实践,每个专有实践中有典型工作产品和子实践,每个共同实践中,也有自己子实践和共用实践的精化。
3.CMMI模型中,共有22个过程域,分为四类,分别是:项目管理类、工程类、支持类、过程管理类。
4.为了改善开发过程和维护过程的组织,CMMI引入了两种类型的”等级”一个称为能力等级、另一个称为成熟度等级5.CMMI中,针对每一个过程域设定了6个能力等级分别是:0级:未完成级、1级:已执行级、2级:已管理级、3级:已定义级、4级:已定量管理级、5级:持续优化级。
6.所谓成熟度等级,是指达到预先定义的一组过程域所有目标的一种过程改善等级。
由预先定义的一个过程域集及其相关的一些专用实践和共用实践组成7.在CMMI中,应用于一个组织过程改善的成熟度等级有5个,分别是:1级:初始级,2级:已管理级、3级:已定义级、4级:已定量管理级、5级:持续优化级。
8.成熟度等级是用于表征组织对一组过程域的改进,而能力等级是用于表征组织对单个过程域的改进9.三、简答题1.简述CMMI模型的模型部件及部件间的关系2.简述能力等级与成熟度等级之间的区别与联系3.简述专用实践与共用实践的关系。