软件工程

软件工程
在软件工程中,包括可行性研究、需求分析、总体设计、详细设计、编码、测试、维护、项目开发计划等过程。其中,可行性分析报告、项目开发计划为次要产物,需求分析报告、总体设计报告、详细设计报告为主要产物,以及测试计划(测试用例)。
软件开发不是某种个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,应该开发和使用更好的软件工具。
软件工程正是从管理和技术两方面研究如何更好的开发和维护计算机软件。在软件工程领域中通常由具有一种文化背景的人替另一种文化背景的人创造产品。
1993年IEEE给出了软件工程更全面更具体的定义:软件工程是:(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。
一、软件生命周期
软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步分成若干个阶段。
软件定义时期的任务:问题定义、可行性研究、需求分析。
开发时期的任务:总体设计、详细设计、编码和单元测试,综合测试。前两个称为系统设计,后两个称为系统实现。
维护时期的任务:事软件持久的满足用户的需求。
下面介绍软件生命周期每个阶段的基本任务:
1、问题定义:
确定要解决的问题是什么?如果不知道问题是什么就试图解决这个问题,显然是盲目的,只会白白浪费金钱,最终得出的结果很可能是毫无意义的。通过对客户的访问调查,系统分析员扼要的写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认
2、可行性研究:
确定该问题是否存在一个可以解决的方案。这个阶段的任务不是具体解决问题,而是研究问题的范围,套索这个问题是否值得去解决,是否有可行的解决办法。可行性研究的结果是客户做出是否继续进行这项工程的决定的重要依据,一般来说,只有投资可能取得较大的效益的那些工程项目才值得继续进行下去。
3、需求分析:
这个阶段仍不是具体的解决问题,而是准确的确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
系统分析人员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。
在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整的体现用户的要求,这个阶段的一项重要任务,是用正式文档准确记录对目标系统的需求,就是《规格说明书》
4、概要设计(总体设计):
概括的说,应该怎样实现目标系统,设计出实现目标系统的几种可能方案,至少三种方案(高成本、中成本、低成本)。提出问题的解决方法。
软件设计的一条基本原理就是,程序应该模块化,也就是说,一个程序应该由若干个规模适中的模块按合理的层次结构组织而成。因此,总体设计的另一项主要任务是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块之间的关系。
5、详细设计(模块设计):
把总体设计的解决方法具体化,也就是应该怎样具体地实现这个系统?这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。工程蓝图,应该包含必要的细节,程序员可以根据它们写出实际的程序代码。
详细设计也称模块设计,在这个阶段将详细的设计每个模块,确定实现模块功能所需的算法和数据结构。
6、编码和单元测试编码占全部开发工作量的10%-20%
程序员根据详细设计的结果翻译成选定的语言书写的程序,并且仔细测试编写出的每一个模块。
7、综合测试测试占全部开发工作量的40%-50%
分为集成测试和验收测试。应该用正式的文档资料把测试计划、详细测试方案以及实际测试结果保存下来,作为软件配置的一个组成部分。
8、软件维护
通过各种必要的维护活动使系统持久的满足用户的需求。主要分为 改正性维护、适应性维护、完善性维护、预防性维护。

二、各阶段时间占比
编码占全部开发工作量的10%-20%、
测试占全部开发工作量的40%-50%、
三、各阶段产物与主要工作
1、需求分析
对目标系统提出完整准确清晰的要求,系统分析员应该写出
《软件需求规格说明书》:用户与分析员沟通起着重要作用,二义性、误解、遗漏。
链接:需求分析-需求规格说明书
2、总体设计
3、详细设计
4、实现:编码、测试、调试
5、维护
四、项目管理:估算软件规模、工作量估计、进度计划、人员组织、质量保证、软件配置管理、能力成熟度模型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值