今天开始了软工视频的学习,感觉和软件开发工具很相似。
有人说,学一个新的东西要看他的历史,这样才能全面的看待这个事物,我很同意这个观点,软件工程的历史还是很少的,从上世纪50年代到现在,可是发展的确实很迅速,给我们的生活带来很多新奇的东西和方便,但是一些规范新的东西和发展以及后期维护还需要更加的提高,这使得自己要认真学习软工,为以后成为一个优秀的程序猿奠定基础!
第一章:
1. 概念:和硬件相互依存,包括程序,数据及其相关文档
2. 特点:抽象性(逻辑实体),没有制造过程,没有机械磨损,依赖于硬件
没有摆脱手工开发,复杂性(实际问题,逻辑结构),成本高,社会因素
3. 分类:
功能(系统软件,支撑软件,应用软件)
规模(微型,小中大,甚大,极大)
工作方式(实时,分时,交互,批处理)
服务对象(项目(接受特定客户的委托,特殊需要,不以盈利为目的)产品(市场))
频度(一次性(人口普查),频繁)
失效影响(高可靠,一般可靠)
4. 发展
程序设计阶段(机器语言,汇编语言)50-60年代
程序系统阶段(多个人,规范说明)60-70
软件工程阶段(规范,专业)70-现在
5. 过程
说明。开发。确认。改进(维护)
特点:易理解,可见,可支持,可接受,可靠,健壮性(安全),可维护,速度
6. 生存期
孕育,诞生,成长,成熟,衰亡
制定计划:总目标-功能要求-可行性研究报告(各种方面)
需求分析和定义:编写软件需求说明书,用户手册
软件设计:概要设计
软件测试:(单元测试,组装测试(全局变量或者接口))(静态,动态)
运行和维护:改正性维护(很费钱)适应性维护,完整性维护(增加功能)
( 作业:软件开发模型各个模型和适用范围(如瀑布模型))
7. 模型:
瀑布模型:阶段顺序性和依赖性很强,推迟性,严格有文档有评审
原型模型:不断地更正
演化模型:
渐增模型:瀑布模型+其他(基于原型)
螺旋模型:方案==计划==风险分析==实施==客户评价(大型项目)
喷泉模型:多个阶段可同时进行
8. 软件开发学(开发技术和管理技术)
9. 三个要素:方法工具和过程
10. 目标:低成本 功能好 便移植 性能好 低维护费 按时
11. 软件危机:(只重视开发不重视维护)
分阶段严格管理(生命周期)
阶段评审
严格产品控制
现在设计技术
结果清晰
合理安排小组(少而精)
12. 原则
分解、独立性、一致性、确定性(明确标准)
思维导图奉上喔 :)