欢迎来到天天文库
浏览记录
ID:50349593
大小:37.00 KB
页数:21页
时间:2020-03-05
《软件工程之项目计划与质量管理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章项目打算与质量治理在可行性分析之后,项目打算与质量治理将贯穿需求分析、系统设计、程序设计、测试、维护等软件工程环节。项目打算是要提供一份合理的进程表,让所有开发人员任务明确、步调一致,最终共同准时地完成项目。项目打算是要付诸实施的,不象用嘴巴喊政治口号,能够专门夸张。软件的项目打算重在“准确”而非“快速”。提高质量是软件工程的要紧目标。但由于软件开发是一种智力创作活动,专门难象传统工业那样通过执行严格的操作规范来保证软件产品的质量。世上最小心翼翼、最老实巴脚的程序员未必就能开发出高质量的软件来。程序员必须了解软件质量的方
2、方面面(称为质量因素),如正确性、性能、易用性、灵活性、可复用性、可理解性等等,才能在进行系统设计、程序设计时将高质量内建其中。软件的高质量并不是“治理”21/21出来的,实质上是设计出来的,质量的治理只是一种预防和认证的手段而已。3.1项目计划做项目打算,如同给一个待出生的婴儿写传记那样困难。假如同意项目结束后再写打算,那就轻松多了,同时能够100%地准确。历史教训让我们明白一个道理:假如一万年以后才会有一条阳光大道通向共产主义,那么现在就不要忙着砸锅炼钢赶英超美,免得在跑步奔向共产主义时把自己累死饿死。在做软件的项目打算时
3、,应屏弃一切浮夸作风。只有“知已知彼”才能做出合理的项目打算。那个地点“知彼”是指要了解项目的规模、难度与时刻限制。“知已”是指要了解有多少可用资源,如可调用的程序员有几个?他们的水平如何?软硬件设施如何?3.1.1知己知彼21/21首先要了解项目的规模、难度与时刻限制,才能够确定应该投入多少人力、物力去做那个项目。在可行性分析时期就要考虑那个问题。但不幸的是,人们在陷入项目不能自拨之前总难以准确地可能项目的规模与难度。那个地点经验起到了最重要的作用。项目的时刻限制有两类。第一类,项目应该完成的日期写在合同中,假如延期了,则开
4、发方要作出相应的赔偿。第二类是开发自己的软件产品,尽管只确定了该产品大致的发行日期并同意有延误,但假如拖延太久则会失去商机造成损失。项目的资源分为三类:“人”、“可复用的软构件”和“软硬件环境”,如图3.1所示。(1)人是最有价值的资源。项目打算的制定者要确定开发人员的名单,要依照他们的专长进行分工。(2)可复用的软构件是次有价值的资源。1.2.1节论述了复用软构件可提高软件的质量与生产率。软构件并非一定要用自己的,能够向专业的软件供应商购买。21/21(3)软硬件环境尽管不是最重要的资源,却是必需的资源。原则上软硬件环境只要
5、符合项目的开发要求即可。有些项目可能要用到专门的设备,则要事先作好预备,以免用时找不到而担搁了进程。1.人2.可复用的软构件3.软硬件环境图3.1项目的资源3.1.2进度安排有一位程序员忙着编写程序,经理问他还需要多久才能完成。“改日就能够完成。”程序员立即回答。“我想这是不切实际的,实话实讲,到底还要多少时刻?”经理讲。“我还想加进一些新的功能,这需要花两个星期。”程序员想了一会儿讲。21/21“即使如此也期望过高了,只要你编完程序时告诉我一声,我也就满足了。”经理讲。几年以后,经理要退休了。在他去退休午餐会时,发觉那位程序
6、员正趴在机器旁睡觉:悲伤的家伙整个晚上都在忙于编写那个程序。[James1999]程序员也期望每天早晨能在7:00准时起床,可老是一觉醒来就到中午了。项目落后于进度表乃是家常便饭,不必大惊小怪。以下一些事件经常会导致项目被延误:(1)上级领导主管臆断,制定了不现实的期限。项目经理与程序员们被迫按照不合理的进度表开展工作。(2)客户的需求发生了变化,但没有对进度表作出相应的修改。(3)低估了项目的规模与难度,导致投入的人力和物力不足。(4)并未预见到存在难以克服的技术障碍。(5)并未预见到开发人员会发生问题,如生病,辞职等等。(
7、6)开发人员之间不能专门好的交流、协作,导致各时期任务难以如期完成。21/21因此写进程表不能象小学生写决心书那样充满幻想。以下是一些有益的建议:(1)制定进度表的人最好确实是项目负责人,他最了解项目和开发人员。进度表要通过开发小组的讨论,在得到大部数人的支持后才能实施。幸免出现一厢情愿的局面。(2)进度安排并不见得一定要符合逻辑顺序。应尽可能地先做技术难度高的事,后做难度低的事。也确实是辛苦在前,轻松在后。小时候我对一位老先生吃饭专门感兴趣:他总是先把一大盒的米饭吃光了,然后再幸福地品尝一小盒菜。父母告诉我这是中国的传统美德
8、,叫“先苦后甜”。从此我铭记在心,按此道理去学习和工作。可现在在饭店里,人们总是先把菜吃完了,最后才吃点米饭。天哪,生活真是太复杂了,我究竟该“先吃饭”依旧“先吃菜”?21/21(3)开发一个大的软件项目,应该将进度表分为若干个里程碑。一个里程碑之内的多个任务能够同步进行。程
此文档下载收益归作者所有