本章主要是对一些基本概念的理解
1软件
1.1定义:由程序数据 文档三部分组成,前两者不用多说,文档是与程序开发,维护和使用的有关的图文说明
1.2 特点:通过手工创造智力开发(抽象性)的依赖于硬件和系统,由于实际问题和使用的逻辑结构,使得软件具有一定的复杂性,成本较高。
1.3分类:功能(系统软件(操作系统),支撑软件(文本编辑程序),应用软件),
规模:小型中型 大型 甚大型 。。。
工作方式,服务对象,使用频度,可靠性等。
2 软件的发展
由原先的汇编编程序--程序加说明--作坊式开--1968年软件工程
3软件危机
软件的质量,开发时间时间,成本进度等都已经满足不了现在的需要,从而导致软件危机,
4软件工程
4.1 定义:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件开发。
4.2三要素:方法:如何做; 工具:支持环境; 过程:分阶段完成。
4.3项目的基本目标
低成本 高功能 好性能 易移植(环境) 低维护 按时使用 低成本开发高质量的软件
4.4软件工程遵循的基本原理
用分阶段的生存周期计划严格管理
坚持进行阶段评审
实行严格的产品控制
采用现代程序设计技术
结果应该能够清楚的审查。
合理安排软件开发小组的人。
承认不断改进软件工程实践的必要性。
4.5软件工程的原则
分解 独立性 一致性(接口) 确定性(输入输出功能)
模块化 抽象 信息隐蔽 信息局部化 一致性() 完整性 确定性
4.6软件工程的过程
软件规格说明;软件开发, 软件确认,软件维护。
5 系统开发生命周期
五个阶段:计划阶段,分析阶段, 设计阶段, 实现阶段 ,支持阶段。
6 软件生存期与开发模型
6.1软件生存期
6.1.1定义:软件有一个孕育,诞生,成长,成熟,衰亡的生存过程,这个过程成为软件的生存期
6.1.2软件工程采用的生存周期方法就是从时间角度对软件的开发和维护进行分解为若干个阶段,每个阶段有独立的任务,然后逐步完成各个阶段的任务。
6.1.3软件生存期:六个步骤
指定计划:确定总目标,功能性能接口要求 可行性研究报告(4个可行性)
需求分析和定义:对用户要求进行分 软件需求规格说明书,
软件设计:概要设计 :划分模块 建立软件结构。
详细设计:细化每个模块的数据结构和接口实现各个模块的功能。
设计说明书(为程序编码打基础)
程序编写:选择语言用结构化程序(单入口单出口)方法 编写程序。
测试:单元测试(测试模块); 组装测试(接口,全局变量) ;有效性测试(压力,输入)
运行和维护: 改正型维护(软件错误),适应性维护(平台),完善性维护、
6.2 软件开发模型
瀑布模型,B模型快速原型 演化模型 渐增模型,螺旋模型,喷泉模型