软件工程学习过程(1)
"软件工程" 由北大西洋公约组织(NATO)的计算机科学家在联邦德国召开的国际会议上首次提出,,产生的时代背景是”软件危机“
软件的定义
1983年IEEE的软件定义:计算机程序,文档,运行程序 的数据,方法,规则。
1993年IEEE的软件工程定义:把系统范,规范化,可度量的途径应用于软件开发,运行,维护过程中;研究其实现途径-
简化软件定义
程序+数据+文档资料
软件分类
基于软件功能的划分
- 系统软件→操作系统等
- 支撑软件→Rational Rose,青鸟系统等
- 应用软件→商业数据处理软件,工程与科学计算软件,智能产品嵌入软件,人工智能软件,个人计算机软件等
软件危机的定义
指在计算机软件的开发和维护过程中所遇到的一系列严重问题,
一是如何开发软件以满足软件日益增长的需求
二是如何维护数量不断增长的已有软件
主要表现
1.开发成本和研制进度估计不精确
2. “已完成”的软件不满足用户要求
3. 软件产品质量差,可靠性得不到保证
4. 软件产品可维护差
5. 软件成本在计算机系统总成本中所占比例逐年上升
6. 软件开发生产率提高的速度远远跟不上计算机应用速度普及深入的趋势
软件工程的研究内容
软件开发技术
软件开发过程管理
软件工程的基本原理
- 用分阶段的生存周期计划严格管理
- 坚持进行阶段评审
- 实行严格的产品控制
- 采用现代程序设计技术
- 结果应能清楚地审查
- 开发小组人员应该少而精
- 承认不断改进软件工程实践必要性
软件工程的发展史
- 1946-1956年→程序设计时代
- 1956-1968年→程序系统时代(程序+说明时代)
- 1968-至今→软件工程时代(程序+文档时代)
软件生存周期
软件从产生,发展到成熟,直至死亡为止组成
通常划分为:软件定义→软件开发→软件维护
中华人民共和国标准:
- 可行性研究与计划 →解决问题是什么,有行得通的解决方法吗?
形成的文档:
问题定义报告:问题性质,工程目标,工程规模
可行性研究报告:经济,技术,社会可行性
项目开发计划(粗略) - 需求分析(确定软件的功能) →目标系统必须做什么,要完整,准确,清晰,具体
形成的文档:
需求规格说明书:目标系统需求 - 总体设计(确定软件外部结构) →怎么样实现目标系统,根据需求设计方案,分析推荐最佳方案,设计软件结构
形成的文档:
总体设计说明书:记录总体设计结果 - 详细设计 →该怎样具体实现系统,设计每个模块的算法和数据结构
形成的文档:
详细设计说明书:用适当表达工具表达算法和数据结构 - 实现(编码和单元测试) →选择语言,工具防疫详细设计结果,测试模块
形成的文档:
程序清单,单元测试报告 - 集成测试→将经过单元测试模块组装起来进行测试,通过测试使软件达到预定要求
形成的文档:*:
测试报告:测试计划,测试方案,测试结果。 - 确认测试→由用户按需求规格说明书规定进行测试
形成的文档::
测试报告:测试计划,测试方案,测试结果 - 使用和维护→通过必要维护活动使系统持久满足用户要求
花神的博客生涯之软件工程(1)结束了哦~
接下来会持续更新(⊙o⊙)!