软件工程第十章
- 格式:doc
- 大小:22.50 KB
- 文档页数:3
《软件工程实用教程》第10章软件工程标准与文档软件工程实用教程第10章软件工程标准与文档10.1 软件工程标准10.1.1 软件工程标准的定义软件工程标准是指为了规范和统一软件工程领域的活动、产品和过程而制定的一系列规范和指南。
10.1.2 软件工程标准的分类根据ISO/IEC 12207标准,软件工程标准可以分为四个主要类别:1、过程标准:定义软件工程过程的基本原则和规范,如ISO/IEC 12207标准;2、产品标准:定义软件工程产品的开发、评审和验证要求,如ISO/IEC 9126标准;3、测试标准:定义软件测试的方法、技术和规范,如ISO/IEC 25000标准;4、文档标准:定义软件工程文档的编写和管理规范,如ISO/IEC/IEEE 26515标准。
10.2 软件工程文档10.2.1 软件工程文档的定义软件工程文档是为了记录和传递软件开发过程中各种信息而编写的文件。
10.2.2 软件工程文档的目的主要目的是促进软件工程的沟通、交流和合作,确保软件开发过程能够明确、有序地进行。
10.2.3 软件工程文档的分类根据软件工程过程的不同阶段和功能,软件工程文档可以分为以下几种类型:1、需求文档:描述用户需求、系统规范和功能需求;2、设计文档:描述系统的总体设计、模块划分和接口定义;3、编码文档:描述程序的逻辑结构、算法和源代码;4、测试文档:描述测试计划、测试用例和测试结果;5、用户手册:描述系统的安装、配置和使用方法;6、运维手册:描述系统的运行、监控和维护方法。
10.3 软件工程文档编写规范10.3.1 文档命名规范为了方便管理和查找,软件工程文档应该采用统一的命名规范,一般包括项目名称、文档类型和版本号等信息。
10.3.2 文档格式规范软件工程文档应该采用标准的文档格式,一般包括标题、目录、正文、参考文献和附录等部分。
10.3.3 文档内容规范软件工程文档应该包含清晰、准确、完整的信息,能够满足用户的需求,并且需要经过严格的审核和审查。
第10章例题分析与解答作者:不详来源:2006年9月4日发表评论进入社区一、填空题1.面向对象方法认为系统是由应用域的___对象___组成。
2.对象具有状态,描述对象的状态用它的_属性值_____。
3.对象的抽象是_类_____。
4.类之间有两种结构关系,它们是分类关系和__组装____关系。
5.面向对象程序设计语言与其他程序设计语言的最主要差别是它具有_继承性_____。
6.动态模型描述了系统的__动态行为____。
二、选择题1.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D)关系。
A.组装B.整体成员C.has aD.一般具体2.面向对象分析阶段建立的三个模型中,核心的模型是( C )模型。
A.功能B.动态C.对象D.分析3.对象模型的描述工具是( C)。
A.状态图B.数据流图C.对象图D.结构图4.在有多重继承的类层次结构中,它的类层次结构是(B )层次结构。
A.树型B.网状型C.环型D.星型5.描述类中对象的行为,反映了状态与事件关系的是( B )。
A.对象图B.状态图C.流程图D.结构图6.在确定属性时,所有( C)是候选的属性。
A.动词B.名词C.修饰性名词词组D.词组三、应用题1.建立窗口系统的对象模型。
问题陈述如下:窗口分为对话窗、图形窗、滚动窗三种;对话窗中有若干对话项,由唯一的项名字来确定,对话项分为按钮、选择项、正文项三种,选择项中有若干对话项入口;图形窗中有若干形状元素,形状元素分为一维形状和二维形状,一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中多边形和折线由若干有序顶点组成,正文窗是滚动窗的一种,而图形滚动窗既是一种图形窗又是一种滚动窗。
2.在学校教学管理系统中,学生查询成绩就是系统中的一次交互,请用状态图来描述这种查询的交互行为。
答案:一、填空题1.对象2.属性值3.类4.组装5.继承性6.动态行为二、选择题1.D2.C3.C4.B5.B6.C三、应用题1.2.第10章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.对象2.类3.属性4.操作5.消息6.消息传递7.方法8.关系9.关联10.一般具体关系 11.整体部分关系12.继承13.单重继承 14.多重继承15.多态性 16.角色17.受限关联 18.封装19.对象模型20.动态模型21.功能模型 22.事件23.状态24.事件追踪25.状态图26.动作27.活动28.处理29.数据流30.动作对象31.数据存储对象 32.重用性二、填空题1.对象具有封装性,实现了__数据与操作____的结合。
十软件工程软件工程是建立在这样一个基础上,即利用合理的工程方法和原则来获得在真实机器上工作的可靠软件10.1 软件的生命周期软件最初由开发者小组开发。
通常,在它需要修改之前会使用一段时间。
由于软件中会发现错误、设计改变规则或公司本身发生变化,这些都导致需要经常修改软件。
为长久使用考虑软件应该被修改。
使用和修改,这两个步骤一直进行下去直到软件过时。
“过时”意味着因效率低下、语言过时、用户需求的重大变化或其他因素而导致软件失去它的有效性。
开发过程模型开发过程包括4个阶段:分析、设计、实现和测试最常见的两种开发过程模型1.瀑布模型: 开发过程只有一个方向的流动,这意味着前一个阶段不结束,后一个阶段不能开始优缺点–优点:在下一个阶段开始前每个阶段已经完成–缺点:如果过程中一部分有问题,必须检查整个过程1.增量模型(迭代模型): 软件的开发要经历一系列步骤。
开发者首先完成整个系统的一个简化版本,这个版本表示了整个系统,但不包括具体的细节10.2 分析阶段整个开发过程始于分析阶段,这个阶段生成规格说明文档,这个文档说了软件要做什么,而没有说明如何去做分析阶段的两种独立方法•面向过程分析:依赖于实现阶段使用过程编程语言•面向对象分析:依赖于实现阶段使用面向对象编程语言面向过程分析如果实现阶段使用过程式语言,那么面向过程分析(也称为结构化分析或经典分析)就是分析阶段使用的方法。
这种情况下的规格说明有使用多种建模工具•数据流图: 数据流图显示了系统中数据的流动。
•实体关系图: 用于数据库设计•状态图: 它通常用于当系统中的实体状态在响应事件时将会改变的情况下面向对象分析如果实现阶段使用面向对象语言,那么面向对象分析就是分析阶段使用的方法。
规格说明文档至少使用下列几个工具,•用例图: 给出了系统的用户视图:它显示了用户与系统间的交互。
4种组件–系统、用例、动作者和关系。
•系统(用矩形表示)执行功能。
•系统中的行动由用例(圆角的矩形)显示•动作者(线条人物)是使用系统的某人或某事。
第十章 软件工程管理10.1 软件工程管理概述软件工程管理是对软件项目的开发管理,是对整个软件生存期的所有活动进行管理。
任何工程的成败,都与管理的好坏密切相关,软件工程更不例外。
尤其是软件产品的特殊性,软件工程的管理对于保证软件产品的质量具有极为重要的作用,是软件项目开发成功的关键。
由软件危机引出软件工程,这是计算机发展史上一个重大进展。
为了对付大型复杂的软件系统,必须采用传统的“分解”方法。
软件工程的分解是从横向(空间)和纵向(时间)两个方面进行的。
横向分解就是把一个大系统分解为若干小系统,一个小系统分解为若干个子系统,一个子系统分解为若干个模块,一个模块分解为若干过程。
纵向分解就是生存期,把软件开发分解为几个阶段,每个阶段有不同的任务、特点和方法。
为此,软件工程管理需要有相应的管理策略和技术。
随着软件的规模和复杂度的不断增大,开发人员的增加以及开发时间的增长,这些都增加了软件工程管理的难度,同时也突出了软件工程管理的必要性和重要性。
事实证明由管理失败造成的后果要比开发技术错误造成的后果更为严重。
很少由软件项目的实施进程能准确地符合预定目标、进度和预算的,这也就足以说明软件管理的重要。
例如:Windows 2000的开发是微软公司历史上最艰巨的任务,仅仅是核心部门的成员就有2500人,测试用的代码就有1000万行,测试中所用到的脚本程序就有6500种。
类似规模如此之大的软件系统,如果没有科学的、规范的、有效的管理,是不可能成功的。
因此软件工程管理是软件工程的重要研究内容之一。
10.1.1 软件管理的任务与目标为使软件项目开发成功,必须对软件开发项目的工作范围、可能遇到的风险、需要的资源、要实现的任务、经历的里程碑、花费的工作量,以及进度的安排等等做到心中有数。
而软件项目管理可以提供这些信息。
任何技术先进的大型项目的开发如果没有一套科学的管理方法和严格的组织领导,是不可能取得成功的。
即使在管理技术较成熟的发达国家中尚且如此,在我国管理技术不高、资金比较紧缺的情况下,大型软件项目开发的管理方法及技术就显得尤为重要。
一判断题
1. 面向对象分析的核心在于建立一个描述软件系统的模型。
(f)
2.关于面向对象分析,它是系统需求建模的方法(t)
3.开发一个简单的问题解决方案是分析建模的目的。
(f)
4.实体关系图属于面向对象分析模型。
(f)
5.分析类用于描述系统中概念层次的对象。
(t)
6.在分析类中控制类用于描述一个用例所具有的事件流控制行为。
(t)
7. 在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析
类实例之间的消息传递将用例的职责分配到分析类中。
(t)
8. 开发人员使用顺序图可以将用例的行为分配到所识别的分析类中。
(t)
9. 分析模型一般采用需求分析评审方式进行验证。
(t)
10. 需求评审人员主要由开发人员组成,一般不包括用户。
(f)
二填空题
1.分析工作主要内容包括理解表达验证。
2.面相对象最基本最重要最核心的模型是对象模型。
3..对象模型由五种层次组成,分别是主题层类与对象层结构层属性层和服务层。
4.面相对象建模得到的模型包含三个要素是静态结构交互次序和数据交换。
5.五个层次对应着面相对象分析过程中建立的对象模型的五项主要活动是找出类与对象识别结构识别主题定义属性定义服务。
6.属性是对象的性质.
7.确定属性的过程包括分析和选择两个步骤。
8.建立继承(即泛化)的两种方式是自底向上和自顶向下。
9.在画状态图前先画出事件跟踪图。
10.功能模型由数据流图组成。
三选择题
1.对象模型的描述工具是(c )。
A.状态图B.数据流图
C.对象图D.结构图
2.动态模型的描述工具是(a )。
A.状态图B.数据流图
C.对象图D.结构图
3.分析模型一般采用()方式进行验证。
(C)
A. 总结
B. 阶段性报告
C. 需求分析评审
D. 转化成设计模型
4.开发人员使用()可以将用例的行为分配到所识别的分析类中。
(B)
A. 用例图
B. 顺序图
C. 类图
D. 状态图
5.关于面向对象分析,下列的()是正确的。
(A)
A. 它是系统需求建模的方法
B. 是分析系统设计的技术
C. 以从分析直接编写代码
D. 在软件生命周期中,它出现在面向对象设计之后
6.下列的()不是分析建模的目的。
(C)
A. 定义可验证的软件需求
B. 描述客户需求
C. 开发一个简单的问题解决方案
D. 建立软件设计的基础
7.下列的()不属于面向对象分析模型。
(C)
A. 用例图
B. 类图
C. 实体关系图
D. 顺序图
8.在分析类中,()用于描述一个用例所具有的事件流控制行为。
(D)
A. 实体类
B. 界面类
C. 接口类
D. 控制类
9.常用动词或动词词组用来表示(C)
A对象B 类C 关联D 属性
10.表示对象相互行为的模型是(B)模型。
A对象B 动态C 功能D静态
四简答题
1. 面向对象分析包括哪些活动?应该建立哪些类型的模型?
参考答案:
面向对象分析的主要活动包括理解用例模型、识别分析类、定义交互行为、建立分析类图以及评审分析模型等。
面向对象分析应该建立功能模型、分析对象模型和动态模型等三种类型,其中功能模型由用例和场景表示,分析对象模型由类图和对象图表示,动态模型由状态图和顺序图表示。
2. 什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型?
参考答案:
实体类用于描述必须存贮的信息及其相关行为;边界类用于描述外部参与者与系统之间的交互;控制类用于描述一个用例所具有的事件流控制行为。
将分析类划分成这三种类型的好处在于:
所产生的类更小更专门化;
这种划分将易变的外部界面与系统基本功能进行了屏蔽,使分析模型更易于变化。
3.面向对象方法有哪些特征
参考答案:继承多态封装抽象
4.多态性的好处是什么?
参考答案:
主要是便于当一个父类不能生成对象时,比如这个父类声明为abstract,众所周知,抽象类是不能生成实例的,但是又要用父类的实例来解决问题时,就可以创建一个父类的变量来引用子类的实例,即通过多态性来实现,把子类的实例泛化为父类.这时要注意,当通过父类的变量来调用这个实例的方法时,这些方法必须在父类中曾经定义过,不然会出错.当
子类中重写了在父类中的方法时,调用这个方法时就会实现重写过的子类方法.
5.建立动态模型的步骤是什么?
参考答案:
第一步编写典型交互行为的脚本。
第二步从脚本中提取事件确定触发每个事件的动作及接受事件的目标对象,第三步排列事件发生的次序没确定每个对象可能有的状态间的转换关系,并用状态图描绘他们,最后比较各个对象的状态图,检查他们之间的一致性,确保事件之间的匹配。