软件工程作业二

级(春季)软件开发工具与方法作业(2)

ps.已标明答案来源,答案仅供参考

如有更好答案请留言告知

另,有的题目部分答案没找到

《软件开发工具与方法》作业.9学号:姓名:

第3讲软件过程第4讲软件开发

二、名词解释1、过程(来自课件)软件过程(process)是在软件生存周期中所实施的一系列活动(activity)的集合,且每个活动可由一些任务(task)组成。2、过程模型(来自软件工程考试复习题目和答案)所谓软件过程模型就是一种开发策略,这种策略针对软件工程的各个阶段提供了一套范形,使工程的进展达到预期的目的。对一个软件的开发无论其大小,我们都需要选择一个合适的软件过程模型,这种选择基于项目和应用的性质、采用的方法、需要的控制,以及要交付的产品的特点。一个错误模型的选择,将迷失我们的开发方向。3、业务流程图(来自软件工程考试复习题目和答案)业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向,它是物理模型。业务流程图主要是描述业务走向。业务流程图描述的是完整的业务流程,以业务处理过程为中心,一般没有数据的概念。4、数据流图(来自百度)数据流图(DataFlowDiagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。在结构化开发方法中,数据流图是需求分析阶段产生的结果。5、需求工程(来自软件工程考试复习题目和答案)需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。

三、简答1、CMMI五个等级各自的特点是什么?(来自百度)   (1)初始级(initial)。工作无序,项目进行过程中常放弃当初的计划。管理无章法,缺乏健全的管理制度。开发项目成效不稳定,项目成功主要依靠项目负责人的经验和能力,他一但离去,工作秩序面目全非。   (2)可重复级(Repeatable)。管理制度化,建立了基本的管理制度和规程,管理工作有章可循。初步实现标准化,开发工作比较好地按标准实施。变更依法进行,做到基线化,稳定可跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件。   (3)已定义级(Defined)。开发过程,包括技术工作和管理工作,均已实现标准化、文档化。建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解。   (4)已管理级(Managed)。产品和过程已建立了定量的质量目标。开发活动中的生产率和质量是可量度的。已建立过程数据库。已实现项目产品和过程的控制。可预测过程和产品质量趋势,如预测偏差,实现及时纠正。   (5)优化级(Optimizing)。可集中精力改进过程,采用新技术、新方法。拥有防止出现缺陷、识别薄弱环节以及加以改进的手段。可取得过程有效性的统计数据,并可据进行分析,从而得出最佳方法。2、为什么要进行软件过程改进?(来自课件)凡是活动,都存在过程;凡是过程,都存在改进;凡是改进,都没有终点。软件过程改进的必要性主要表现在以下几点:经过一段时间后,过程的性能区域降低;客户有越来愈高的需求;组织的过程是逐步成熟的;组织的目标可能是变化的;组织的环境是不断变化的;竞争对手在改进。3、软件开发组织在进行软件过程改进时,需要进行哪些主要的活动?

(来自书)ps.感谢dw同学

1)评估和差距分析:弄清自己的处境,揭示组织以某种方式应用现有软件过程及构成此过程的软件工程实践的优势和弱点。2)教育和培训:在引入SPI框架时,对过程和实践不正确的认识会导致不恰当的决定。因此,任何SPI策略的关键要素是对从业人员、技术管理人员和直接接触软件组织的高级管理人员的教育和培训。3)选择和合理性判定:一旦完成评估活动且教育已经开始,软件组织就应该选择最适合自己的组织,利益相关者和所开发的软件的过程模型并对考虑能够完成这些框架活动的任务的软件工程方法。4)设置/迁移:在将一个全新的过程推荐给组织,需要对现有的过程进行变迁,定义新框架活动,软件工程行动以及人员的工作任务,对原有的过程进行增量式迁移。5)评价:评估设置及采纳变更的程度以及这些变更在多大程度上提高了软件质量或其他可见的过程收益以及随着SPI活动的进行过程和企业文化的总体状况如何。6)SPI的风险管理:SPI是有风险的,列出SPI相关风险分析可能的风险,制定减轻这些风险的内部策略。

4、什么是模块独立性,如何衡量模块独立性?(来自课件)(来自百度)模块独立性是指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量。模块独立性是模块抽象和信息隐藏的直接结果,是软件质量好坏的关键。度量模块独立性的2个定性标准是:耦合:指模块间的相互关联的程度。内聚:指一个模块内部各个元素之间关系的紧密程度。其中,耦合性的程度与模块独立性程度成反比,而内聚性则反之。耦合性越高,模块独立性越弱;耦合性越低,模块独立性越高。内聚性越高,模块独立性越强;内聚性越低,模块独立性越弱。5、好的软件体系结构设计应遵循哪些原则?(来自百度)合适性:即体系结构是否适合于软件的功能性需求和非功能性需求。结构稳定性:详细设计阶段的工作如用户界面设计、数据库设计、模块设计、数据结构与算法设计等都是在体系结构确定后开展的,而编程和测试则是更后面的工作,因此体系结构应在一定的时间内具有良好的稳定性。可扩展性:即软件扩展新功能的容易程度,表示软件适应变化的能力。可扩展性越好,适应能力越强。可复用性:通常一个新系统中,大部分内容是成熟的,只有小部分是创新的。一般地,可以相信成熟的东西总是比较可靠的(即具有高质量),而大量成熟的工作可以通过复用来快速实现(即具有高效率)。6、面向数据流的设计方法包含那些步骤?(来自书)基本步骤为:1.在精华数据流图的基础上,进行初始设计,形成初始的模块结构图;2.在初始设计的基础上,进行精华设计,形成具有高内聚、低耦合的模块结构图;3.在精华设计的基础上,进行设计复审,形成最终可供详细设计使用的模块结构图。

四、论述(共10分)1、什么是软件性能?论述软件开发中如何提高软件的性能。(来自课件)软件性能主要是指软件的运行速度和存储空间。改进性能的策略:最好的策略是使用最简单、最清晰的算法和数据结构;性能是其次要考虑的事情;打开编译选择项,生成尽可能快的代码;考虑对程序本身做什么改变才能具有最大作用;一次做一个改变并重新进行评价;在改进性能过程中,始终保持最简单的版本,用它作为测试版本的对照物。2、什么是软件过程评估?论述过程评估在软件过程改进中的作用?

(来自ppt,这不是答案,大家根据这个论点编吧。ps.感谢dw同学。)

软件过程评估方法是指出组织对当前软件过程、活动以及架构进行评估所采用的方法和技术。软件过程是为了获得高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程评估的作用1)通过评估可以帮助组织对当前的软件过程环境与基础有一个正确的认识。2)实际上,评估通常扮演了一个改进活动计划的催化剂的角色。3)正式的评估可以为组织赢得声誉。

学渣请点赞,学霸请留言









































北京哪家医院白癜风比较好
全国白癜风最好医院



转载请注明:http://www.zjiaren.com/txjg/1770.html