- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程导论
软件工程介绍
1. ★软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题
表现:●成本和进度估计常不准确●用户的满意度常不高●质量往往靠不住
●软件通常很难维护●文档资料不完整、不合格●软件的成本高,所占比例逐年上升
●软件开发生产率提高的速度慢
原因:●客观:
软件缺乏“可见性”,管理和控制其开发过程相对困难
软件大多规模庞大,而复杂性随规模以指数速度上升
●主观
——忽视软件需求分析的重要性—急于求成,仓促上阵
——认为软件开发就是写程序
——轻视软件维护—维护费用占总费用的55%--70%
对策:软件工程
应该树立对计算机软件的正确认识:软件是程序、数据及文档的完整集合。
认识到软件开发不是某种个体劳动的神秘技巧:是一种组织良好、管理严密、各类人员协调配合、共同完成的工程项目。要充分吸收和借鉴经验
推广使用在实践中总结开发出来的开发软件的成功的技术和方法。
应用和开发更好的软件工具。
软硬件区别:●软件是开发的,而不是传统意义上生产制造的●软件的非通用性
●软件不会磨损 (会损失且不可替换、维护困难)
软件演化规律:
●持续变化规律●复杂性增长规律●自我调控规律●组织稳定性守恒规律●保证通晓性规律
●持续增长规律●质量衰减规律●反馈系统规律
-----------------------------------------------需求分析阶段:解决“做什么”------------------------------------
过程综述
软件过程:一个为建造高质量软件所需完成任务的框架(粗略的,确定开发中使用的方法)
软件工程:(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。(2)在(1)中所述方法的研究。(一种层次化技术,根基在质量关注点,基础是过程)
过程框架:将整个软件过程再进一步细分为各个相对独立的功能块(以时间为线索,一般有分析和设计)
★能力成熟度模型集成(CMMI):预测软件开发组织所开发的系统和软件工程能力
过程域分级:
第0级:不完全级(Incomplete):过程域没有实施,或者已经实施但未达到CMMI1级成熟度所规定的所有目标
第1级:已执行级(Performed)所有过程域的特定目标都已经实现。产生规定的工作产品所需要的工作任务都已经执行。
第2级:已管理级(Managed)所有第1级规定的要求都已经达到。另外, 所有与过程与相关的工作都符合组织的规程;工作人员都有足够的资源完成工作;共利益者都积极地参与到要求的过程域;所有工作任务和工作产品都被”监督、控制和评审,并评估是否与过程描述相一致”
第3级:已定义级(Defined)所有第2级规定的要求都已经达到。另外,根据组织准则,对其标准过程进行了剪裁,剪裁过的过程对组织的过程资产增添了新的内容。
第4级:已定量管理级(Quantitatively Managed):所有第3级规定的要求都已经达到。另外, 通过采用测量和定量的评估等手段,对过程域进行空着和不断改进。“已经建立起来对质量和过程性质的定量指标,并作为过程管理的标准”
第5级:优先级(Optimized)所有第4级规定的要求都已经达到。另外“采用定量(统计)的方法调整和优化过程域,以满足用户不断变更的需求,并持续地提高过程域的有效性”
过程模式:提供了描述软件过程中重要特征的一致性方法(比过程框架中的活动具体且更宽泛,适用于任何阶段)
过程技术工具:利于模型调整,帮助软件开发组织分析现有过程、组织工作任务、控制并监控过程进 度和管理技术质量。
过程模型
惯例过程模型:都支持通用过程结构(相同的框架活动),规定了一整套的元素以及他们之间的相互关联的方式
★瀑布模型:线性周期和传统生命周期(系统的、顺序的开发)
应用:对一个已有系统进行明确定义的适应性调整和增强;需求明确和稳定的新系统
特点:●阶段间的顺序性和依赖性;●文档驱动性(每一步都要求前一步是正确的);●严格阶段评估;●开发初期需要清楚全部需求;●开发周期长、风险大。
缺点:●顺序太严格●产品在最后阶段才与客户见面●效率不高
优点:为分析、设计、编码、测试和支持的方法提供模板作为共同的指导。
★增量过程模型:基本确定了需求,
文档评论(0)