软件工程作业1 (2)

一般来说,软件生命周期主要包含以下六个阶段:
1、可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。
2、需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。
3、软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。
4、软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。
5、软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。
6、运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。维护阶段也软件生命周期中所花费最多的阶段。

2.答:
软件灾难是计算机软件开发和维护过程中遇到的一系列严重问题的集中体现 。一方面是由软件本身的特点引起的,如软件越来越复杂 、软件故障难于检测 、工作量难以估计等 ,另一方面则是因为软件开发和维护方法不当所造成的 ,例如软件的个体化特征太强。

软件灾难级别分类为:
(1)微小的(Minor),一些小的问题如有个别错别字、文字排版不整齐等,这些问题对功能几乎没有影响,软件产品仍可使用。
(2)一般的(Major),不太严重的错误,如次要功能模块丧失、提示信息不够准确、用户界面差和操作时间长等。
(3)严重的(Critical),严重错误,指功能模块或特性没有实现,主要功能部分丧失,次要功能全部丧失,或致命的错误声明。
(4)致命的(Fatal),致命的错误,这些错误会造成系统崩溃、死机,或造成数据丢失、主要功能完全丧失等。

软件灾难的起源有:1.在需求阶段发现的缺陷;2.在构架阶段发现的缺陷;3.在设计阶段发现的缺陷;4.在编码阶段发现的缺陷;5.在测试阶段发现的缺陷。
软件灾难的来源有:1.由于需求的问题引起的缺陷;2.由于构架的问题引起的缺陷;3.由于设计的问题引起的缺陷;4.由于编码的问题引起的缺陷;5.由于测试的问题引起的缺陷;6.由于集成的问题引起的缺陷。

近些年发生的软件灾难从头到尾排序如下:
1.  水手号(Mariner)的致命BUG (1962)
2.  哈特福德体育场倒塌事件 (1978)
3.  中情局给苏联送天然气 (1982)
4.  几乎引发第三次世界大战 (1983)
5.  医疗器械致死案 (1985)
6.  华尔街崩溃 (1987) 
7.  AT&T电话断网 (1990)
8.  爱国者辜负了战士 (1991)
9.  奔腾的长除法缺陷 (1993)
10.  阿丽亚娜火箭爆炸 (1996)
11.  天网带来了世界末日 (1997)
12.  火星气候探测器坠毁 (1998)
13.  灾难研究 (1999)
14.  英国护照不知所踪 (1999)
15.  千年之殇Y2K (1999)
16.  炸弹(Dot-Bomb)崩溃 (2000)
17.  爱虫病毒 (2000)
18.  为癌症治疗而死 (2000)
19.  EDS放弃了对对儿童的支持 (2004)
20.  FBI的三部曲终结 (2005)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzfzf.html