软件工程第一章和第二章的个人总结

  软件危机的现象

在多年前软件还是呈现一种无序的,个体性的生产方式,这种毫无章法的开发方式使得出现了一系列与软件相关的问题。

1、软件的功能往往不能反应用户的需求

2、软件的质量普遍较差,尤其是当软件不断的加入新数据并面对新的环境的时候。

3、软件的可维护性差

4、软件开发进度往往不准

5、开发进度缓慢

6、没有相关的文档资料

7、生产出来的软件往往不能很好的利用发展迅速的计算机资源

软件危机的原因

1、软件本身就是一个十分复杂的逻辑的堆叠过程,不止是软件的开发,开发后的管理与维护都是十分复杂的,如此复杂的事物若以人工作为相关流程的主要参与者,必定会出现一些意料之外的问题出现。所以如何将软件的开发,管理、维护使用更加智能的方式去进行,是一个问题。

2、软件开发人员的水平是否到位

3、项目的分析人员是否有做好问题的定义,可行性研究和需求分析,将不同领域的问题 以一种易懂,能够交流的方式与软件开发人员进行交流。

4、软件开发的工具和方式,软件开发工具是否优秀,方式是否科学合理,也是软件开发速率和质量的一个保证。

软件过程

瀑布模型

瀑布模型将软件的开发严格的划分了界限,并约定每个阶段都要产生出一个对应的,相关的文档资料,并对每个阶段进行质量,技术上审核,只有通过了审核才能进入下一阶段。

瀑布模型是以文档作为推进的模型,但是它的开发过程却是用户的参与,用户经历完软件的设计阶段后就不再参与了,最终导致的结果是软件的功能往往与用户的需求出现偏差。

快速模型

快速模型为目标系统构建了一个系统原型,由用户对原型进行测试,并给出意见并改进,由此可以更好地获取到用户真正的对产品的需求。但是快速模型的原型的建立往往不是一件简单的事情,首先原型的构建若采用一些其他语言,而这些语言没有像主流语言的优秀的开发工具,这就必然使得开发原型的难度增加,同时多语言的掌握也对开发人员的水平提出了更高的要求。

增量模型

增量模型将目标系统分为多个模块,以模块的方式一步一步地构建目标系统,每个模块都有自己的生命周期,通过不断地经历各个模块的生命周期,不断地向用户展示开发地成果,使得用户能够更加的了解这个项目的开发进度,并可以对开发出的模块提出意见,并针对意见进行修改。

螺旋模型

螺旋模型地本质是增加了原型地增量模型,通过对每个模型设计一个原型来规避模块开发中的风险,减少模块生成后需要修改的可能。但是也要权衡构建这么多个模型带来的影响是正的还是负的,若构建这么多个模块原型导致产品的开发过慢,资金投入过多,可能需要适当地考虑一下是否继续采取此方式去开发软件。

迭代模型

迭代模型一般与面向对象地软件开发方式挂钩,面向对象开发方式使用对象对系统中的各个功能进行描述和补充,也就是所系统的构成是通过对象来建立的,对象是一个数据和操作 的结合。

开发人员通过对问题,需求的不断地了解和深入对对象进行一步步的补充和深化,其补充和深化的过程就是不断迭代的国充,由此最终将目标系统开发出来。

Rational统一过程

最佳实践最有效的软件开发经验

1、迭代式开发

2、管理需求

3、使用基于构件的体系结构

4、可视化建模

5、验证软件质量

6、控制软件变更

RUP软件开发周期

RUP软件开发周期将软件分为几个阶段,每个阶段又有自己内部的生命周期

开发周期分为:

1、业务建模

2、需求

3、设计与分析

4、实现

5、测试

6、部署

7、配置和变更管理

8、项目管理

9、环境

每个阶段内部又有初始,精化,构建,转交

首先初始去定义产品的范围,产品的大致流程,然后通过精化的阶段将产品的逻辑视图进行构建,确定项目计划,和资源需求,最后通过设计的模型去构建该阶段的产品,并将其转交。

可行性研究要做些什么

可行性研究的主要任务是针对用户提出的需求,找出一个对应问题的解,这个解必须是可行的,实惠的,符合法律法规的。

首先可行性研究这一阶段的本质就是做一次大概的需求分析和设计,是从一个较高层次去判定一个系统。那么我们就必须矫正问题定义中遇到的一些模糊定义,和不确切的回答,并由此作出高层的逻辑模型的构建,如数据流图和数据字典。然后根据高层模型,分析人员和用户进行讨论对高层模型进行迭代的修改与更新,然后确定其能够正确的反应用户的需求。然后继续在小组中去讨论如何开发,实现这样的逻辑模型,从多个角度去考虑,比如技术上,资金上,操作上,法律上,由此可能会得出一个或者多个物理解法,最后根据不同的物理解法的优点选中最适合的解法,然后根据物理解法作出一个开发计划,标注开发人员的要求,开发的环境要求,开发的进度,阶段的安排。

最后将上述的几个流程的详细细节内容集合在一起,作为一份可行性研究报告,然后交付出去,请各个部门仔细地审核,这份可行性研究是否还存在问题。

其中经济可行性上,我们需要分析现在投入地资金和未来地收益之间地比值,也就是货币价值,然后就是这个项目要多久才能获益,以及获益地大小是多少,都是需要考虑的因素。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mllllk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值