软件开发中的项目管理

上传人:软*** 文档编号:184754023 上传时间:2023-02-02 格式:DOCX 页数:9 大小:163.08KB
收藏 版权申诉 举报 下载
软件开发中的项目管理_第1页
第1页 / 共9页
软件开发中的项目管理_第2页
第2页 / 共9页
软件开发中的项目管理_第3页
第3页 / 共9页
资源描述:

《软件开发中的项目管理》由会员分享,可在线阅读,更多相关《软件开发中的项目管理(9页珍藏版)》请在装配图网上搜索。

1、软件开发中的项目管理赵鹏 通信一团技术室摘 要 信息化是我军“双重历史任务”的重点。如何实现信息化,建立高效、安全的信 息平台,是摆在很多单位面前的一个课题。本文以总装备部CIMIS系统研制为背景,从软件工程 的角度,分析了软件开发的生命周期、软件过程模型和团队模型,重点讨论软件项目管理的科学 性和必要性,并结合具体实践,讨论如何发挥项目管理的作用,加强软件开发的组织与管理。关键词 软件工程、软件项目1 问题的提出经过三年多的应用和不断建设,总装备部 CIMIS 通信综合管理系统的性能不断完 善,应用范围不断拓宽,对总装通信管理和建设实现科学化、正规化起到了良好的推动 和促进作用。在检查中发现

2、,各单位在CIMIS系统的建设过程中,根据CIMIS总体技术方案和 各自的实际情况,都建立起了各自的CIMIS系统,开发了不少技术先进的应用系统,初 步实现了通信系统内部管理的信息化。但是,总体来说,或多或少存在着以下几个方面 的不足:1)目前各单位基本上都是独立开发自己的 CIMIS 系统,但由于没有统一的开发标 准,造成系统功能重复,开发平台不统一,系统整合难度大;2)系统开发往往针对某一特定功能,没有形成一个完整的系统结构;3)总体设计不够细致,各个子系统功能模块风格不统一;4)开发人员多数为通信技术人员,开发能力和时间有限,开发手段相对原始,大多 是软件作坊的形式,代码的可重用性低、可

3、读性差;5)缺乏有效的软件文档管理。这些问题集中体现在单个的功能模块设计和实现比较好,但是系统的顶层设计欠 佳,模块与模块之间不能很好的通信,系统功能重复,不能很好的整合。这里既有技术 层面的因素,即开发平台不统一;也有软件开发的组织与管理层面的因素,即程序员对 系统功能的定义、规划和设计不明确,往往是开发人员摸着石头过河,仅仅从自己开发 的这部分模块来考虑问题,另外开发人员和测试人员不能很好的协调,这些都说明了软 件项目管理这一角色的欠缺。所以,为了保证CIMIS系统的进一步发展,下面,从软件工程的角度,重点分析项 目管理在软件工程的管理和组织中的重要作用,并根据29基地在CIMIS系统开发

4、中的 一些做法,讨论如何发挥项目管理的作用,加强软件开发的组织与管理。2 软件工程简述2.1 定义根据Fritz Bauer的观点,软件工程(soft engineering)的基本定义为:Software Engineering is the establishment and use of sound Engineering principles in order to obtain economically software that is reliable and works efficiently on real machines。即:软件工程 是为了经济地获得能够在实际机器上有效运

5、行的可靠软件而建立和使用的一系列完善的 工程化原则。软件工程是一个层次化的科学,从低到高分为process层、methods层以及tools层。软件工程的过程(process)指将软件工程的方法和工具综合起来,以达到合理、及 时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付文档资料、保 证质量和协调变化所需的管理,及软件开发各个阶段的里程碑。过程是软件工程的基础。软件工程的方法(methods)为软件开发提供了“如何做”的技术。它包括多方面的 任务,如项目计划与估算、软件需求分析、数据结构设计、系统总体结构设计、算法过 程设计、编码、测试以及维护等。软件工程的工具(tools)

6、为软件工程过程和方法提供自动或半自动的软件支撑环境。 软件工具集成起来,建立起称作计算机辅助软件工程(CASE: Computer-Aided Software Engineering)的软件开发支撑环境。CASE将各种软件工具、开发机器和一个存放开发 过程的工程数据库组合起来,形成软件工程环境。2.2 软件生命周期(Software Lifecycle)软件生命周期是指一个时间段,从软件产品的设计开始,当软件再也不被使用时结 束,也称为软件过程,包括软件生存周期内为达到一定目标而必须实施的一系列相关过 程的集合。使用软件生命周期模型可以有助于理解整个过程,实现结构化开发进程,预 先资源计划和

7、过程控制,所以,一个良好定义的软件过程对软件开发的质量和效率有着 重要的影响。按照在软件生命周期全过程中应完成的任务的性质,在概念上可以把软件生命周期 划分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综 合测试以及维护等8 个阶段。实际上,在从事软件开发工作时,软件的规模、种类、开 发环境以及实用的技术方法等因素,都影响着阶段的划分。因此,一个科学、有效的软 件过程应该定义一组适合于所承担的项目特点的任务集合。常用的软件生命周期模型有:瀑布模型(Waterfall Model)历史悠久,广为人知,它的优势在于它是规范的、文 档驱动的方法;这种模型的问题是,最终交付的产

8、品可能不是用户真正需要的。瀑布模 型见图 1。进化开发模型(Evolutionary Development Model)正是为了克服瀑布模型的缺点而 提出来的。他通过快速构建起一个可运行的原型系统,让用户测试原型并收集用户的反 馈意见的办法,获取用户的真实需求。许多商业化的产品都是通过这种方式开发的。这 种模型的缺点是,对管理员来说,缺乏对项目进展的了解,同时系统的结构性比较差。 适用于小型或中型交互式应用的开发。进化开发模型见图2。风险驱动的螺旋模型(Spiral Model)是由于大规模的内部开发项目,但是,只有在 开发人员具有分析风险和排除风险的经验及专门知识时,使用这种模型才会获得成

9、功。 螺旋模型见图 3。图2软件生命周期进化开发模型图1软件生命周期瀑布模型p:貳叩口匸I::/. II S BTRlI Ib mriimvkKKfqiarenxrric pl in I Jlr*灯 ria . IxiDeui VtVKiJtiLi BuTGritinCTib-JiAut-伽“I坏hirwiXicfJ-p e 3!f Bl L、T_EL-alsn ahfnaihe?id 承目:.歼迅 ii nsfcs-0 机 iFlit tts plwi-i+pm+ Ynre !图3软件生命周期螺旋模型图4软件开发团队3软件开发的团队模型团队模型(Team Mode 1)是软件开发团队的组成及

10、其内部人员的分工和职责情况。 团队中的每一个角色都有其特定的任务,他们互相依赖、互相合作,共享对软件的管理, 也共享对软件的责任。每一个角色都始终存在并作用于整个软件开发过程。图4所示就是软件开发团队的组成。团队的成员根据软件的特点进行权力分配,共同分担责任和义务,彼此地位相等, 相互沟通,听取多数人的意见,达到彼此制约,最终达到合理的平衡的目的。团队的成 员及其主要目标如表1所示。表1团队角色及主要目标团队角色主要目标产品管理ProductManagement确定软件的远景,获取并确定用户的需求,控制用户的期望值,设计产品的特 征和进度表。项目管理ProgramManagement制定开发功

11、能规范,在团队内部进行沟通和协商,维护软件进度并报告软件产 品状态,保证能够尽快地在软件的约束条件下发布软件。软件开发Development开发出满足设计规范和用户要求的软件。软件测试Testing开发测试策略和计划,保证在解决了所有已知问题后再发产品。用户培训UserEducation保证使用文档要全部很清楚地写出来,提高用户使用软件的技能,保证大多数 用户能够充分利用软件的功能。后勤管理LogisticsManagement保证软件开发能够平稳的进行。在开发一个小的软件的时候,可以考虑使用小的团队。通常对团队压缩的方法就是 将图所示的各个角色进行组合。4 项目管理(Program Mana

12、gement)简述4.1项目管理的职责项目管理负责并保证高质量的软件产品按时完成和发布。其任务包括:倾听用户需 求;负责产品功能的定义、规划和设计;做各种复杂决策,保证开发队伍顺利开展及跟 踪程序错误等。总之,项目管理全权负责软件产品的最终完成。4.2为什么需要项目管理1) 软件设计、软件实现和软件测试专业分工明确,责权分明。在项目开发团队内,项目管理负责软件功能的定义、规划和设计;开发人员负责软 件的实现;测试人员负责软件的测试,三者相互配合、相互制约,同时又相互依赖。这 三个专业领域只有分工协作才可能建立明确责任制,从而保证软件开发的顺利完成。2) 开发人员能够集中精力做开发,而不被管理琐

13、事所困扰。项目管理承担的管理琐事是非常多的。组织召开会议就是具体的日常任务之一。开 发人员如果主持或参加此类会议,将严重影响其编程进度和效率。其他的技术管理琐事 还包括审查所有程序错误,处理项目运作过程等。总之,开发人员需要项目经理来帮助 他们集中精力写高质量的代码。3) 开发队伍需要有视野良好的领导。一个开发组内,如果大家都整天埋头编写自己负责的模块代码,最终可能做出一个 高质量而不一定符合系统整体战略或需求的软件。项目管理需花专门时间对软件的战略 定位,用户的需求获取和日常管理,以及与其他产品的配合进行认真研究。项目管理对 功能的优先级处理,程序错误的判断决策都可以进行专业化管理。4) 项

14、目组内部不同角色人员之间需要好的沟通协调。项目组内部有程序开发、测试、用户培训及可用性研究等方面的人员。这些人员对 项目的过程和具体设计经常存在分歧和冲突。这些不同职能人员之间的协调一致和相互 配合,都需要项目管理的积极参与和领导沟通。5二十九基地项目管理的实践自 2000 年开始 CIMIS 系统的研制以来,我们对项目管理的角色的认识从一无所知,到一知半解,再到比较熟练,是一个成长的过程。最早的方案的总体设计偏重于功能实 现和技术可行性研究,将主要精力放在了技术细节上,总体设计上又没有对界面样式和 设计风格进行硬性规定,造成各个功能页面的样式差异很大,使整个系统没有形成统一 的风格。鉴于这种

15、情况,我们对前期的技术情况进行了总结反思,按照软件工程的规范, 重新进行了总体设计,较好地解决了上述问题,取得了理想的效果。我们觉得在以下几 个方面有比较深的体会:5.1软件生命周期模型的确定采用进化开发模型比较适合CIMIS应用系统的开发,开发人员在实现系统的基本核 心功能后就直接交给用户使用,在实践中用户一方面熟悉系统,另一方面提出改进意见; 开发人员根据意见进行改进和完善,然后再交给用户使用,如此循环,螺旋式上升。经 过实践证明,这种方法可以有效地提高开发和应用推广进度。图5 CIMIS软件生命周期模型图6 CIMIS软件开发团队5.2开发团队的组织在29基地CIMIS系统开发中,根据基

16、地通信系统人员编制少、值勤维护工作量大 的特点,我们采用了压缩的团队模型:产品管理和后勤管理由通信处分管参谋担任,确 定人员分工,保证开发的顺利进行;项目管理由通信修理所一名计算机专业的副研究员 为主组成的总体组担任,负责软件产品功能的定义、规划和设计以及软件开发中的决策, 协调开发人员、测试人员的日常运作;软件开发由指挥自动化站和通信站网管室技术干 部承担,并根据实际情况合理分配任务,比如,通信站网管室的技术干部对基地通信网 络非常熟悉,承担了网络监控、网络值勤等功能的开发,指挥自动化站由于软件开发能 力强,承担了数据库建设和通信GIS的开发任务;软件测试由通信修理所担任。角色分 配如图6所

17、示。5.2项目管理具体工作的界定在基地CIMIS系统的开发中,项目管理应该将精力主要放在系统框架设计和标准制 定上。具体来讲,通过对系统的需求分析,设计系统业务流程(Enterprise Work Flow)、 功能模型(Function Model)和数据模型(Data Model),为系统开发打下基础;重点开 发CIMIS系统的顶层框架并提供数据资源接口,制定各种功能模块的设计任务书,为系统开发确定一个标准化强、操作性好的规范;同时,对功能模块的实现制定相应的约束 条件,保证功能模块结构规范、通用性好并易于使用维护;另外,制定相应的检测标准, 提供检测手段,保证完成的功能模块符合系统的要求

18、,为CIMIS系统具有长期的生命力 提供了条件。图7、8分别为项目管理组设计和开发组实现的功能模块。通信处通信站李四修理I 自动化站 研究所快捷方式区29 基地 CIMISV1.0版本张三图7项目管理组设计的功能模块图8开发组实现的功能模块如果从一个软件的开发周期看,项目管理的职责会更加清楚。一个软件的开发周期 包括计划阶段、设计阶段、实现阶段、稳定阶段和实用阶段。在软件的计划阶段,作为第一步,产品管理(通信参谋)会同项目管理等制定出一 个粗略的系统计划书,然后由项目管理负责准备项目计划草案,包括系统远景描述、主 要功能、建议的时间表和里程碑及所需的资源估算等。第二步,项目管理主持由开发骨干、

19、测试骨干参加的大脑风暴式的讨论会,对计划 草案进行全面细致的分析讨论。这种会议进行多次,直到主要功能模块被大家认同和确 定下来。第三步,项目管理编写一份设计说明书,包括对功能的优先级的制定、对资源和时 间表的估算等。最后,项目团队的所有成员参加由项目管理主持的设计说明书的评审会,对有关估 计进行调整。最终对整个项目的进度、功能块取舍做出总结和决定。在这之后,项目进 入设计阶段,项目管理要着手编写详细的设计说明书。在进入实现阶段和稳定阶段后,项目管理要对项目进行日常的跟踪管理,其典型的 工作包括:1)主持每周固定时间的项目会议,大家互相通报项目的进展情况,特别是存在问 题,开发、测试人员均要参加。2)项目管理编写每周的项目进度报告,并发给每个成员。3)与软件开发、测试人员讨论,跟踪程序错误的进展情况。6结束语29基地按照软件工程的规范,实施项目管理以来,在系统的整体结构设计上,初步 形成了一个业务支撑平台+消息传递通信机制+功能实体形式的三层框架结构。其中的 业务支撑平台提供安全服务、数据环境和WEB GIS资源管理服务。在业务支撑平台和 消息传递通信机制组成的系统框架下,各个功能实体可以成为相互独立的软件模块,分 散开发、灵活组装,各功能模块实用、高效,具有良好的开放性,从而为CIMIS系统建 设提供一个可持续发展的条件和功能不断拓展的空间。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!