软件工程基础
软件工程基本原理
为了改进软件公司的管理,为了“更快、更好、更便宜”地开发软件产品,既要有技术措施,又要有必要的组织管理措施。从科学发展角度出发,人们很自然地想到了软件工程。因为软件工程正是从管理和技术两方面来研究如何采用工程的概念、原理和技术方法并加以综合,指导开发人员更好地开发和维护计算机软件的一门新的学科。著名的软件工程专家波汉姆(Boehm)综合许多学者们的意见,并总结了多年开发软件的经验,于1983年在一篇论文中提出了软件工程的7条基本原理:
1、按照软件生命周期的阶段划分制订计划,严格依据计划进行管理;
2、坚持惊醒阶段评审;
3、实行严格的产品控制;
4、采用现代程序设计技术;
5、结果应能清楚地审查;
6、开发小组的人员应该少而精;
7、承认不断改进软件工程实践的必要性;
以上7条只是基本原理,对每一个软件公司而言,如何根据这几条远离管理和改进软件产品的开发和维护过程,问题还是不少,主要是可操作性差,缺少评价标准,以及缺少相互之间的可比性。于是,人们有只好求助于其他与产品质量管理、项目管理相关的标准体系,胡这是新出现的并以证明有效的专门关于软件过程改进和管理的评价模型。
质量管理体系ISO9001
ISO9001是由全球第一个质量管理体系管理体系标准BS5750(BSI英国标准协会撰写)转化而来的ISO9001是迄今为止世界上最成熟的质量框架。ISO9001规定了公司质量管理体系的基本要求,它是通用的,适用于所有行业或经济领域,不论其提供和种类别的产品,但ISO9001本身并不规定产品质量的要求。
为促进质量目标的实现,ISO9001标准明确规定了以下8项质量管理原则:
1)以顾客为中心;
2)高层管理者推动;
3)全员参与;
4)采用过程方法;
5)系统的管理;
6)持续改进;
7)基于事实的决策;
8)互利的供方关系。
建立和实施质量管理体系,一般应按下列步骤进行:
1)确定顾客的需求和期望;
2)建立公司的质量方针和质量目标;
3)确定实现质量目标所必需的过程和职责;
4)针对每个过程实现质量目标的有效性确定测量方法;
5)通过测量,确定每个过程的现行有效性;
6)确定防止不合格项并消除产生原因的措施;
7)学着提高过程有效性和效率的机会;
8)确定并优先考虑那些能提供最佳结果的改进;
9)为实施已确定的改进,对战略、过程和资源进行策划;
10)实施改进计划;
11)监控改进效果;
12)对照预期效果,评价实际结果;
13)评审改进活动,确定必要的纠正、跟踪措施。
任何“得到输入并将其转化为输出”的序列活动均可视为过程。
为使组织有效运行,必须识别和管理许多内部相互联系的过程。通常,一个过程的输出将直接形成下一个过程的输入。系统识别和管理组织内所使用的过程,特别是这些过程之间的相互作用成为“过程方法”。ISO9001标准鼓励采用过程方法建立和实施质量管理体系。
项目管理知识体系PMBOK
PMBOK是Project Management Body Of Knowledge的缩写,即项目管理知识体系,是美国项目管理协会(PMI)对项目管理所需的知识、技能和工具进行的概括性描述。
项目,是在限定时间内、利用有限的资源、未完成有一定质量要求的目标而进行的一些列有序活动的一次性组合。项目基本属性共有8条:
1、整体性;
2、唯一性;
3、一次性;
4、目标性;
5、多约束性;
6、依赖性;
7、冲突性;
8、周期性;
用于刻划一个项目的主要参数有:范围、进度、资源、成本和质量。
表格 1项目生命周期与软件生命周期
项目生命周期 |
软件生命周期 |
项目定义 |
立项管理、需求开发及管理 |
项目计划 |
项目计划 |
项目实施 |
系统设计、编码、测试 |
项目收尾 |
发布、提交、运行维护、技术支持和产品退役 |
项目管理基本过程共5个:启动过程、策划过程、执行过程、控制过程和结束过程。