软工视频-第一章

什么是软件?

计算机系统中与硬件相互依存的另一部分,包括程序,数据及其相关文档的完整性

什么是程序?

按事先设计的功能和性能要求的代码指令

什么是数据?

使程序能正常操纵信息的数据结构

 

软件的特点?

1.是一种逻辑实体,不是具体的物理实体(抽象性)

2.在开发过程中没有明显的制造过程(开发阶段就是制造过程)

3.运行和使用期间,没有老化磨损

4.开发中需要依赖或者是受到硬件的限制

5.至今尚未完全摆脱手工艺开发的方式

6.本身复杂

实际问题的复杂性

程序逻辑结构的复杂性

7.成本昂贵(相对于硬件)

8.涉及到社会因素(版权问题)

 

软件的分类

按功能划分:

1.系统软件:操作系统、数据库管理系统、设备驱动程序、通讯处理程序等

2.支撑软件:文本编辑程序、文件格式化程序、程序库系统等

3.应用软件:商业数据处理软件、工程和科学计算软件、CAB、系统仿真软件、CAI

按规模划分


按工作方式划分

1.实时处理软件:在事件或数据发生的时候,必须及时处理,反馈信号

2.分时软件:把时间轮流分给用户

3.交互软件

4.批处理软件:把一组输入的程序或数据,按照一定的顺序排好队,计算机按顺序来运行

按服务对象划分

1.项目软件:接受某个特定客户的委托,由一个或多个软件开发机构,在合同的约束下开发的软件,一般来讲是以特殊需求为主,不以盈利为目的

2.产品软件:有软件机构开发,然后推送到市场,为用户服务的软件,以盈利为目的

按使用的频度进行划分:

1.一次使用(如人口普查)

2.频繁使用(如天气预报)

按软件失效的影响划分

1.高可靠性软件:要害的部门或者重要的机关

2.一般可靠性软件:一般的场合

 

软件的发展阶段

1.程序设计阶段:50-60年代

2.程序系统阶段:60-70年代

3.软件工程阶段:70年代以后

 

 软件工程过程

1.软件规格说明:规定的功能和运行的限制(计划)

2.软件开发:产生满足规格说明的软件

3.软件确认:提交的软件能完成用户的需求

 

软件工程过程的特性

1.易理解性

2.可见性

3.可支持性

4.可接受性

5.可靠性

6.健壮性

7.可维护性

8.速度

 

软件的生存期

开发-运营-不再使用(孕育、诞生、成长、成熟、衰亡的过程)的过程即为计算机软件的生存期

 

制定计划

1.确定总目标

2.给出功能、性能、可靠性等要求(很重要)

3.完成该软件任务的可行性研究(技术、经济、法律、操作四个方面)

4.需求分析和定义(文档和表格,编写软件说明书)

 

软件设计

1.概要设计:把需求转换成体系结构,每个需求都需定义一个明确的模块

2.详细设计:确定每个模块里面的数据结构,模块与模块之间的接口等

 

软件测试

1.静态测试:在未上机的情况下可以人工查阅

2.动态测试:可以上机调试,通过实例看看是否正确

3.单元测试:一般来说由开发者完成

4.组装测试(集成测试):将已测试过的模块组合起来测试(检查模块之间的接口)

测试过程中没有错误不代表没有错误,只代表你没有发现错误

猜你喜欢

转载自blog.csdn.net/lifuchao784533/article/details/79367812