开发软件不等于编写程序
软件工程层次结构中,包括:<font color="#c41230">工具层、方法层、过程和技术层和质量保证层</font>
<b><font color="#c41230">对软件进行的描述:计算机程序方法、规则和相关文档资料以及在计算机上运行时所必需的数据</font></b>
<h1></h1><h3></h3><h4></h4><h5><font color="#c41230">软件危机:</font><br></h5>
<font color="#c41230">是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。</font>
<font color="#c41230">主要表现</font>
<ol><li>软件开发<font color="#c41230">进度</font>难以预测<br></li></ol>
2.开发<font color="#c41230">成本</font>难以控制
3.用户对<font color="#c41230">产品功能</font>难以满足
4.软件<font color="#c41230">质量</font>无法保证
5.软件产品难以<font color="#c41230">维护</font>
6.软件缺少适当的文档资料
产生原因
用户<u><font color="#c41230">需求</font></u>不明确
开发<u><font color="#c41230">规模</font></u>越来越大
<font color="#c41230">复杂</font>度越来越高
缺乏正确的<font color="#c41230">理论指导</font>
软件特点
计算机软件是一种逻辑实体,而不是物理实体
没有磨损、老化等问题
开发和运行受计算机系统的限制
尚未摆脱手工开发方式
复杂
昂贵
软件特性
功能性
可靠性
易用性
效率性
可维护性
软件可移植性
<font color="#c41230"><b>软件生存期</b></font>
1.计划
2.需求分析
3.设计
4.程序编写
5.测试
6.运行维护
<b><font color="#c41230">瀑布模型</font></b>
面向对象和结构化设计区别
1<font color="#c41230">.面向对象自底向上设计,结构化自顶向下设计</font>
2.面向问题 ,面向过程
3.可扩展性好,可扩展性差
习题
软件开发约需付出<font color="#c41230">40%</font>工作量进行测试和排错
软件开发方法是:<font color="#c41230">指导软件开发的一系列规则和约定</font>
生存周期时间最长是“<font color="#c41230">维护</font>”
瀑布模型特点:<font color="#c41230">将开发过程严格地划分为一系列有序的活动</font>
软件开发技术包括:<font color="#c41230">软件开发方法学、软件工具和软件工程环境</font>
在面向对象概念中,<u><font color="#c41230">消息传递</font></u>是其与外部世界相互管理的唯一途径。