欢迎来到天天文库
浏览记录
ID:36643274
大小:61.50 KB
页数:5页
时间:2019-05-13
《软件工程与软件开发模型第一讲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一讲软件工程与软件开发模型1.1软件危机与软件工程一、软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体说,软件危机主要有下述一些表现:1.对软件开发成本和进度的估计常常很不准确;2.用户对“已完成”的软件系统不满意;3.软件产品的质量不可靠;4.软件不可维护;5.软件没有完整的文档资料;6.软件开发进度延误、开发费用激增等等。为了解决软件危机,必须采取必要的项目管理措施和技术措施(方法和工具)。软件工程正是从管理和技术两个方面研究如何更好地开发和维护计算机软件。二、软件工程软件工程是一门指导计算机软件开发和维护的工程学科。它借鉴传统的工业工程思
2、想,运用系统的、规范的、和可定量的方法对软件进行开发、运行和维护。它主要讲述软件开发的道理,是软件实践者多年来成功经验和失败教训的总结。软件工程的目标,是提高软件质量和软件生产率。软件工程的主要环节:人员管理+项目管理学习软件工程不在于机械地照搬条条框框,关键在于应用。三、软件工程的六条基本原则1.用分阶段的生命周期计划严格管理软件开发过程不成功的软件项目大部分是由于没有计划、或有计划但执行力不强造成的。所以不同层次的项目管理人员必须严格按照计划各尽其职地工作,不得受任何影响而擅自背离预定的计划。2.坚持进行阶段评审实践表明,软件系统的大部分错误是在编码之前造成的,如软件需求
3、分析或系统设计的错误等,这些错误发现与改正的越晚,后期所付的代价就越大。因此必须坚持在软件开发的几个关键阶段进行严格评审,以尽早发现并及时纠正错误。3.实行严格的产品控制在软件开发过程中不应随意改变需求,当难免改变需求时,为了保证软件各个配置成分的一致性,必须实行基准配置管理。基准配置又称为基线配置,它们是经过阶段评审后的软件配置成分(即各个阶段产生的文档或程序代码)。基准配置管理又称为变更控制,一切有关修改软件的建议,特别是涉及到对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准后才能实施修改,不允许谁想修改就随意进行修改。4.采用现代的程序设计技术如:结构化程序
4、设计方法等。5.应能清楚地审查阶段性结果因软件产品不是物理产品,是看不见摸不着的逻辑产品,所以软件开发的进展情况可见性差,难以准确度量。为了较为准确地掌握控制开发进度,可根据项目的总目标及完成期限,及时进行阶段性结果的审查,如:审查软件需求说明书、软件设计书等。即牢牢建立所谓“里程碑”的思想意识,是保证软件质量的好办法。6.开发小组的人员应该少而精5素质高的人员的开发效率比素质低的人员的开发效率可能高很多倍,且开发出现的错误明显少;此外,当小组人员多时,通信开销将急剧增加。所以,组成少而精的开发班子是软件工程的一条基本原则。问答:如果某项软件开发落后于计划,可否增加更多的程序
5、员来解决?1.2软件开发的三种基本策略1.软件复用复用就是指“利用现成的东西”,文人称之为“拿来主义”。把复用的思想用于软件开发,就称为软件复用。软件复用的思想是:构造新的软件系统可以不必每次从零开始,直接使用已有的软构件,即可组装(或加以合理修改)成新的系统。其中的软构件是指具有一定集成度并可以重复使用的软件单元。软件复用的内涵包括了提高软件的质量和软件生产率。因为从经验可知,在一个新系统中,大部分的内容是成熟的,小部分的内容是创新的,而成熟的东西总是比较可靠的(即具有高质量),把大量成熟的东西通过复用来快速实现(即具有高生产率)。试想,如果同样功能的程序被重写了多次,真是
6、极大的浪费。所以,面向对象学者的口头禅是:“请不要再发明相同的车轮子了”。软件复用的优点:合理化并简化了软件开发过程,减少了总开发工作量与维护代价,降低了软件开发成本提高了软件生产率。面向对象方法如微软公司的COM规范,就能很好地应用于实现大规模的软件复用。问答:复用是人类懒惰的表现,还是智慧的表现?为什么?2.分而治之就是指把一个复杂的问题分解成若干个简单的问题,然后逐个解决。在软件开发中,如软件的体系结构设计、模块化设计都是分而治之的具体体现。软件人员在执行分而治之时,应着重考虑:将复杂问题分解后,每个问题能否用程序实现?所有程序最终能否集成为一个软件系统并有效的解决原始
7、的复杂问题?3.优化–折衷软件优化是指优化软件的各个质量因素。如提高运行速度、提高内存的利用率、使用户界面更友好、使三维图形的真实感更强等等。必须认识到:优化工作不是可有可无,是必须要做的事,是软件开发人员的一种责任。但愿意做并不意味着就能把工作做好。优化工作的复杂之处是很多目标之间存在着千丝万缕的关系,当不能够使所有目标都同时得到优化时,就需要“折衷”策略。软件的折衷策略是指通过。重要原则是:不能使某一方损失关键的职能,更不可以象“舍鱼而取掌”那样抛弃一方。如3D动画软件的瓶颈是速度,如果为了提高速度
此文档下载收益归作者所有