《系统分析与设计方法及实践》一第2章 习题

习题

1.什么是软件过程模型?请简述一些常见的软件过程模型的特点。
2.什么是瀑布模型?它的主要特点是什么?
3.软件生命周期的定义是什么?分为几个时期和阶段?
4.什么是能力成熟度模型集成?分为几个级别?简要介绍一下这几个级别。
5.请查阅有关敏捷软件开发宣言的内容,并进行评述。
6.什么是敏捷过程?极限编程有哪些内容?
7.什么是结对编程?结对编程有哪些好处?有哪些不足?
8.分布式结对编程相对于面对面结对编程有什么好处和不足?如何克服这些不足?
9.结对编程有哪些角色?交换角色的目的是什么?
10.螺旋模型有什么特征?并说明它的优缺点。
11.面向对象的软件过程模型与传统的过程模型相比,有哪些特点?
12.统一过程模型有哪几个阶段?每个阶段的任务是什么?统一过程有哪些核心工作流?它们与传统的生命周期阶段有什么区别?
13.请给出分布式结对编程系统的需求。

时间: 2024-10-29 13:54:04

《系统分析与设计方法及实践》一第2章 习题的相关文章

《系统分析与设计方法及实践》一1.2 什么是软件分析与设计

1.2 什么是软件分析与设计 软件分析与设计是软件工程的重要组成部分,其定义目前还没有统一的标准.早期,软件工程专家B.W. Boehm将软件工程定义为:设计并构造计算机程序,以及为开发.运行和维护这些程序所必需的相关文件资料.Fritz Bauer如下定义软件工程:为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则.IEEE软件工程标准定义软件工程为:开发.运行.维护和修复软件的系统方法.尽管软件工程的具体定义不尽相同,且又有一些学者提出了更完善的定义,但都是

《系统分析与设计方法及实践》一第1章 软件分析与设计概述

软件系统分析与设计是软件工程(Software Engineering,SE)的重要组成部分,其目的是倡导以工程化的原理.原则和方法进行软件系统开发,是解决当时出现的"软件危机"的根本途径.

《系统分析与设计方法及实践》一2.4 软件过程模型

2.4 软件过程模型 软件过程是整个软件生命周期中一系列有序的软件生产活动的流程.为了能高效地开发一个高质量的软件产品,通常把软件生命周期中各项开发活动的流程用一个合理的框架--开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型.所以,软件过程模型是一种软件过程的抽象表示法,"建模"是软件过程中最常使用的技术手段之一.软件过程模型是从一个特定的角度表现一个过程,一般使用直观的图形标识软件开发的过程,主要根据软件的类型.规模,特别是软件的开发方法.开发环境等多种因素确立过程

《系统分析与设计方法及实践》一2.2 敏捷软件开发

2.2 敏捷软件开发 在传统的软件开发方法中,工作人员努力构建客户想要的产品.他们花费大量的时间努力从客户那里获取需求,针对需求进行分析和建模,并且归纳成规格说明书.然后,评审说明书,与客户开会讨论,最后签字.表面上看他们开发的产品是符合客户的要求的,但通常事与愿违.在项目快要结束的时候,需求和范围.产品的适用性成为争论的焦点. 敏捷软件开发方法告诉我们开发项目是一个学习的体验.没有谁能完全理解所有需求之后才开始项目,即使是客户也一样.客户一开始有一些主意,但是他们也会随着项目的进展进一步了解他

《系统分析与设计方法及实践》一2.6 小结

2.6 小结 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤.软件过程框架定义了若干个小的框架活动,为完整的软件开发过程建立了基础.软件过程框架的通用过程框架活动包括沟通.计划.建模.构建和部署. 软件工程的敏捷理念强调自我组织团队.团队交流与合作.敏捷对待变更.敏捷方法是一组敏捷实践技术的总称.随着敏捷开发思想和极限编程方法在21世纪初前几年的快速普及,结对编程也迅速被大家熟知和尝试.结对编程是极限编程的12个主要实践之一,它吸收合作式编程的关键思想,

《系统分析与设计方法及实践》一1.4 软件生产活动

1.4 软件生产活动在软件工程概念被提出来之前,开发人员错误地认为,软件就是编码,至于分析和设计等都是次要的.随着软件规模的不断增大,软件生产过程中暴露出很多问题.软件工程是为克服这些问题(软件危机)而提出的一种概念,并在实践中不断地探索它的原理.技术和方法.软件开发的工程化思想让开发人员看到,软件生产活动不仅是开发活动,还有重要的维护活动.管理活动,进而发展了过程改进活动.1.开发活动开发活动是软件人员生产软件的活动.开发活动是软件工程的核心过程活动,软件工程提供了一整套工程化的方法来指导软件

《系统分析与设计方法及实践》一2.3 结对编程方法

2.3 结对编程方法 极限编程的实践中有一个非常重要的原则就是结对编程,这里所谓的结对编程并非是一个人在编程,另一个在看.另外一个人也同样起着非常重要的作用,他需要帮助编码的人找到低级失误,防止其编码出现方向性的错误,特别是在出现一个正在编码的人不擅长解决的问题的时候,他会直接替换编码的人来进行编程.这样做的好处也许只有在实践了之后才能够体会到,它不仅可以避免一些错误的发生,而且可以通过直接的讨论来更快地解决一些容易产生歧义的问题.在交流的过程中,大家的水平也会有很快的提高.结对编程的过程也是一

《系统分析与设计方法及实践》一2.5 能力成熟度模型CMM

2.5 能力成熟度模型CMM 2.5.1 什么是能力成熟度模型 CMM(Capability Maturity Model)是指"能力成熟度模型",是对软件组织在定义.实施.度量.控制和改善其软件过程的实践中各个发展阶段的描述.CMM是国际公认的对软件公司进行成熟度等级认证的重要标准.CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控与研究,以使其更加科学化.标准化,使企业能够更好地实现商业目标. CMM是由美国卡内基-梅隆大学的软件工程研究所(SEI)开

《系统分析与设计方法及实践》一1.1 什么是软件

1.1 什么是软件 软件分析与设计的主旨是以工程化的思想进行软件开发,以便生产出高质量和高效率的软件系统,即软件分析与设计研究的基础就是软件.那么,软件是怎么定义的呢?它有哪些特性呢? 1.1.1 软件定义与特性 软件是计算机系统中与硬件系统相对应的部分,包括一系列程序.数据及其相关文档的集合.在这里,程序是按照特定顺序组织的计算机数据和指令的集合:数据是使程序能正常执行的数据结构:文档是与程序开发.维护和使用有关的图文资料.软件系统的核心是程序,而文档则是软件系统不可分割的组成部分. 要理解软

《系统分析与设计方法及实践》一2.1 软件生命周期

2.1 软件生命周期 软件从诞生到消亡是一个漫长的过程,我们总体上称这个过程为软件过程.软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动,每一项活动又可以分为一系列的工程任务.任何一个软件开发组织,都可以规定自己的软件过程,所有这些过程共同构成了软件过程.为获得高质量的软件产品,软件过程必须科学.有效.因此,科学.有效的软件过程应该定义一组适合于所承担的项目特点的任务集合.事实上,软件过程是一个软件开发组织针对某一类软件产品为自己规定的工作步骤,它应当是科学