方向:项目经理,技术经理,产品经理。c++
不学软件工程没有分析‘,没有设计,后期维护难,bug多编辑器
项目不能触类旁通。没有计划性,老是延期,比其余同事慢...测试
1.问题的定义和规划编码
2.需求分析操作系统
3.软件设计设计
4.程序编码unix
5.软件测试code
6.实现和运转对象
机器语言事件
10110000 00000110//将6 送到al
高级程序设计语言
fortran basic
操做系统的出现
dos unix...实现对计算机的管理
出现告终构化程序设计技术(C语言)
面向对象的设计语言
Java c++
微型500行如下 小型2000行如下 中型5000-50000 大型5w-10w 超大型100w以上
实时处理软件
分时处理软件
交互式软件
批处理软件
系统软件
支撑软件(如编译软件,文本编辑器)
应用软件
项目软件(合同约束)
产品软件(为市场开发)
如天气预报,工业普查
按失效影响划分:失效代价
抽象性
复制简单,软件保护
不存在老化和磨损
对计算机存在依赖
软件产品大可能是“定作的”
复杂性
研制成本昂贵
设计不少社会因素,对软件的见解。
软件危机刺激软件工程的产生
开发成功比预期时间长太多了
投入6000万美圆没作出来
如何开发软件,知足软件日益增加的需求
如何维护数量不断膨胀的问题
软件开发进度难以预测
软件开发成本难以控制
用户对产品功能难以知足
软件产品质量难以保证
软件产品难以维护
软件缺乏适当的文档资料
用户需求不明确
缺少正确的理论指导
软件开发规模愈来愈大
软件开发复杂度愈来愈高
软件是逻辑部件而非物理部件
在开发和维护关系上的错误观念