- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch01导论概论
软件项目管理 -Ch1 导论;主要内容;什么是“软件”?;软件定义:
软件是与计算机系统有关的程序、过程和文档的完整集合。
;(1)软件是无形的(intangible)
比其他工程产品更加不可捉摸。
你无法感觉软件产品的形状,它的设计也难以直观表示。因此确定软件产品的质量或者估计其开发的工作量是非常困难的。这就是人们总是低估系统开发时间的一个原因。;(2)软件副本的大批量生产轻而易举
对于有形产品,设计完成之后的制作过程往往是代价昂贵的部分。
软件产品的成本都存在于它的开发过程中,而不是制造过程中。
;(3)软件业是劳动密集型的
软件的设计与编程完全实现自动化,需要真正“智能”的机器。目前这个方向上的尝试离成功还很遥远。;(4)一个没有经过充分训练的软件开发人员很容易编写出难以理解和修改的软件
编程新手可以创建复杂的系统完成有用的功能,但它的设计却可能极其紊乱。其他工程领域也可能产生不良的设计,但是这些缺陷通常比较容易发现,因为它们不会隐藏在上千页的源代码中。;(5)软件本身很容易修改
但由于它的复杂性,又很难正确地修改
人们总是试图在尚未完全了解软件的时候就去修改它,而这些修改又会带来新的错误。 ;(6)软件不像其他的工
业产品那样会因使用
而磨损,随着反复修
改,它的设计会逐渐
退化
对软件的修改很容易引入新的缺陷,因此修改过的软件从设计角度讲容易变差。随着时间的流逝,软件后续版本的设计可能会表现出严重的退化,这时就需要完全重新设计了。;导致的问题
大部分现有软件的质量都相对较差,而且还在不断地变得更差。
对新的、修改过的软件的需求旺盛,客户希望它们质量高,并且能够很快地生产出来。
软件开发人员常常满足不了经理与客户的期望。
许多已交付的软件系统的问题太多,从未投入使用;而其他一些软件在使用前需要做较大的修改。;软件危机;软件危机;软件危机;软件危机;软件危机;软件危机;软件工程;软件工程;软件工程;软件工程;软件工程框架;软件工程目标;软件工程活动;1.问题定义
关键问题:“要解决的问题是什么”。;2.可行性研究
关键问题:“上一个阶段所确定的问题是否有行得通的解决办法”。;3.需求分析
关键问题:“目标系统必须做什么” ;
重要任务:用正式文档(specification)准确地记录对目标系统的需求 。;4.概要设计
基本任务:“怎样实现目标系统?”
主要任务:设计程序的体系结构。 ;5.详细设计
主要任务: “应该怎样具体地实现这个系统”
;6.编码和单元测试
关键任务:写出正确的容易理解、容易维护的程序模块。;7.综合测试(确认)
关键任务:通过各种类型的测试(及相应的调试)使软件达到预定的要求。
;8.软件维护(支持)
关键任务:通过各种必要的维护活动使系统持久地满足用户的需要。
4类维护:改正性维护;适应性维护,完善性维护,预防性维护
; (1)选取适宜的开发模型
(2)采取合适的设计方法
(3)提供高质量的工程支持
(4)重视开发过程管理; 所有的软件工程活动必须进行管理。 ; 在实际从事软件开发工作时,软件规模、种类、开发环境及开发时使用的技术方法等因素,影响软件工程各项活动。
软件工程模型(生命周期模型)规定了把软件工程活动划分成哪些阶段及各个阶段的执行顺序,也称为过程模型。;瀑布模型 (Waterfall);传统的瀑布模型 线性的;瀑布模型 (Waterfall);快速原型模型 (Prototype);快速原型模型 (Prototype);快速原型模型 (Prototype);快速原型模型 (Prototype);增量模型 (Incremental Models);增量模型 (Incremental Models);增量模型 (Incremental Models);螺旋模型;螺旋模型;优点:
l支持用户需求的动态变化。
l原型可看作形式的可执行的需求规格说明,易于理解,作为继续开发的基础,为用户参与所有关键决策提供了方便。
l强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力。;缺点:
l如果每次迭代的效率不高,致使迭代次数过多,将会增加成本并推迟提交时间;
l使用该模型需要有相当丰富的风险评估经验和专门知识,要求开发队伍水平较高。
适应场合:
支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向
文档评论(0)