




已阅读5页,还剩74页未读, 继续免费阅读
(工商管理专业论文)小型软件企业项目开发流程设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
小型软件企业项目开发流程设计 摘要 本文是从我国小型软件企业的现状出发,研究分析了软件项目开发的特点,运用 c m m 模型,依据软件开发生命周期法,采用i d e f 0 模式,设计了符合我国小型软件 企业的软件项目开发流程。 本文的主要目的是为企业组建新的软件开发部提供指引,促进我国软件企业的发 展。主要研究的内容是: 本文结合我国软件企业和软件开发项目的特点和实际情况,对c m m 2 进行剪裁, 从c m m 2 的各个关键过程域出发,依据生命周期法,设计了从软件项目肩动到软件 项目收尾这个开发过程的流程。 对每一个开发阶段设计了详细的工作安排,需要准备哪些资源,输出哪些文档。 为软件项目开发过程中每一个项目成员角色详细定义了工作范围,使责职分明。 提供了软件项目开发过程中各成员角色的工作配合方法和管理方法。 关键词:c m m 模型;生命周期法;i d e f 0 模式;开发流程 d e s i g no ns o f t w a r ed e v e l o p m e n tp r o c e s s f o rp r o j e c to fm i n i s c a l es o f t w a r ee n t e r p r i s e s a b s t r a c t b a s e do nt h ec u r r e n ts i t u a t i o n so fm i n is c a l es o f t w a r ee n t e r p r i s e si nc h i n a ,t h i sa r t i c l e a n a l y z e st h ec h a r a c t e r i s t i c so fs o f t w a r ep r o j e c td e v e l o p m e n t as o f t w a r ed e v e l o p m e n t p r o c e s st h a tf i t ss o f t w a r ee n t e r p r i s e si nc h i n ai sd e s i g n e du s i n gc m mm o d e l ,a n db a s e do n s o f t w a r ed e v e l o p m e n tl i f e c y c l ew i t hi d e f 0m o d e l t h ea i mo ft h i sr e s e a r c hi st op r o v i d eg u i d e l i n et om i n is c a l es o f t w a r ee n t e r p r i s e si n f o u n d i n gn e ws o f t w a r ed e v e l o p m e n tt e a m ,s o a st oc a t a l y z et h eg r o w t ho fs o f t w a r e e n t e r p r i s e si nc h i n a t h em a i nc o n t e n to f t h i sr e s e a r c ha r e , c u s t o m i z ec m m 2p r o c e s sa c c o r d i n gt ot h ec h a r a c t e r i s t i c sa n ds i t u a t i o no f m i n is c a l e s o f t w a r ee n t e r p r i s e si nc h i n a t h ep r o c e s sf r o mp r o j e c tk i c k o f ft op r o j e c tc o m p l e t ei s d e s i g n e db a s e do ns o f t w a r ed e v e l o p m e n tl i f e c y c l ea n de v e r yk e ys t e p si nc m m 2 d e s i g nd e t a i l e dt a s ka r r a n g e m e n t ,r e q u i r e dr e s o u r c e sa n dn e c e s s a r yd o c u m e n t sf o r e v e r yd e v e l o p m e n ts t a g e d e f i n ec l e a r l yt h ed u t yf o re a c hm e m b e ri nt h es o f t w a r ed e v e l o p m e n tt e a m p r o v i d et h em e c h a n i s mf o rt e a mm e m b e r s c o o p e r a t i o na n dp r o j e c tt e a mm a n a g e m e n t k e y w o r d s :c m mm o d e l ;f o r m a l m e t h o d si nl i f ec y c l e ;i d e f 0m o d e l d e v e l o p m e n tp r o c e s s 2 图2 一l 图2 2 图2 3 图2 4 图2 5 图2 6 图2 7 图2 8 图3 1 图4 1 插图清单 能力成熟度模型5 软件过程成熟度的五个等级5 成熟度等级的关键过程区域9 等级成熟度的分布图1 0 结构化软件生命周期法l 3 i d e f o 基本组件图1 4 盒子及其接1 3 箭头1 5 递阶分解结构l 5 软件项目开发流程设计图1 r 项目成员的沟通途径3 l 表4 - 1 表4 2 表4 3 表4 - 4 表4 - 5 表4 - 6 表格清单 项目成员角色2 4 软件生命周期各阶段中周计划3 3 软件工程师的周工作表3 5 小组组长的周工作表3 8 项目经理的周工作表4 2 开发部经理的周工作表4 3 独创性声明 水凡一:一j 川所。f ! 交的学位论文是本人在导师指导下进行的研究1 作及取得的研究成果。据我所 川,除j 爻t ”纠f j 肌以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 山个也一为损得 盒坐 丛i 盘生或其他教育机构的学位或证书而使用过的材料。与我同工作 i l j 川i 上刈_ 。刎究所做的任们黄献均己在论文中作了明确的说明并表示谢意。 学位硷文作者签字:勃砸金签字臼期:2 司年2 月多日 学位论文版权使用授权书 小学陋沦殳作者克全r 解盒8 9 王些太堂一,有关保留、使用学位论文的规定,有权保留并向 象仃) : 或1 1 i 构送交论文的复印件和磁盘,允许论文被查阅或借间。本人授权 金8 b 兰些盔 :至一川以:盼、 位沦文的拿部或部分论文内容编入有关数据库进行检索,口j 以采用影印、缩印或扫 描譬复制r 段保存、汇编学位论文。 t 徘管的学位沦文存解脊后适用本授权书) ,“髓名:易j 也金 锚。“j :如刁i f l 2 - j j 乃日 1 :化沦芝化尚牛、比后去向: r 妒: mi i ui t j lj : 1 : 翩魏荡勿陡 签字日期:驯7 年廖月 日 特别声明 本学位论文是在我的导师指导下独立完成的。在研究生学习期间,我的导 师要求我坚决抵制学术不端的行为,在此,我郑重声明,本论文无任何学术不 端行为,如果被发现有任何学术不端行为,一切责任完全由本人承担。 学位论文作者签名 施礼金 f 签字日期:b 年l 月多日 致谢 终于有机会通过书面的形式来表达自己对老师们的敬意、谢意以及和同学们之膪j 的友谊了。导师蒋翠清副教授以其严谨的治学态度,独具亲和力的领导艺术和丰富的 实践管理经验,不断鞭策我前进,使我有机会理沦结合实际,把管理知识用到现史的 管理当中来。本论文是在蒋老师的悉心指导下完成的,衷心感谢我的导师,谢谢您! 在此要感谢我们公司的所有同仁,在他们的支持和鼓励下完成了论文的选题,特 别感谢我们的香港经理( 取得澳洲的m b a 硕士学位) ,在他的理解和指导f ,使我顺 利完成了我的论文。 作者:郑见金 2 0 0 7 年1 0 月 第一章引言 1 1 问题的提出 2 0 世纪9 0 年代以来,世界软件产业获得了飞速发展。据i d c 统计,全球 软件业的年均增长率一直保持在1 5 2 0 之间1 1 。在2 0 0 1 2 0 0 5 年的“十五” 期间,我国软件产业总产值从7 9 6 亿元增加到了3 9 0 0 亿元,软件产业的平均增 速超过4 0 ,规模增加了4 倍多,2 0 0 6 年年底更是达到4 8 0 0 亿元【2 l 。现今的 中国的软件市场前景广阔,极具有吸引力。但整体来看,目前我国软件产业总 体规模仍然太小。2 0 0 5 年,我国软件产业占全球市场的份额仅为5 9 。而同 年,美国、西欧、日本占全球市场的份额分别为3 9 、2 9 5 和1 0 4 。我国软 件企业以中小企业为主,软件收入前1 0 0 家企业销售收入平均仅为l 亿多美几 川。与此同时,我们可以注意到了这样一组数据:据不完全统计,目前国内软 件企业中1 0 0 0 人以上的大型企业数量只占全行业的o 8 ,而5 0 人以下企业竟 占到全行业的6 5 ,9 ,软件企业大多数还停留在“作坊式”的生产模式之下 2 】。 由此看来,中国的软件产业现状与与外国的软件发展存在很大的差距,还有诸 多亟待改善的地方。对以小型软件企业居多的中国来说,研究一套行之有效的 软件开发流程是非常必要的i ”】。 目前国内软件项目管理中存在诸多的问题,从而影响中小软件企业的发展, 进而影响整个中国软件业的发展,现浅谈以下几点: 1 项目管理意识差。在软件企业,软件项目实施和项目管理工作过程中。 或多或少存在有人无事情做和很多事情无人做的情况。主要体现在项目的负责 人是技术项目经理,技术经理的精力主要花在技术研究,系统架构的搭建和分 析,技术指导。而各种管理的事务,如项目的评审、项目计划的检查、变更、 调整、项目组与客户、公司层面的沟通、资源管理、财务控制、风险控制等, 不可避免的忽视,项目管理的事情没有人做。导致项目失控。另外一方面是 软件公司聘请专职的项目经理来管理软件项目,而不涉及系统分析,系统设计, 系统实施的具体工作,导致专职项目经理无事可做,不了解项目的具体问题, 导致无法合理分配资源、时间和费用,使整个项目与目标存在很大的出入。 2 项目成本意识差。大部分小型企业的项目经理是从技术骨干出生的,不 懂得在规格、成本和进度之间取得平衡。这样,项目经理就会不计成本地申请 资源。 3 项目计划制定不合理。项目计划制定不严谨,随意性大,可操作性差, 在实施中无法遵循。没有贯穿整个项目的详细的项目计划,导致项目失控。 4 文档编写不规范,没有统一的模板,并且更新不及时。往往是功能模块 实现完之后才书写文档,且只能凭借工程师的记忆写出来的文档,如果出现人 员流动的话,导致程序与文档不匹配的问题。 5 软件测试不重视。不少软件企业的软件开始模式还处于无序的状态,软 件测试的地位和作用,还没有真正受到重视,甚至对软件测试存在错误的认识。 测试人员的素质比较低,没有详尽的测试用例和规范的测试文档,更没有b u g 库,不能把b u g s 分门别类地管理,因此,无法查询以往的问题。这样直接导 致测试效率低下,无法全面测试整个软件项目,更不能保证产出商质量的软件。 6 团队意识差。项目组的成员各自为战,甚至成员之间存在私人矛盾,缺 乏有效地沟通和技术交流,在各自的功能模块完成之后,发现诸多问题,如模 块接口不正确、模块之阀无法调用、滥用系统资源等等。 本文针对中小型企业存在以上所述的问题,为软件企业设计一套软件项目 开发流程是必要的。所谓软件开发项目是指一个有具体市场需要和客户要求为 目的的,有开发计划的、有始有终的、按照预先设定好的开发进程和步骤渐进 的,为完成一个软件产品或系统的制造而迸行的工作和活动。一个开发项目需 要特定的人力,物力,时间和费用的安排与分配。软件开发项目的结果必须有 特定的需要满足的运行和使用功能及质量的要求。软件开发项目需要以下一些 条件: l 】明确的市场和客户韵需求。 2 ) 明确的开发目标。 3 ) 周密的计划。 4 ) 明确的开始和终结时间表。 5 ) 有一个预定好的步骤和每一个步骤中具体该完成的任务。 6 1 每一个具体任务都要有合理的人力,物力,时间和费用的安排。 7 ) 软件必须需要有特定的需要满足的功能和质量的要求。 软件项目开发流程是由特定的活动组成的,由项目组成成员共同 办作完成 的。流程中的各个活动具有特定的流向,它包含了明确的起始活动和终止活动, 是头尾相连的1 3 1 。 本文通过运用软件成熟度( c m m ) 、结构化生命周期法和结构化分析和设计 方法( i d e f 0 ) ,从实际需要出发,结合软件企业的开发流程,中国国情和行q p 的特点设计一套简练而有效的软件项目开发流程。为软件开发流程中的不同阶 段提供指导;为不同角色的员工安排相应的任务、履行相应的权力和义务、承 担相应的责任,使各个角色的员工能做到职责分明,各司其职,使得各个员工 可以与系统和其他角色的员工进行交互。 1 2 本论文研究的工作 本文在分析了中国软件企业的特点和结合本人1 0 年的软件开发经验和管理 经验的基础上,借鉴c m m 模型的理论和经验,运用结构化生命周期法的流程 以及i d e f o 的结构分析技术,使用m i c r o s o f tw o r d 、e x c e l 、p r o j e c t 2 0 0 0 工 具设计了适合于中国软件企业的软件项目开发流程,具体的研究工作是: 1 结合软件开发流程的特点,对c m m2 的模型进行剪裁,制定适合软件 项目的开发流程。 2 运行软件工程的基本理论和结构化生命周期法,对各个阶段中需要输入 和输出的文档做了详尽的描述,定义了各个阶段项目成员所担任的角色。整个 流程中维持了功能、资源和时间三者的平衡。 3 运用i d e f 0 结构化分析方法,规划功能图。通过i d e f 0 功能图,有效 管理项目,提高开发效率,减小失误,增加其企业的竞争力。 4 ,设计了实用的开发文档库、项目计划书、软件测试用例模板、项目中各 个角色在各个阶段充当的角色。在附录中提供了软件丌发过程中所使用到的文 档模板。 本文的结构如下: 共分为五章 第一章引言部分提出了本文要研究的问题,课题使用到的相关知识理论和 实践模型,概述了课题的具体工作和研究方法。 第二章介绍c m m 的模型和实践经验,软件工程中结构化生命周期法以及 i d e f o 结构化分析方法。 第三章以i d e f o 的流程图形式,详细构建了整个软件项目开发流程。 第四章根据第三章的流程图,详细设计了每一个阶段、每一个角色的主要 工作,以及开发过程中的各成员的沟通途径。 第五章是对前文的总结,归纳本文的研究工作,同时对以后相关的研究工 作做了展望,软件企业对本文的期望。 第二章c m m 、结构化生命周期法和i d e f 0 的原理及其实施 2 1c m m 及其实施的研究现状 2 1 1c m m 概述 c m m 是“c a p a b i l i t ym a t u r i t ym o d e ! ”的缩写,意思是能力成熟模型,是 软件工程研究所( s o f t w a r ee n g i n e e r i n gi n s t i t u t e ,s e i ) 的研究成果。工作重点 是在一个逐步成熟的过程中,向软件开发商提供协助。这罩的“成熟”意味着 一种环境,在这种环境中,可预见性相对较高,风险性相对较低。完全的成熟 度是指:组织有一套实践、方针和规范,使各个团队能以一种可预见的可靠的 和可重复的方式生产高质量的软件。c m m 采用5 等级结构。1 4 l 。 2 1 ,2c m m 的主要用途 1 软件过程改进,为此组织策划、设计和实施对其软件过程的更改。 2 软件过程评估,为此一个经培训的软件专业人员组确定组织当前软件过 程的状态、确定组织所面临的具有高优先级的软件过程一有关问题,并获得组 织上对软件过程改进的支持; 3 软件能力评价,为此一个经培训的软件专业人员组鉴别合格的能完成软 件工作的承包商或监控现有软件工作中所用软件过程的状态。 2 1 3c m m 的结构 c m m 由五个成熟度等级组成。除了等级1 外,每个成熟度等级由几个关 键过程区域组成。每个关键过程区域又划分为五个称作共同特点的部分。共同 特点规定一些关键实践,当这些关键实践群体得到认真执行,能实现关键过程 区域的目标。图2 1 显示了能力成熟度模型的结构。1 6 1 2 1 ,4 软件过程成熟度的五个等级 软件过程成熟度的5 个等级见图2 - 2 所示,并详细描述每一个等级的定义。 4 躲鱼 有纪律的 过程 自 述包含 描述 图2 0 l 能力成熟度模型 图2 2 软件过程成熟度的五个等级 2 1 4 1 等级1 一一初始级j 在初始级上组织一般不能提供开发和维护软件的稳定环境。当组织中缺乏 健全的管理实践时,无效的策划和反应驱动的保证体系会削弱好的软件工程实 践所带来的受益。在危机时刻,项目一股抛弃预定的规程,回复到仅作编码和 测试。成功完全依赖于有一个杰出的经理及一支有经验的、战斗力强的软件队 伍。偶尔,有能力的、坚强的软件经理能经受住要他们在软件过程中走捷径的 压力,但是当他们离开项目后,他们能使过程稳定的影响也随之消失。甚至一 个强的工程过程也不能克服由于缺乏健全的管理实践所造成的不稳定。 等级l 组织的过程能力是不可预测的,因为随着工作进展软件过程经常被 改变或修定( 即过程是无秩序的( a d h o e ) ) 。进度、预算、功能性和产品质量一 般是不可预测的。性能依赖于个人的能力,且随个人固有的技能、知识和动机 的不同而交化。等级l 组织几乎没有明显的稳定的软件过程,只能通过个体的 能力而不是组织的能力去预测性能。 2 1 。4 2 等级2 一一可重复级 在可重复级上,已建立管理软件项目的方针和实施这些方针的规程。基于 在类似项目上的经验对新项目进行策划和管理。达到等级2 的目的是使软件项 目的有效管理过程制度化,这使得组织能重复在以前项目上所开发的成功实 践,尽管项目所实施的具体过程可能不同。一个有效过程可特征化为实用的、 已文档化的、已实施的、已培训的、己测量的和能改进的。 等级2 组织中的项目已设置基本的软件管理控制。实际可行的项目约定是 基于对以前项目的观察结果和当前项目的需求。项目的软件经理跟踪软件成本、 进度和功能;识别在满足约定方面出现的问题。对软件需求和为实现需求所开 发的工作产品建立基线,并控制其完整性。软件项目标准已确定,并且组织能 保证准确地执行它们。如果有子承包商的话,软件项目与他们一起努力建立一 种强有力的顾客一供应商关系。 等级2 组织的过程能力可概括为有纪律的,因为软件项目的规划和跟踪是 稳定的,能重复以前的成功。由于遵循实际可行的基于以前项目性能的计划, 项目过程处在项目管理系统的有效控制之下。 2 1 4 3 等级3 一一已定义级 在已定义级上,全组织的开发和维护软件的标准过程已文档化,包括软件 工程过程和软件管理过程,而且这些过程被集成为一有机的整体。在c m m 中 的所有地方,均称此标准过程为组织标准软件过程。运用等级3 上所建立( 适 当时,经更改) 的过程,以帮助软件经理和技术人员工作得更有效。组织在使 其软件过程标准化时,利用有效的软件工程实践。存在一个负责组织软件过程 6 活动的组,例如软件工程过程组( s e p g ) 【f o w l e 9 0 】。实施全组织的培训计划 以保证职员和经理具有履行其职责所必须的知识和技能。 项目通过剪裁组织标准软件过程去建立他们自己定义的软件过程,它说明 项目独有的特征。在c m m 中,这种剪裁后的过程称作项目定义软件过程。一 个已定义软件过程包含一组协调的、集成的、妥善定义的软件工程过程和管理 过程。妥善定义的过程可特征化为具有准备就绪判据、输入、标准、进行工作 的规程、验证机制( 例如同行评审) 、输出以及完成判据。因为软件过程已妥善 定义,管理者就能洞察所有项目的技术进展。 等级3 组织的软件过程能力可概括为标准的和一致的,因为无论软件工程 活动还是管理活动,过程都是稳定的和可重复的。在所建立的各种产品线 ( p r o d u e t l i n e s ) 内,成本、进度和功能性均受控,对软件质量也进行跟踪。这 种过程能力建立在整个组织范围内对已定义过程中的活动、角色和职责的共同 理解之上。 2 1 4 4 等级4 一一己管理级 在己管理级上,组织对软件产品和过程都设置定量的质量目标、作为组织 测量大纲的部分,对所有项目都测量其重要的软件过程活动的生产率和质量。 利用一个全组织的软件过程数据库收集和分析从项目定义的软件过程中得到的 数据。等级4 上的软件过程已经配备有妥善定义的和一致的度量。这些度量为 定量地评价项目的软件过程和产品打下基础。项目通过将其过程性能的变化限 制在定量的可接受的范围之内,实现对其产品和过程的控制。可以将过程性能 方面有意义的变化,与随机变化( 噪声) 区别开来,特别在所建立的各种产品 线内,开发新应用领域的软件所带来的风险是已知的并得到精心的管理。 等级4 组织的软件过程能力可概括为可预测的,因为过程是已测量的并在 可测的限制范围内运行。该等级的过程能力使得组织能在定量限制的范围内预 测过程和产品质量方面的趋势。当超过限制范围时,采取措施予以纠正。软件 产品具有可预测的高质量。 2 1 4 5 等级5 一一优化级 在优化级,整个组织集中精力进行不断地过程改进。为了预防缺陷出现, 组织有办法识别出弱点并预先针对性地加强过程。在对新技术和所建议的组织 软件过程的更改进行费效分析时利用有关软件过程有效性的数据。识别出采用 最佳软件工程实践的技术创新并推广到整个组织。 等级5 组织的软件项目群组分析缺陷以确定其发生的原因。为了防止己知 类型的缺陷再次出现他们认真评价软件过程,同时将经验教训告知其它项目。 等级5 组织的软件过程能力可特征化为不断改进,因为这些组织为扩大其过程 能力的范围进行不懈的努力,因而不断改善其项目的过程性能。既通过现有过 程中增量式前进的办法,也通过采用新技术、新方法的革新办法,使改进不 断出现。 2 1 5c m m 的成分 2 1 5 1 成熟度等级( m a t u r i t y i e v e i s ) : 一个成熟度等级是在朝着实现成熟软件过程进化选中的一个妥善定义的平 台。五个成熟度等级提供c m m 的顶层结构。 2 1 5 ,2 过程能力( p r o e e s s c a p a b i l i t y ) : 软件过程能力描述通过遵循软件过程能实现预期结果的程度。一个组织的 软件过程能力提供一种预测组织承担下一个软件项目时预期的最可能结果的方 法。 2 1 5 3 关键过程区域( k e y p r o c e s s a r e a s ) : 每个成熟度等级由若干关键过程区域组成。每个关键过程区域标识出一串 相关的活动,当它们作为群体完成时,就达到一组目标,此组目标对建立该过 程成熟度等级是至关重要的。关键过程区域是分别定义在各个成熟度等级并与 之相连在一起的。例如,等级2 的一个关键过程区域是软件项目策划。 2 1 5 4 目标( g o a l s ) : 目标概括一个关键过程区域中的关键实践,并可用于确定一个组织或项目 是否已有效地实施该关键过程区域。目标表示每个关键过程区域的范围、边界 和意图。 2 1 5 5 共同特点( c o m m o n f e a t u r e s ) : 将关键实践分别归入下列五个共同特点中:执行约定、执行能力、执行的 活动、测量和分析、及验证实施。共同特点是一种属性,它能指示一个关键过 程区域的实施和规范化是否是有效的、可重复的和持久的。执行的活动这个共 同特点描述实施活动。其余四个共同特点描述规范化因素,它们使得过程成为 组织文化的一部分。 2 1 。5 6 关键实践( k e y p r a c t i e e s ) : 每个关键过程区域用若干关键实践加以描述,当实施这些关键实践时,能 帮助实现该关键过程区域的目标。关键实践描述对关键过程区域的有效实施和 规范化贡献最大的基础设施和活动。例如,软件项目策划这个关键过程区域的 一个关键实践是“按照已文档化的规程制定项目的软件开发计划”。 2 1 6 c m m 的关键过程区域 图2 3 中列出c m m 中每个成熟度等级的关键过程区域。每个关键过程区 域识别出一单相关活动,当这些活动全部完成时,能达到一组对增强过程能力 至关重要的目标。每个关键过程区域定义在单个成熟度等级上。关键过程区域 是些结构单元,它们指明组织为改进其软件过程应关注的区域。关键过程区 域鉴别出为达到某一成熟度等级必须解决的问题。 图2 3 成熟度等级的关键过程区域 2 1 7 c m m 的实施状况 下面柱状图2 - 4 反映了软件业界中各组织在等级成熟度的分布情况,该数 据由s e i 提供【4 】。 图2 - 4 等级成熟度的分布图 2 2 结构化生命周期法 2 2 1 结构化生命周期法的概述 生命周期法的依据是软件生存期的概念。一个管理信息系统从它的提出、 开发、应用到系统的更新,经历了一个从孕育、生长到消亡的过程。这个过程 周而复始,循环不息,每一次循环称为它的一个生命周期。 生命周期法就是给管理信息系统的开发定义一个过程,自顶向下、由全局 出发全面规划分析,然后一步步设计实现。对开发过程的每一阶段规定它的任 务、工作流程、管理目标,产生并编制出相应的文档,下一阶段的工作是在上 一阶段文档的基础上进行,使开发工作易于管理和控制,形成一个可操作的规 范。 结构化生命周期法采用结构化的系统分析和设计的方法,即“自顶向下,逐 步求精”,把一个复杂的系统分解成足够简单,并能被清楚地理解和表达的若干 层次。 生命周期法是指把信息系统的开发工作从初始到结束划分为若干阶段,对 每一个阶段都预先定好任务,然后按照一定的准则来按部就班地完成f 9 i 。 结构化的生命周期法通常把整个系统的开发分为六个阶段即: 1 系统规划阶段( 即调查研究及可行性研究阶段) ; 2 系统分析阶段; 3 系统总体设计阶段: 4 系统详细设计阶段; 1 0 5 系统实施阶段( 包括代码实现和系统测试) : 6 系统运行和维护阶段; 生命周期法的基本思想是:把软件的整个生命期分为需要分析、设计、开 发、运行维护等阶段,并严格规定各阶段工作的任务、目标、提交的成果,甚 至规定了工作的步骤和采用的工具。原型法的基本思想是:首先建立系统的基 本结构,实现基本功能;然后,在使用过程中逐步补充数据,修订与增添有关 模型和方法,满足使用者的进一步要求【g 】。 2 2 2 结构化生命周期法的各个阶段 图2 - 5 所示,是根据实践的经验,改进的结构化生命周期法,在这个生命 周期法中明确定义各个阶段完成的目标。1 5 1 1 3 1 2 2 2 1 系统规划阶段 该阶段的重点是明确软件开发的战略远景,明确开发目标和用户需求( 包 括功能需求、性能需求、可靠性需求、安全保密性需求、可使用资源等方面需 求) ,提出系统开发需求。组建规划小组,对客户现状调查,进行初步调查( 初 步调查用户的功能需求情况,业务过程,现实环境,包括技术,经济,资源, 基础条件等方面,分析系统开发的可行性,制定出实用,先进的总体规划方案) , 了解企业的概况,目标,边界,环境,资源,确定企业目标及信息系统性目标。 然后进行可行分析,提出信息系统主要结构,开发方案,资源投入计划等,安 排项目开发计划和可行性研究【i 。 该阶段输出的文档有可行性研究报告,项目初步的开发计划报告。 2 2 2 2 系统分析阶段 该阶段的重点是对整个软件项目的开发做出分析。它的任务是制定软件开 发的具体计划,包括软件的功能设计、架构设计、使用界面设计、用户使用 手册文档设计和测试等一系列计划:确定项目的具体时间表; 该阶段输出的文档有需求规格说明书,操作流程图,用户手册概要,测试 计划,工作任务清单( w b s ) ,具体时间表( 甘特图) 。 2 2 2 3 系统总体设计阶段 该阶段的重点是由系统分析员对整个软件项目做总体设计。具体的任务是 根据用户的需求对系统的总体设计,如软件所使用的硬件平台、操作系统平台、 编程语言、开发环境和工具、开发人员的经验和素质、功能组件的设计、系统 扩展性设计、系统报错纠错设计、国际化和本地化设计、辅助功能设计( 生产 工具) 等等。该阶段输出的文档有系统设计图表( 系统的状态关系图) ,概要设 计说明书,数据库设计说明书( 结构化设计s d ) ,结构图s c ,测试计划表( 包 括测试时间和测试人员) 【1 。 2 2 2 4 系统详细设计阶段 该阶段的重点是以比较抽象概括的方式提出了解决问题的办法。该阶段任 务不是编写程序,而是把问解法具体化,设计出程序的详细规格说明书( 包括 模块所用的资源,算法,数据,模块间的接口说明,与系统的关联等等) ,以及 模块测试计划。 该阶段输出的文档有详细规格说明书,模块测试计划。 2 2 2 5 系统实施阶段 该阶段的重点是写出正确的容易理解、容易维护的程序模块,并且输出高 质量的软件。任务是编写模块程序,选取合理的调试手段:编写测试工具和生 产工具;做单元测试和整个系统的集成测试和验收测试,软件项目验收之后, 开展项目总结会议,编写开发总结报告。 该阶段输出的文档有模块的详细设计说明书,功能和性能的测试报告,集 成测试报告,用户手册,开发总结报告。 2 2 2 6 系统运行和维护阶段 该阶段的重点是通过各种必要的维护活动使系统持久地满足用户的需要。 该阶段输出的文档有修改测试报告,用户要求改进的修改报告,修改用户手册。 图2 - 5 结构化软件生命周期法 系统总体设计阶段 、,;0,j 统纽计裴系详设阶 、, 系统实施阶段 系统运行和维护阶段 、l,;,r,0l、;,0,j 系统规辫阶段 系统分据阶段 2 3 i d e f 0 2 3 ,li d e f 0 的概念和组件 i d e f 0 是以结构化分析和设计技术( s t r u c t u r e da n a l y s i sa n dd e s i g n t e c h n i q u e ,s a d t ) 为基础所发展出来的一种系统菜单的工具。藉由图形化及结 构化的方式,清楚严谨的将个系统当中的功能、以及功能彼此之间的限制、 关系、相关信息与对象表达出来。藉由如此的表达方式,让使用者得以籍出图 形便可清楚知道系统的运作方式以及功能所需的各项资源,并且提供建构者与 使用者在进行相互沟通与讨论时,一种标准化与一致性的语言【1 8 】。 i d e f 0 模式的建立主要是由方块( b o x e s ) 及箭号( a r r o w s ) 这两种基本组件所 组成的。当中的每一个方块代表的是系统的功能,功能可能是一种行动( a c t i o n ) 、 作业( o p e r a t i o n ) 或是过程( p r o c e s s e s ) 。箭号代表方块中所需的信息,例如:输入、 输出、控制、机制以及呼叫等。i d e f 0 图形中将各项作业分为输入( i n p u t ) 、输 出( o u p u t ) 、控制( c o n t r 0 1 ) 及机$ 1 j ( m e c h a n i s m ) ,并将功能之间彼此相关联性加以 分解,因此可以正确的获取及传达流程与描述系统的功能。而往后本研究当中 也将利用i d e f 0 之图形来定义出产品开发知识管理系统之功能。至于i d e f 0 之基本组件图如图2 6 所示。 i i q p u t 1 卜 l lc o n t r o l i t m e c l m n l s m fi c a l l o u t p u t 图2 - 6i d e f 0 基本组件图f 1 9 】 图2 - 6 中i d e f 0 基本组件图当中的长方形图称之为功能( f u n c t i o n ) ,其为对 某些特定对象进行菜特定目的之活动( a c t i v i t y ) ,而这些活动有可能是一种行动 ( a c t i o n s ) 、作业( o p e r a t i o n s ) 或是程序( p r o c e s s ) ,而有这些功能的目的在于产生 不同于前的结果。 至于活动必需要由输入( i n p u t ) 、输出( o u p u t ) 、控制( c o n t r 0 1 ) ,机制 ( m e c h a n i s m ) 及呼叫( c a l l ) 等五项来构成,输入( i n p u t ) 、控制( c o n t r 0 1 ) 、输出 ( o u p u t ) 、机$ 1 j ( m e c h a n i s m ) i 四者的缩写就是i d e f 0 语法当中的i c o m ,称为i d e f o 中的四种资源。至于i d e f 0 中这些功能( f u n c t i o n ) 的命名主要是以动词或动词词 组为主。而呼叫( c a l l ) 贝0 是比较特殊的一种接口,它可以由功能再呼叫下一个更 为详细的模式来解释目前的功能,因此,其主要用在庞大的系统分工时,作为 1 4 将来系统整合的接1 2 1 1 1 9 1 。 2 3 2 i d e f o 之自顶向下分解 i d e f 0 在建模一开始,先定义系统的内外关系,来龙去脉。用个盒子及 其接口箭头来表示,确定了系统范围,如图2 7 。由于在顶层的单个方盒代表 了整个系统,所以写在方盒中的说明性短语是比较一般的,抽象的。同样,接 口箭头代表了整个系统对外界的全部接口。所以写在箭头旁边的标记也是一般 的,抽象的。然后,把这个将系统当作单模块的盒子分解成另一张图形。这 张图形上有几个盒子,盒子间用箭头连接。这就是单个父模块所相对的各个子 模块。这些分解得到的子模块,也是由盒子表示,其边界由接口箭头来确定。 每一个子模块可以同样地细分得到更详细的细节。如图2 8 。 图2 7 盒子及其接口箭头图2 - 8 递阶分解结构 i d e f 0 提供的规则,保证了如何通过分解得到人们所需要的具体信息。一 个模块在向下分解时,分解成不少于3 个、不多于6 个的子模块。上界6 ,保 证了采用递阶层次来描述复杂事物时,同一层次中的模块数不会太多,以致不 适宜于人的认识规律。下界3 ,保证了分解有意义的。但是,原始的s a d t 方 法,规定一张图上的盒子数为2 7 个,故我们也不作很硬性的限制。 模型中一个图形与其他图形问的精确关系,则用互相连接的箭头柬表示。 当一个模块被分解成几个子模块时,用箭头表示各子模块之间的接r l 。每个子 模块的名字加上带标签的接口,确定了一个范围,规定了子模块细节的内容。 在所有情况下,子模块忠实地代表了父模块,以既不增加也不减少的方式 反映着各自父模块所包含的信息。 第三章软件项目开发流程设计 3 1 结合软件开发流程的特点,对c m m 2 的模型剪裁 由图2 4 等级成熟度的分布图可知,软件企业的能力成熟度都集中在等级2 中,为了更好地解决开篇提到的项目管理意识差、项目成本意识差和项目计划 制定不合理的问题,本论文对c m m 2 的模型进行剪裁,适合软件项目的开发, 有效地解决软件项目开发过程的存在的管理问题,可以从以下几个阶段进行设 计。 1 在软件项目启动阶段建立项目管理过程规范,建立各种软件项目计划和 需求管理,为软件项目活动的管理提供一个可行的工作计划。如制定软件开发 计划、软件质量保证计划、软件配置管理计划、软件测试计划、风险管理计划 及过程改进计划。在软件开发计划中要明确项目组与客户之间的介入关系,项 目组的资源安排和费用预算,项目组各成员分工安排。尤为重要的是在软件项 目启动时便开展软件质量保证活动,分析识别项目明显的和潜在的风险,在风 险管理计划中明确对各个风险项的跟踪管理方式。只有将软件项目活动的约定 文档化,才能做到项目的跟踪和监控。 2 项目实施阶段重点关注需求和风险的跟踪,开发成果( 包括文档和代码) 、 开发进度与计划和活动的一致性。 1 ) 成立s q a 部门,指定的软件质量保证负责人,建立b u g 库,有利于 问题的跟踪。 2 ) 依据统一的标准结构建立项目配置库,保持与客户的有效沟通,及时更 改需求和对工作成果进行标识和管理,控制项目成果( 包括文档和代码) 的出库、 入库以及更新和发布,由专门的管理人员进行统一更新和发布新版本,将作为 版本发布的工作成果打上标签,这样能够保证项目成员手头的工作成果是统 的版本,避免由于阶段工作成果的不一致造成版本混乱甚至工作返工,影响项 目进度。同时质量保证人员配合配置管理人员定期或不定期进行软件产品基线 的状态和配置库内容的检查,保证配置库的完整性和库内成果的可用性。 3 ) 实施工作成果审核制度,项目重要计划和项目阶段成果必须经过各相关 方的严格评审,并取得相关方的一致认同和承诺。在项目编码阶段,对单个工 作产品普及代码互查活动,为单位模块的质量提供保证。对工作成果的每一次 评审,在评审会议举行前,将评审内容和范围通报给各位评审人员,以便评审 人员能充分了解评审内容,提高评审效率,保证评审质量。对评审中发现的缺 陷,立即改正,并由评审组长指定责任人跟踪其解决过程,确保无缺陷遗留。 4 ) 建立规范的报告制度,如员工工作报告、重大问题报告、项目罩程碑点 报告,建立规范的例会制度,如项目组例会、部门例会、三方例会。使得项目 各层面人员能够从各自关注的角度对项目各阶段的信息有一个及时的、相对透 明的把握。 3 2 软件项目开发流程设计图 为了更好地解决开篇提到的文档编写不规范、软件测试不重视和团队意识 差等问题,通过对c m m 2 的模型剪裁,结合结构化软件生命周期法,应用i d e f 0 技术,设计了软件开发流程图,见图3 - 1 萋r 图3 - i 软件项目开发流程设计图 1 8 馋 * 摊 一刚错缸巨廿耋一 一 一单it醛莽址勰躲坚工嚣娶鬈 矧删到芦舷是妪趣1科!博! 簿爝世h譬箍褥鬣 器辫_管籍幕 一攀旺笤聂 煞蘸谰也雹璧搿h茁襄 一露鬈静稚名辈摹世姐一一辕弑彗掣h棼斟 一一一避露鬈兴嚣_jjj*蜒群鹰 幽馨疆麴菇譬码鞠等臂慕 蚓磊蕃蠹鬟豢噩晷要慕 :罗,;。,i挺旃嚣罐,d,1 钏“新引叫11。州0 姥匿,咎,箔孺耆嫩一释旨罄基 一上8匕v壤墨*鬈需螭 寮世稍越野一 簿罐母hg箍姑蠢 锻|f箍蜉悟霉娃辫一壮撂,孽+t辎do 璐鏊嚣。,籍蕊爨 一卜 d o 农曙钆姑 警+ t 祭拳 基穆_吾i鹾世爨 群姑搿d o 瞄蓉* 辎 一ilf辑任秘箍嚣强摹瓣匠冬 一 一霉烈*覃墨辈摹母啦 站豁霜咯赴姑签 虽瓣 h 簦舔璐= j 篁 罩魁扯聪 烈壤攀h盆箍挝 _ 晦暇 趣鬻簸堙世h错躯爨讼瞻掣鼙器 脊嚣ifl镨躲嗥钆捧譬嚣错骓肇)瘁 l捧譬器*鼙鬈咯k埘冬 戮蝌匝隧 讼蕞掣躲商 静蓦,喜爱一氧v菇瓣释螭,麟聋,誊搓 轼窖瓣哗h壮鼙 从图3 1 中可以看出,依据生命周期法,根据实际情况调整各个阶段的定 义,且每一个阶段都有明确的输入和输出,以下是对每一个阶段的详细介绍。 3 2 ,1 可行性研究和分析阶段 在可行性研究阶段,提出要求,组建软件工程小组,制定市场调研报告, 进行初步市场调研,了解组织的环境、战略、目标、资源,确定组织目标及信 息系统目标,分析竞争对手的产品和实力,并分析本公司类似产品的销售情况 以及用户的反馈信息,更根据销售策略、国家的政策已经各方面的流程标准( 如 i s 0 9 0 0 0 ,c m m i ) ,迸彳亍可行性分析,认为可行,提出产品的主要结构、开发方 案,进度计划、资源投入计划等,写出可行性研究报告,产品需求说明书、软 件需求说明书和项目开发计划。由项目经理和开发部经理参与。 3 2 1 1 市场调研报告 市场调研报告的格式一般由:标题、目录、概述、正文、结论与建议、附 件等几部分组成。 调查的内容包括: 1 ) 说明调查目的及所要解决的问题。 2 ) 介绍市场背景资料。 3 ) 分析的方法。如样本的抽取,资料的收集、整理、分析技术等。 4 ) 调研数据及其分析。 5 ) 提出论点。即摆出自己的观点和看法。 6 ) 论证所提观点的基本理由。 7 ) 提出解决问题可供选择的建议、方案和步骤。 8 ) 预测可能遇到的风险、对策。 市场调研报告模板参考 附录a 】。 3 2 ,1 2 可行性研究报告 可行性研究报告的格式般包括标题、引言、前提、正文、结论等几部分 组成。可行性研究报告的内容包括: 1 1 报告的目的、编写的背景、术语的定义和使用的参考资料。 2 ) 说明可行性研究的前提,如要求、目标、假定、限制等。 3 ) 对现有的软件系统进彳亍分析。 4 ) 建议软件项目使用的系统,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市更新项目旧厂房拆除及新厂房转让协议
- 离职员工专利权保护及竞业限制合同范本
- 临床药学副高考试题及答案2025版
- 物业管理公司租赁经营权及智慧社区设施建设合同
- 网络直播平台签约主播合作推广协议范本
- 上市公司简单股份转让与业绩对赌协议
- 互联网医疗平台研发团队与医疗科技公司合作协议
- 生态农业园猪肉摊位租赁与有机食品认证合同
- 仓储物流租赁合同补充协议:租金上涨及调整机制
- 《科普危化品运输安全知识与应急处理合同》
- 2025年审计部招聘考试模拟题及答案详解
- Bowtie安全分析培训课件
- 2025年乡镇民政办招聘养老护理员面试常见问题及答案
- 2025客运从业资格试题及答案
- 2025租房合同范本下载参考
- (2025秋新版)人教版二年级数学上册全册教案(教学设计)
- 中小学预防基孔肯雅热主题班会课件-防蚊灭蚊守护健康
- 印染废水回用工程设计解决方案
- 平面构成要素——《点的构成》共53页
- 电信条例、工业信息化部令测试题【附答案】
- 【EHS领导力培训】安全领导力与执行力培训(86页)
评论
0/150
提交评论