- 什么是软件工程
- 软件工程要求下怎么编写出高质量的代码
- 软件工程要求下写好代码后如何进行单元测试
- 知道软件是什么,和其他工程学科有什么不同,为什么需要一门专门的软件工程来研究。
- 软件工程是怎么一步一步发展起来的,目前对软件工程的定义是什么。
软件的定义:
软件 = 程序+数据+文档
程序:计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能
数据:使程序能够适当地操作信息的数据结构
文档:描述程序的研制过程,方法和使用的图文资料
软件的本质特性:
软件具有复杂性,一致性,可变性和不可见性等固有的内在特性,所以软件开发的过程难以控制。
软件工程是怎么产生的:
软件开发面临的挑战:
- 客户不满意(功能不是客户想要的,交付日期没有保障,有bug)
- 项目过程失控(需求变动,交付质量不能预见,盲从流程)
- 风险和成本问题(无法预测成本,导致预算超支)
- 无力管理团队(无法评估开发人员的能力和工作进度,不知道如何提升效率)
软件工程就是致力于探索软件开发问题的解决之道。
软件工程的四个发展阶段:
- 1956-1967 个人作坊式 没有方法可循-> 爆发了软件危机
- 1968-1982 瀑布过程模型 需求,设计,编码,测试按线性方式执行的结构化开发方法
- 1983-1995 面向对象开发方法,通过了一系列质量标准体系
- 二十世纪九十年代至今,敏捷开发方法,采用迭代和增量的开发过程 ,有效应对需求变化,快速交付高质量软件
什么是软件工程
工程的通俗定义:团队协作解决大规模设计和建造的复杂问题
软件工程的定义:将系统性的,规范化的,可定量的方法应用于软件的开发,运行和维护,即把工程化的方法应用到软件,并且对这种方法进行研究。
软件工程的三个基本要素:过程,方法和工具