网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

软件项目管理与实践

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
软件项目管理经验《软件项目管理与实践》2007-2008学年第二学期期末考核题
1.如果项目快结束时,忽然有一个很重要但非常耗时的变更,你作为项目经理应该如何处理?(10分)
答:当项目经理面临着需求变更程序变动时,需在最短时间在心里做完的事情是:1、估算出需要的人力和工作日 2、如果做则对整个项目时间周期的影响 3、此项目的重要度和紧急度,应当安排在什么时候做。然后将结果和客户交流并达成一致。最好用书面形式存档。一项目中的一个三个工作日新模块的开发为例,在充分理解客户的基础上如果会引导客户,则三个工作日后该模块就可顺利完成并得到客户的认可。一、根据实际情况调整你的计划,并做好充分的预估。二、将变更原因和你的新计划向你的上级汇报。三、和你的同事开会协商宣布时同时宣布人员安排和日期安排。
2.下图是一个小型项目的网络图,所有时间以天为单位,网络从节点1进展到节点10。(20分)活动 起始节点 终止节点 估计时间A 1 2 2B 1 3 3C 1 4 3D 2 5 3E 2 9 3F 3 5 1G 3 6 2H 3 7 3I 4 7 5J 4 8 3K 5 6 3L 6 9 4M 7 9 4N 8 9 3O 9 10 2要求:① 画出代表项目的PERT图;② 确定关键路径;③ 计算每个活动的浮动时间;④ 假设活动A、B、C都利用了人力库,缩短这三个活动中任何一个的时间将造成其他两个活动之一增加同样的量,仅仅因为这三个活动的缘故,网络重新计划会缩短关键路径长度吗?⑤ 假定活动C的估计时间是4,重复回答②、③和④。
答:1.PERT图 2.关键路径:1→2→5→6→9→101→4→7→9→10最长路径是:143.每个活动的浮动时间在图上显示。4.不会缩短关键路径长度。5. 关键路径:1→4→7→9→10;最长路径:15;每个活动的浮动时间如图显示;会缩短关键路径长度。3.仅当每个与会者都在事先作了准备时,正式的技术复审才能取得预期的效果。如果你是复审小组的组长,你怎样发现事先没做准备的与会者?你打算采取什么措施来促使大家事先做准备?(10分)答:软件复审包括了对需求文档、详细设计、数据库设计、功能设计、编码功能实现及质量、错误跟踪等的审查,以避免使用过程中出现更多的差错。反复审查是为了确保质量,保证不出现更多的错误和异常,软件复审就是以对质量保证为目的的。对每个与会者提些软件配置复审因素问题:变更指令中指令的变更是否完成?每个附加变更是否已经纳入到系统中?是否进行了正式技术审核?是否遵循软件工程标准?变更的软件配置项是否作了特殊标记而得到强调?是否注明变更日期和变更执行人员?软件配置项属性是否反映了变更?是否遵循与变更有关的注释,记录及报告的软件配置管理规程?相关的软件配置项是否都得到了同步更新?等问题。经常督促大家事先做准备,平时严格要求每次在准备开会前几天再次提醒每个与会者,开会时记录下每个与会者回答问题的准确性程度,根据此内容对与会者进行适当的赏罚。
4.研究教材第9章的“移动平台嵌入式电子商务平台”项目描述,要求完成以下内容:(20分)(1) 用代码行技术估算本系统的规模;(2) 用功能点技术估算本系统的规模;(3) 用静态单变量模型估算开发本系统所需的工作量;(4) 假设由10个人开发本系统,请制定进度计划;(5) 假设由30个人开发本系统,请制定进度计划。注:该题项目内容也可从自己有兴趣的题目着手完成。
答:(5)根据项目总体进度目标,为了使所有参与人员能够完全合作,有必要对项目目标进行修改。确定项目涉及的所有人员和他们的兴趣。确定与终端客户代表沟通,确认终端用户的使用倾向。通过与系统运行和维护用户沟通,确认其兴趣。编制人员计划表:本项目所涉及人员 其特长项目组长及管理人员(4人) 管理项目的实施项目计划攻关人员(6人) 对项目的核心技术进行科研攻关项目设计人员(6人) 进行项目的设计工作项目具体程序开发人员(10人) 完成项目具体程序开发最终用户代表(2人) 最终客户需求确定运营商代表(2人) 运营商需求确定
绘制甘特图,其中线段的长度表示完成任务所需要的时间,起点和终点分别表示任务的开始和结束时间。任务 第1月 第2月 第3月 第4月 第5月 第6月需求分析      规格说明            软件设计        软件实现       单元测试       集成测试        确认测试      制定人力资源需求网络图:205
 
软件项目管理与实践5.根据自己所学的软件项目管理课程,谈体会最深的内容内容。要求有明确的主题,如浅谈软件项目的进度、质量、成本、风险管理方法等;语言精练,条理清晰;以文档形式提交。(40分)
浅谈软件项目的质量管理一、基于对软件质量管理的认识与分析 质量:一组固有特性满足要求的程度,指产品或服务满足规定或潜在需要的特征和特性的总和。它既包括有形产品也包括无形产品;既包括产品内在的特性、也包括产品外在的特性。即包括了产品的适用性和符合性的全部内涵。软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征的总和。有四个含义:1、能满足给定需要的特性之全体;2、具有所希望的各种属性的组合的程度;3、顾客或用户认为能满足其综合期望的程度;4、软件的组合特性,它确定软件在使用中将满足顾客预期要求的程度。 从用户最感兴趣的的角度来说,软件质量可以从三个不同的角度来看待:如何使用软件、使用效果如何、软件性能如何;从软件开发的团队的角度来说,不仅要生产出满足质量要求的软件,也对中间产品的质量感兴趣,也对如何运用最少的的资源、最快的进度生产出质量最优的产品感兴趣;从软件维护者的角度看,对软件维护方面的特性感兴趣;对企业的管理层来说,注重的是总体效益和长远利益,就是说质量好的软件一般可以帮助企业扩大市场;反之,质量差的软件一般会造成企业市场萎缩。软件质量特性:根据《GB/T16260-1996(idt ISO/IEC9126:1991)信息技术 软件产品评价 质量特性及其使用指南》软件的质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面,每个方面都包含若干个子特性: 功能性:适合性、准确性、互操作性、依从性、安全性; 可靠性:成熟性、容错性、易恢复性; 易用性:易理解性、易学性、易操作性; 效率:时间特性、资源特性; 可维护性:易分析性、易改变性、稳定性、易测试性; 可移植性:适应性、易安装性、遵循性、易替换性;质量管理:在质量方面指挥和控制组织的协调的活动,指对确定和达到质量所必须的全总职能和活动的管理,其管理职能主要包括制定质量方针和质量目标以及质量策划、质量控制、质量保证和质量改进。软件开发质量管理,就是为了开发出符合质量要求的软件产品,贯穿于软件开发生存期过程的质量管理工作。软件开发质量管理层次初步划分如下: 1、技术层次(数据、编程、文档) 2、方法体系层次(措施、项目、过程) 3、社会因素层次(质量环境、技术标准、业务标准、人员)影响软件质量的因素有很多,通常有:人的因素、软件需求、质量问题可能出现在开发过程的各个环节上、测试的局限性、质量管理的困难、质量管理未能给予足够的重视、软件人员的传统习惯、开发规范、开发工具的支持不够等。对于象石化加油卡工程的核心软件之类的大型软件,涉及平台多,开发环境多,开发人员庞大,在全国尚无大规模的同行业省级应用模式可以参考。因此,软件要能够恰合需求是最为首要的质量因素;其次,对于庞大的开发人员,对他们培养和树立软件质量意识,按软件工程标准规范开发流程,因此,质量管理和开发过程控制也十分重要;再次,该核心软件庞大、复杂、功能多、子系统多、接口多,要在软件开发生命周期内重视软件测试也至为关键。目前,在业界影响较深的McCALL质量模型、ISO软件质量评价模型以及SSC软件质量度量模型,都比较共同地列举了软件的质量特性,如正确性、可靠性、完整性、优化与效率、可维护性、可测试性、容错性、文档完备性、复用性、健壮性等等,要想使提交的软件在各项指标方面具有较高的性能和度量指标,在软件开发过程中,须采用切实可行和有针对性的措施方可达到要求。胜任是质量的前提,现在很多软件公司都正在或已经通过CMMI的评估,理论上这些类似的认证或评估是对公司管理能力和业务能力现状的评价,是产品质量保障的前提,但是一些软件公司往往只注重评估的结果,却忽略企业质量管理生态建设的过程。这就埋下了一个隐患,企业要完成超出管理能力和业务能力的项目,对客户和企业自身都是极大的冒险。企业要“善其事”,同时人也要“善其位”,只有每个工作岗位上的人都能顺利履行岗位职责,才有可能保证质量,所以说胜任是质量的前提。软件开发过程中应对每个岗位的任职能力有个量化的指标,根据项目的难易程度合理配置资源。 项目管理者联盟文章,深入探讨。有100%完美的项目,但有100%完善的质量体系,我们带着尽善尽美的心态去完成项目,然而我们应容忍缺陷的存在,项目的进程我们是可以掌控的,所以质量管理应该百分之百的贯彻到项目全程。制定的质量计划应该是对项目里程碑计划的解约,质量计划规定了保障项目实施的资源能力、标准作业以及检测指标,对产品、作业现场和资源进行全面质量控制。我认为质量体系不是不允许大家犯错,即使我们按正确的方式去做事,结果也有可能是错的,关键是如果去处理和补救。软件项目中影响质量的因素很多,比如,用户需求发生变更、开发人员流失等等,那让一切的变化都在质量体系的掌控之中。最佳质量成本,质量成本是项目实施过程中为保证项目质量而消耗的控制成本以及因质量不良而带来的补救成本之和,而最佳的质量成本就是当两者都处于最低时相加之和。公司可以没有QA部门,但QA部门承担的角色应该有人来承担。所以在计算项目开发成本时应摊销软件测试人员、工具以及测试环境搭建的费用。根据软件开发生命周期的规律,软件开发前期的需求调研和分析阶段应注重控制成本的投入,软件设计和开发阶段也应注重对测试工具的使用。软件项目开发的各个阶段以及软件项目开发中的每个角色都处在质量管理体系之中,因此只要每个角色按正确的方式执行任务,对非正确的结果有预期和标准的处理方法,保证项目质量自然水到渠成。软件的质量因素很多,如正确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、可复用性、可扩充性、兼容性等等(还可以列出十几个)。
1 正确性与精确性正确性与精确性之所以排在质量因素的第一位,是因为如果软件运行不正确或者不精确,就会给用户造成不便甚至造成损失。机器不会主动欺骗人,软件运行不正确或者不精确一般都是人造成的。即使一个软件能100% 地按需求规格执行,但是如果需求分析错了,那么对客户而言这个软件也存在错误。即使需求分析完全符合客户的要求,但是如果软件没有100% 地按需求规格执行,那么这个软件也存在错误。开发一个大的软件项目,程序员要为“正确”、“精确”四个字竭尽精力。
与正确性、精确性相关的质量因素是容错性和可靠性。容错性首先承认软件系统存在不正确与不精确的因素,为了防止潜在的不正确与不精确因素引发灾难,系统为此设计了安全措施。在一些高风险的软件系统,如航空航天、武器、金融等系统中,容错性设计非常重要。
可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。可靠性本来是硬件领域的术语。比如某个电子设备,一开始工作很正常,但由于工作中器件的物理性质会发生变化(如发热),慢慢地系统就会失常。所以一个设计完全正确的硬件系统,在工作中未必就是可靠的。软件在运行时不会发生物理性质的变化,人们常以为如果软件的某个功能是正确的,那么它一辈子都是正确的。可是我们无法对软件进行彻底地测试,无法根除软件中潜在的错误。平时软件运行得好好的,说不准哪一天就不正常了,如“2000年”问题。因此把可靠性引入软件领域是有意义的。我曾买了一本关于软件可靠性的著作,此书充满了数学公式。我发现以我目前的学历实在难以看懂书上讲了些什么。请宽恕我的愚昧,我把此书给“供”起来,没敢用笔画一处记号。
2 性能与效率用户都希望软件的运行速度高些(高性能),并且占用资源少些(高效率)。旧社会地主就是这么对待长工的:干活要快点,吃得要少点。程序员可以通过优化算法、数据结构和代码组织来提高软件系统的性能与效率。优化的关键工作是找出限制性能与效率的“瓶颈”,不要在无关痛痒的地方瞎忙乎。如果你想职称升得快,光靠增加课时能顶屁用;你就该一年写它几十篇文章,争取破格升教授。
3 易用性易用性是指用户感觉使用软件的难易程度。用户可能是操作软件的最终用户,也可能是那些要使用源代码的程序员。现代人的生活节奏快,干啥事都想图个方便。所以把易用性作为重要的质量因素无可非议。
导致软件易用性差的根本原因是开发人员犯了“错位”的毛病:他以为只要自己用起来方便,用户也一定会满意。俗话说“王婆卖瓜,自卖自夸”。当程序员向用户展示软件时,常会得意地讲:“这个软件非常好用,我操作给你看,……是很好用吧!”软件的易用性要让用户来评价。当用户真的感到软件很好用时,一股温暖的感觉油然而生,于是就用“友好”来评价易用性。
4 可理解性与简洁性可理解性表达了人们一种质朴的愿望:我化钱买了它,总得让我明白它是什么东西。我小时候的一个伙伴在读中学时,就因无法理解电荷之分正负,觉得很烦恼,便早早地缀学当工人。
可理解性也是对用户而言的。开发人员只有在自己思路清晰时才可能写出让别人能理解的程序。编程时还要注意不可滥用技巧,应该用自然的方式编程。我们的确不知道自己的得意之举究竟是锦上添花,还是画蛇添足。就象蒸出一笼馒头,在上面插一朵鲜花,本想弄点诗情画意,却让人误以为那是一堆热气腾腾的牛粪。
简洁是一种美,不管是自己还是用户都会有同感。在生活中,与简洁对立的是“罗里罗嗦”。中国小说中最“婆婆妈妈”的男人是唐僧。有一项民意调查:如果世上只有唐僧、孙悟空、猪八戒和沙僧这四类男人,你要嫁给哪一类?请列出优先级。调查结果表明,现代女性毫不例外地把唐僧摆在老末。一个原始的应用问题可能很复杂,但高水平的人就能够把软件系统设计得很简洁。如果软件系统臃肿不堪,它迟早会出问题。简洁是人们对工作“精益求精”的结果。
废话大师有句名言:“如果我令你过于轻松地明白了,那你一定是误解了我说的话。”我最近有一种奇怪的体会:如果把学术文章写得很简洁,让人很容易理解,它往往中不了;只有加上一些玄乎的东西,把本来简单的弄成复杂的,才会增加投稿的命中率。事实上,我可以在5分钟之内说清楚三年来读博所做的工作,根本用不着写100多页的博士论文。我是在临近毕业时,才发觉自己完全不适合读博士学位。将来工作后,我一定要好好编程,重新做人。
5 可复用性与可扩充性复用的一种方式是原封不动地使用现成的软构件,另一种方式是对现成的软构件进行必要的扩充后再使用。可复用性好的程序一般也具有良好的可扩充性。本书第六章将论述如何设计可复用、可扩充的C++程序。20:08:34
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 1280 x 720 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师