软件工程概述
1.1软件与软件危机
概念:软件=程序+数据+文档
特点:
软件危机:
软件危机原因:
1,主观原因:
2.客观原因:
消除软件危机的途径:
管理+技术
1.2软件工程
定义:
采用工程的概念、原理、技术和方法来开发和维护软件,把经过长时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量软件并维护它
软件工程方法学:
定义:
在软件生命周期全过程中使用的一整套技术方法的集和
三要素:
方法(怎么做) + 工具(用什么做) + 过程(何时做)
方法学分类:
1.传统方法学(生命周期方法学)
- 采用结构化技术完成软件开发各项任务
- 把软件生命周期的全过程依次划分为若干阶段
- 每个阶段开始和结束有严格标准
- 每个阶段结束后进行严格审查
2.面向对象方法学
- 把对象作为融合了数据及在数据上的操作行为的统一的软件构件
- 把所有对象划分为类
- 按照父类与子类关系,把若干类组成层次结构的系统
- 对象彼此间仅能通过发送消息互相联系
1.3软件生命周期
1.3.1软件定义:
1.问题定义
2.可行性研究
3.需求分析
1.3.2软件开发:
1.总体设计:设计软件结构。确定程序由哪些模块组成及模块间的关系
2.详细设计:针对每个模块,详细设计规格说明。确定算法和数据结构
3.编码和单元测试:将详细设计内容用语言实现,并测试每个模块
4.综合测试:通过各类测试使软件达到预定要求
1.3.3软件维护
1.4软件过程
定义:
为了获得高质量软件所需要完成的一系列任务框架。通常用软件生命周期模型描述软件过程。
主要包括:
- 瀑布模型(还有改进的瀑布模型):
用户只有等到整个过程的末期才能见到开发成果,中间提出的变更要求难以得到相应。 - 快速原型模型:
关键在于用交互的快速建立起来的原型取代静态的需求规格说明书。 - 螺旋模型(可以看成增加了风险分析的快速原型模型):
适合复杂大型软件系统,没迭代一次就前进一周。
每周包括:确定目标–>分析该策略可能存在的风险–>排除风险,实现目标–>评价 - 喷泉模型
- 增量模型:
结合了瀑布模型的顺序特征和快速原型模型的迭代特征。在开发过程的各次迭代中,每次完成一个增量。
2.1可行性研究任务
目的:
用最小的代价在最小的时间内确定问题是否能够解决。
实质:
系统分析和设计过程的大大压缩和简化,在较高层次上以较为抽象的方式进行系统分析和设计过程。
过程:
1.分析和澄清问题定义
2.导出系统的逻辑模型:数据流图+数据字典
3.根据逻辑模型探索若干可供选择解法
4.研究每种解法的可行性:经济可行性、技术可行性、操作可行性、其他。
2.2可行性研究内容
步骤:
1.复查系统规模和目标
2.研究目前正在使用的系统:
重在了解,不花时间分析怎么实现。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!