2.假设自己是一家软件公司的总工程师,当把图 1.1 给手下
的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,
有人不同意这个观点,认为要求在错误进入软件之前就清楚它们
是不现实的,并举例说:“如果一个故障是编码错误造成的,那
么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?
答:在软件开发的不同阶段进行修改付出的代价是很不相同的,
在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,
软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置
成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付
出的代价剧增;在软件“已经完成”时在引入变动,当然付出的代价
更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但
要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程
消除软件危机?
软件工程是指导知道计算机软件开发和维护的一门工程学科。采
用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考
验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,
以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
本质特征:
(1)软件工程关注于大型软件的构造
(2)软件工程的中心课题是控制复杂性
(3)软件经常变化
评论0
最新资源