- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件危机
是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生于软件发展的第二阶段(软件系统阶段)末期。
软件危机---主要表现
对软件开发成本和进度的估计不准确
用户不满意
软件质量不高、可靠性差
软件常常不可维护、错误难以改正
缺乏适当的文档资料
软件成本占系统总成本的比例逐年上升(1985----90%)
软件开发速度跟不上计算机发展速度
归结为主要为三方面----“时间、成本、质量”
软件危机--原因1
软件规模日渐庞大(数量、功能、成本、质量、时间)
软件开发的管理困难。
逻辑部件而不是物理部件。
在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当困难。
开发人员错误的观念、方法和技术
重编程、轻需求。
生产方式落后:个体手工方式。
开发技术落后。
开发工具落后
软件危机---原因2
忽视软件开发前期的需求分析
开发过程缺乏统一的、规范化的方法论的指导
文档资料不齐全或不准确
忽视与用户之间、开发组成员之间的交流
忽视测试的重要性
不重视维护或由于上述原因造成维护工作的困难
需求变化预料不足
软件生存期技术》定义的软件过程
过程元素之间的关系
标准软件过程体系结构图
软件生命周期
它是指一个软件从提出开发要求开始到该软件报废为止的整个时期(生存过程)。从时间角度,把整个周期划分为若干个阶段(步骤),每个阶段有明确的任务,然后再逐步完成每个阶段的任务
软件从孕育、诞生、成长、成熟、衰亡的生存过程
软件生存期各阶段
一般可分为六个步骤/阶段 :
1.制定计划(Planning)
2.需求分析和定义(Requirement Analysis and Definition)
3.软件设计(Software Design)
4.程序编写(Coding/Programming)
5.软件测试(Testing)
6.运行/维护(Running/Maintenance)
线性顺序模型
瀑布模型
瀑布模型--特点
优点:
提供了软件开发的基本框架,比靠“个人技艺”开发好的多。
严格活动序列,严格阶段成果评审,有利于大型软件开发过程的人员的组织和管理
缺点:对用户需求变更的响应较困难。
初始阶段较长,用户极大的耐心,需求的不确定性;
后期阶段时,需求错误、设计及实现错误才出现
适用:需求明确、大型的项目。
瀑布模型变化1
瀑布模型变化2
快速应用开发模型RAD1
快速应用开发模型RAD2
RAD模型--特点
优点:开发时间短
缺点:多团队开发协调困难;了解需求困难;不注意小细节
原型模型1
原型模型2
原型模型----特点
优点:
成品的用户满意度高。用户参与,需求不断完善
缺点
软件的“临时版本”,未考虑性能需求
进度控制、质量检验较难,技术方案未必最优,会导致开发过程的不可收敛性
系统结构通常较差,连续的变更损坏了系统的结构
适用:
中小规模、生存期短的系统,知识型系统
用户定义了一组一般性目标,但不能标识出详细的输入、处理及输出需求
开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式
当你的客户有一个合理的需求,但对细节则没有任何线索时,先开发一个原型系统是一个好的选择
渐增模型
以尽早占领市场为目的,逐步发布版本;
可有计划地管理技术风险
螺旋模型
不同版本、不同形式的不断进化;
需要高水平的风险评估技术
并发开发模型
由用户要求、管理决策和评审结果驱动;
每一个软件工程活动触发活动网络的状态变迁;
需求分析定义
需求分析是前面需求获取阶段的继续,通过对所获取的信息进一步加工获得对系统的更精确描述,成为转换成需求规格说明的直接信息元。
需求分析任务
需求分析过程图示
需求分析方法
结构化分析
面向对象分析
可行性分析
定义
研究软件项目是否值得开发、关键技术、难点、能否解决、怎样达到目标
主要任务
社会/法律可行性
技术可行性
经济可行性
对开发成本进行估算,预期经济效益,确定是否值得投资开发
在测算成本和效益时注意项目相关方不同的考虑点
成本估计
购置并安装软件、硬件及有关设备的费用
系统开发费用
一次性
方法:自顶向下成本估计、由底向上成本估计、算法模型估计、类比估计、专家判断、Parkinson估计和销价取胜法、系统安装、运行和维护费用、人员培训费用,其它
效益分析
社会效益
经济效益
货币的时间价值
F=P*(1+i)n
年利率为 i,P 元钱存 n 年后可得 F 元
P=F/(1+i)n
投资回收期
累计的经济效益等于最初投资所需的时间
n年投资回收率
R=(F1/(1+i)+F2/(1+i)2+…+Fn/(1+i)n )/ P
纯收入
累计的经济效益(折算成当前值)- 投资(开发成本)
效益来源
自动化水平提高,减少
文档评论(0)