软件工程的目标与常用模型

发表于:2008-04-02来源:作者:点击数: 标签:软件工程
软件工程 的目标是提高软件的 质量 与生产率,最终实现软件的工业化生产。质量是 软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件 供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有 着内在的
 软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。质量是 软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件 供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有 着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏 事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产 率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的 维护代价,实质上是提高了生产率,同时可获得很好的信誉。质量与生产率之间不存在 根本的对立,好的软件工程方法可以同时提高质量与生产率。

    软件供需双方的代表能在餐桌上谈笑风生,归功于第一线开发人员的辛勤工作。质 量与生产率的提高就指望程序员与程序经理。对开发人员而言,如果非得在质量与生产 率之间分个主次不可,那么应该是质量第一,生产率第二。这是因为:(1)质量直接体 现在软件的每段程序中,高质量自然是开发人员的技术追求,也是职业道德的要求。(2) 高质量对所有的用户都有价值,而高生产率只对开发方有意义。(3)如果一开始就追求 高生产率,容易使人急功近利,留下隐患。宁可进度慢些,也要保证每个环节的质量, 以图长远利益。

    软件的质量因素很多,如正确性,性能可靠性、容错性、易用性、灵活性、可扩 充性、可理解性、可维护性等等。有些因素相互重叠,有些则相抵触,真要提高质量可 不容易啊!

    软件工程的主要环节有:人员管理、项目管理、可行性与需求分析、系统设计、程 序设计、测试、维护等,如图 1.1 所示。

    图 1.1    软件工程的主要环节


    软件工程模型建议用一定的流程将各个环节连接起来,并可用规范的方式操作全过 程,如同工厂的生产线。常见的软件工程模型有:线性模型(图 1.2),渐增式模型(图1.3),螺旋模型,快速原型模型,形式化描述模型等等  [Pressmam 1999, Sommerville 1992]。

图 1.2    软件工程的线性模型

图 1.3    软件工程的渐增式模型

原文转自:http://www.ltesting.net