软件开发项目案例(软件工程案例教程软件项目开发实践)
本篇文章给大家谈谈软件开发项目案例,以及软件工程案例教程软件项目开发实践对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
软件项目开发总结报告实例
软件项目总结报告范文
1引言
1.1编写目的
XXX公司业务管理系统的开发已经基本完成。写此项目开发总结报告,以方便我们在以后的项目开发中来更好的实施项目的订制开发; 让我在今后的项目开发中有更多的有据的资料来规范我们的开发过程和提高我们的开发效率,从而创造更多公司效益。
1.2背景
项目名称:XXX业务管理系统
软件名称:XXX业务系统
客户:XXX
用户:XXX员工
1.3参考资料
项目开发文档:
1.软件开发数据模型:PDM_OperationSystem20070831.pdm
2.数据库开发文档: XXX业务管理系统数据库设计说明书2.0.doc
3.软件业务流程参考:XXX业务管理系统流程说明.doc
4.软件使用手册参考:XXX业务管理系统功能说明3.0.doc
5.软件业务流程参考:XXX业务管理系统流程说明.doc
6.软件中使用到的第三方控件:ComponentArt Web.UI 2006.1252 for asp.net2.0.rar
7.软件中使用的安全Ikey驱动:Ikey Driver.rar
以上参考资料是截止2007-08-31是最新的资料文档。如有修改,即使修改此处的参考文档名称。
2开发工作评价
2.1对生产效率的评价
1. 系统开发已历时快1年的时间了
2. 开发的反复性比较多。
3. 对客户的需求理解不是很透彻。
综合以上,此项目的开发效率不是很高,相反有相当一定时间的浪费。
2.2对产品功能的评价
经过我们公司各位同事的共同努力协作,XXX业务管理系统已经很好的完成了客户的业务流需求。经过对客户使用过程的观察,此项目开发的还是比较成功,但是还是存在着一些问题,造成这些问题的原因是多方面的。如:前期系统数据库的设计缺陷和部分代码的构建缺陷、客户需求的理解上也存在一定问题,这就需要我们用一定的时间来维护客户使用过程中提出的新问题和存在的debug。总的来说,此系统的功能开发还是一个比较成功的案例。
2.3对技术方法的总结
在此项目中使用到技术和工具:
1. 使用代码生成器:使用代码生成器 [动软.Net代码自动生成器],此工具在很大程度上提高了编码效率,从而加快了项目的开发进程。在以后的项目中,我们要尽量的来使用一些类似的工具来在最短的时间内完成工作。在今后的项目开发中,我们最好是能开发出适合自己的代码生成工具,更大限度的节省开发周期和开发费用。
2. 使用数据库建模工具;PowerDesigner 工具来建立系统数据库模型,以方便程序员很好的理解业务流和掌握系统架构者的架构思想,更好的满足客户的功能需求。在今后的项目开发中,我们要更好的来完成系统的前期数据库模型的建立,最大的来优化系统功能。
3. 使用第三方控件:此系统中使用了ComponentArt Web.UI 第三方控件。此控件在很大程度上满足了客户对软件界面的需求,从而也给软件的操作带来了方便。本项目中只使用了ComponentArt Web.UI一种第三方控件,在今后的项目开发过程中,要继续使用第三方的控件。这样以来,无论是针对软件界面的美观性、友好性来说、易操作性而言,还是针对系统开发效率而言,这都是很好途径。但需要意的是:在是使用第三方控件时,要谨慎的选择一些网络中的比较常见的第三方控件。
4. 使用自定义控件:此系统中使用了自定义控件(GhdGridView),此自定义控件可以很好的统一系统中的所有信息显示表格样式。如客户对数据显示样式有什么新的意见,我就不需要修改每一个页面的表格样式,我们只需要修改GhdGridView控件的样式,系统中的所有继承自GhdGridView的表格样式都可以改变。
5. 系统开发框架:此系统的框架使用的是简单三层结构,此框架在开发一些中小软件是比较实用的。但是我们要是可以开发出自己的框架,把一些通用的功能开发到框架中。这样以来,在以后的系统开发中,针对系统中一些通用的功能就不需要再开发,从而也可以很好的提高我们的开发效率;减少很多维护费用。使我们的技术不断的更加成熟。
6. 系统安全加密:此系统中针对客户提出的系统安全问题,我们采用了Ikey加密硬件钥匙来验证客户端登陆客户的合法性,此Ikey钥匙可以绑定到一个系统使用用户,也可以让多个用户来使用一个加密钥匙来验证登陆系统的合法性。这样以来,即使用户的密码不慎丢失,或者被不法人员取得(不法人员他也是无法登陆到我们的系统中来),这样就最大的提高了我们系统的安全性。Ikey加密钥匙是很好的加密B/S架构软件的硬件工具,在以后的软件安全方面可以借鉴。
3项目经验总结
3.1签定合同
一个项目的开发成败或者说项目开发带来效益的大小,在很大程度上是受项目合同签定的影响的。往往,很多一部分公司与客户签定的项目合同都是很模糊的,也很难签定的比较清楚,这样以来就会导致在项目的开发后期,工作两会越来越大,影响项目的竣工周期;而且,项目的开发费用一般是不会变的。这样以来,我们就大大的降低了我们的开发效益。虽然需求范围很难签定的明确,但是我们在签定合同时,要尽量的去把合同功能边界和添加新功能的条件签定。
3.2开发团队
在项目确立后,要尽快的建立起项目开发团队。
项目团队成员的团结合作、相互沟通是非常重要的,团队成员之间要相互学习彼此的优点和技术,使团队的能力不断的提高。这样,在项目的开发过程中,团队才不会被难题困住不动。另外,团队中要有一个项目负责人,这个人无论是在与客户的沟通上,还是在技术上都要是很出众的人,此项目负责人要能很好的沟通客户与开发成员之间,以此来更好的理解客户的功能需求。人的记忆力总是有限的,所以就要求开发团队成员要尽量的书写一些开发文档,这些文档往往是我们在项目开发后期要用到的可寻资料。项目团队士气是项目成功的一个因素,我们需要不断的来培养我们的团队气势,使我们的团队不断的壮大。
3.3需求的调研
在项目确立后,就到了需求调研分析阶段。
1. 项目组对客户的整体组织结构、公司有关人员的关系、职责等如果没有一个很好、足够的了解掌握,这样项目组就无法很好的完整的整理到客户的需求、或者说客户真实的功能需求,如此以来我们就为自己埋下了地雷,影响项目的开发周期,这就要求我们要与客户搞好无论是工作上的还是生活上的朋友关系,要深入的去了解客户需求。
2. 我们要尽量的让客户也参与到项目的开发团队中来,也就是说我们要使客户把自己也纳入到项目的开发团队中来,如此一来,我们掌握客户需求的真实性、可靠性就会大大的提高,也就不会为项目的后期功能开发埋下陷阱
3. 在需求调研过程中,如果缺乏足够用户参与,这样的需求调研也是失败的。很多程序员不愿参与到客户的需求调研中去,为什么呢?很简单,与客户沟通不如与代码沟通容易有意思。尽管这样,我们还是必须用足够多的时间去和客户进行沟通,了解他们真实的需求。很多用户也是如此,他们自己也不愿意参与到项目的需求调研中来,为什么呢?需求调研有出去和朋友一块烂漫对吗。。。虽然现状如此,我们还是要努力的使客户参与到需求的调研中来。
4. 模糊需求,也就是模棱两可是需求规格说明中最为可怕的问题。一是指诸多客户对需求说明产生了不同的理解;一是指单个读者能用不止一个方式来解释某个需求说明。针对对这种情况,就要求我们的调研人员要能够从多个角度来分析客户的不同需求,整理出最终的需求与客户确认,定出最终真实可靠的需求,我们绝不能凭借我们自己的单面理解来定立客户的最终需求。
5. 在一个项目的开发中,文档的书写是极为中要的一项工作。因为,某些文档就是我们在开发后期与客户沟通的可寻依据、也是我们程序员在编码过程中要用到的重要文档。我们绝对不能认为,凭借我们的大脑来记录所有的开发需求。。。;即使,你说你是天才,你要用你那颗爱因斯坦的大脑来记录所有的开发需求,那也是不可能的,人的精力总是有限的。这就要求我们在需求调研中做好需求文档的记录和整理。
6. 需求调研工具选择,客户一般对图形还是比较感兴趣的,所以我们在调研过程中,我要尽量的采用图形化界面来和客户沟通需求。比如可以采用Rose工具,把客户的意思转换为用例图、时序图、协作图、状态图、类图等,使表达的意思更加直观。这样客户会更快的进行问题的实质。
3.5做好开发计划
在项目确立后,我们就需要做好项目开发计划,需求调研用时,开发用时,测试用时,实施用时,维护用时。在我们做好了计划后,我们要随时的跟踪计划任务的完成进度,从而使我们的项目进度掌控在我们的开发周期范围之内,今日计划、行动,明日成功。
3.5很好的沟通
在其他行业中,人与人的之间的沟通只很重要的。项目开发也不例外,很好的沟通能够加快项目的进度,这就要求我们每一个开发人员要学会和善于沟通于客户和同事之间。在一个项目的开发过程中,我们与客户的沟通是一个不断交流和沟通的过程。在开发到一定的阶段,我们就需要和客户沟通已有功能,尽量的去避免一些隐藏的问题,及时的发现问题,解决问题,从而按时或者提前完成项目的开发。
3.6做好工作总结
在项目进行的过程中,我们要不断去整理自己的工作情况和做好总结,这样以来,无论是在自己的技术还是其它方面,都会对我们有很大的提高,在长期的积累后,无论是我们个人能力,,还是我们的团队能力都会有很大的提高。
软件项目管理案例教程
软件项目管理案例教程
引导语:《校务通管理系统》的成本估算过程是循序渐进的,随着项目的不断发展,估算可以重复多次进行,而且是逐步求精的。下面是我为你带来的软件项目管理案例教程,希望对你有所帮助。
1.合同签订前的成本估算
开始签订合同的时候,根据以往类似项目的经验,采用类比估算方法进行粗略的估算。根据用户的要求,系统采用B/S结构,公司的JSP+SQL Server技术比较成熟,以前成功完成过类似项目,根据工作说明书(Statement Of Work,SOW)的要求,基本上需要2~3个开发人员,2个月左右的开发时间,大约4~6人月的工作量,所以10万~15万可以作为合同的参考报价。
2.合同签订后成本估算
合同签订后,根据现有的资源和WBS分解的结果,进一步细化估算。由于WBS分解是针对项目的功能进行的分解,在成本估算的时候,首先估算每个任务的.开发工作量,然后通过系数获得相应的质量、管理任务的工作量,从而计算直接成本,之后计算间接成本以及总成本。具体过程如下:
(1)资源估算
人力资源: 2个开发人员
1个项目管理人员(项目经理) 1个质量保证人员 1个配置管理人员
设备资源(作为间接成本计算) 3台电脑 1台服务器
(2)项目成本估算
步骤1:根据项目任务分解结果WBS估算出项目开发工作量,如表1所示。
表1:项目开发工作量估算表 单位:人天
WBS编号 任务名称 估计值 1 通用功能-增量1 1.1 电子课表 8 1.2 会议通知和公告 3 1.3 通讯录 2 1.4 个人日记 5 1.5 作业布置和批改 8 1.6 教师答疑 5 2 日常业务管理功能 2.1 招生管理-增量2 2.1.1 报名 3 2.1.2 招生 5 2.1.3 分班 10 2.1.4 统计查询 8 2.2 学生日常管理-增量3 2.2.1 学生档案管理 4 2.2.2 学生考勤管理 2 2.2.3 学生奖惩 2 2.2.4 学生变动 2 2.3 教务管理-增量4 2.3.1 教师日常管理 2 2.3.2 年级、班级设置 2 2.3.3 学科设置 2 2.3.4 年级、班级课程设计 5 2.3.5 排课表 9 2.3.6 考试管理 4 2.3.7 评价 5 2.4 教师备课系统 外包5000元 2.5 资源库系统 外包3000元 2.6 网上考试 外购3000元 2.7 论坛 已存在 2.8 聊天室 已存在
步骤2:计算开发成本
(a) 从表1得知项目工作量是103人天,假设开发人员成本参数=480元/人天,则内部开
小计
31 26 10 31 1 1 1 1 1
发成本=480元/天×103天=49440元。
(b) 加上外包外购部分的软件成本5000+3000+3000=11000元,则开发成本
=49440+11000=60440元。 步骤3:计算管理、质量成本
由于任务分解的结果主要是针对开发任务的分解,管理任务和质量任务成本可以通过计算开发任务成本得到,因此根据以往的经验,管理任务和质量任务成本=开发任务成本×20%=12088元。 步骤4:计算直接成本
直接成本=开发成本+管理和质量成本=72528元。 步骤5:计算间接成本
(a) 间接成本包括前期合同费用、房租水电、培训、员工福利、客户服务等。 (b) 根据以往经验,采用公式:间接成本=直接成本×25%=18132元。 步骤6:计算总估算成本
项目总估算成本=直接成本+间接成本=90660元。 步骤7:重新评估项目的报价
重新评估一下项目报价的准确性,当然这时候,项目的合同已经签署了,报价是不能更改的,但是通过再次的评估可以进一步明确企业的项目运作和利润情况等。
如果项目的风险利润是30%,其中风险基金10%,利润15%,税费5%。则项目的总报价=90660×1.3=117858元。应该说项目报价还是比较合适的。
另外,可以采用简便的算法进行估算,企业的报价可以通过开发规模的估算直接得出,例如如果成本系数为2.5万元/人月,项目规模103人天,一个人月22人天,则项目报价=25000×103/22=117045元。
(3)项目成本预算
在编制项目计划中考虑到:2个开发人员是全职在这个项目中,而项目经理、质量保证人员和配置管理人员不是全职在这个项目中,他们同时还在管理其他的项目,进行成本估算的时候,应该根据项目人员付出的时间进行成本预算。人力资源费率见表2。
表2:人力资源费率
项目成本预算如表3所示,预算总成本为75160元,与估算的成本基本持平。这样75160元可以作为项目的成本控制参考。
表3:项目成本预算
标识号 任务名称 1 校务通管理系统 2 软件规划 3 项目规划 4 计划评审 5 需求开发 6 用户界面设计 7 用户需求评审
修改需求、修改用户
8 界面 9 编写需求规格说明书 10 需求验证 10 设计 11 概要设计
数据库ER图编制、建
12 库 13 设计评审 14 实施 15 通用功能-增量1 22 招生管理-增量2 28 学生日常管理-增量3 34 教务管理-增量4 43 教师辅助功能-增量5 48 聊天室/论坛-增量6 52 系统集成 53 系统集成测试 54 环境测试 55 提交 56 完成文档 57 验收、提交
开始日期
2003-4-10 2003-4-10 2003-4-10 2003-4-11 2003-4-14 2003-4-14 2003-4-15 2003-4-16 2003-4-16 2003-4-18 2003-4-17 2003-4-17 2003-4-21 2003-4-22 2003-4-22 2003-4-22 2003-5-1 2003-5-8 2003-5-13 2003-5-26 2003-5-30 2003-6-3 2003-6-3 2003-6-4 2003-6-5 2003-6-5 2003-6-6
结束日期 预算成本(元) 2003-6-6 75160 2003-4-11 3320 2003-4-10 1200 2003-4-11 2120 2003-4-18 6240 2003-4-14 1120 2003-4-15 2120
1120
2003-4-16
2003-4-17 560 2003-4-18 1320 2003-4-22 4120 2003-4-18 1120
560
2003-4-21
2003-4-22 2440 2003-6-6 54640 2003-4-30 12520 2003-5-7 9000 2003-5-12 6600 2003-5-23 16040 2003-5-29 5800 2003-6-2 4680 2003-6-4 2920 2003-6-3 1120 2003-6-4 1800 2003-6-6 3920 2003-6-5 1480 2003-6-6 2440
;
急需软件项目管理案例,要案例就行,软件项目的~
A公司是一家美资软件公司在华办事机构,其主要的目标是开拓中国市场、服务中国客户,做一些本地化和客户化的工作。它的主要软件产品是由总部在硅谷的软件开发基地完成,然后由世界各地的分公司或办事机构进行客户化定制、二次开发和系统维护。这些工作除了日常销售和系统核心维护之外,都是外包给本地的软件公司来做。东方公司是A公司在中国的合作伙伴,主要负责软件的本地化和测试工作。
Bob先生是A公司中国地区的负责人,Henry则是刚刚加入A公司的负责此外包项目的项目经理。东方公司是由William负责开发和管理工作,William本身是技术人员,并没有项目管理的经验。
当Henry接手这项工作后,发现东方公司的项目开发成本非常高,每人每天130美金,但客户的满意度较差,并且每次开发进度都要拖后,交付使用的版本也不尽如人意。而且,东方公司和A公司硅谷开发总部缺乏必要的沟通 只能把问题反馈给Henry,由Henry再反馈给总部。但由于Henry本身并不熟悉这个软件的开发工作,也造成了很多不必要的麻烦。
为此,Bob希望Henry和William用项目管理的方法对该项目进行管理和改进。随后,Henry和William召开了一系列的会议 提出了新的做法。
首先,他们制定了详细的项目计划和进度计划;其次,成立了单独的测试小组,将软件的开发和测试分开;并且,在硅谷和东方公司之间建立了一个新的沟通渠道,一些软件问题可以与总部直接沟通;同时,还采用了里程碑管理。
六个月后,软件交付使用。但是客户对这个版本还是不满意,认为还有很多问题。为什么运用了项目管理的方法,这个项目还是没有得到改善?
Henry和William又进行了反复探讨,发现主要有三个方面问题:1、软件本地化产生的问题并不多,但A公司提供的底层软件本身存在一些问题;2、软件的界面也存在一些问题,这是由于测试的项目不够详细引起的;3、开发的周期还是太短,没有时间完成一些项目的调试,所以新版本还是有许多的问题。
此时,Henry向Bob提出是否采用公开招标的方式,选择新的、实力更强的合作伙伴。但Bob认为,与东方公司合作时间已经很长了,如果选择新的伙伴又需要较长的适应期,而且成本可能会更高。于是,Henry向东方公司提出一些新的管理建议。首先,他们采用大量的历史数据进行分析,制定出更详细的进度计划;其次,要求东方公司提供详细的开发文档和测试文档 做的工作没有任何文档,给其他工作带来了很多困难);第三,重新审核开发周期,对里程碑进行细化。
又过了六个月,新的版本完成了。这一次,客户对它的评价比前两个版本高得多,基本上达到项目运行的要求。但客户还是对项目进度提出了疑问,认为实时推出换代产品不需要那么长的时间。
较常见的做法。在软件外包工程中,保证质量的进度是很难控制的。对于项目经理来说需要一整套复杂的能力,比如制定计划、确定优先顺序、干系人的沟通、评价等,每一种能力都与项目的最终结果有直接或者间接的关系。
然而,国内的项目经理大多没有接受过正规训练,缺乏项目管理方面的专业知识的技巧,往往只是凭借以前的少量经验盲目去做,容易出现各种问题。尤其是在管理外包项目时,缺乏足够的经验和技巧,往往造成进度不断推迟,而质量无法保证的情况。
在这个案例中,我们可以看到现在IT业内许多外包项目的影子。
在该案例中,东方公司没有专门的项目经理,是由技术人员William兼做管理。这是国内软件公司经常会出现的问题。最初,出现进度落后的问题时,A公司的Henry与东方公司的William讨论后决定采用项目管理中计划管理等手段,其中包括里程碑管理。这是控制进度的较常见做法。
里程碑管理的引入
一般来说,在项目开始时,项目组成员都会对项目制定一个详细的计划。通常情况下,在明确的工作说明书(SOW)和WBS的基础上制定具体的进度计划时,需要采用一些具体的技术。像这种软件外包项目,最成熟的技术是里程碑管理。
里程碑一般是项目中完成阶段性工作的标志。不同类型的项目,里程碑也不同。比如,在开发项目中,可以将需求的最终确认、产品移交等关键任务作为项目的里程碑。本案例中,Henry在接手项目后采用里程碑进行管理是很恰当的。
不过,要注意的是,每到一个里程碑处,应及时对前段工作进行小结,并对后续工作进行计划调整。对于一些管理效果明显的领域,可以不必投入较多精力。而对于下一步管理过程中可能会出现问题的领域,应给予较多的关注。当然,在软件项目里,进度的变化是较常见的事情。
在本案例中,采用里程碑管理后仍没有达到客户的要求,进度依然拖后。在这里,就需要考虑另一个因素-质量与进度的关系。
通常,项目管理的前提是保证在预算内、满足质量的前提下,按进度完成项目。因此,可以看到,保证质量是前提。那么,如何在满足质量的前提下管理进度呢?单纯从项目管理理论知识中并没有一种有效的方式。具体步骤为:
首先,尽量利用历史数据。在本案例中,Henry应该调查之前的项目情况,将会发现可以类比的情况,事先就可以知道需要管理质量和进度的关系。
其次,由于此项目是软件外包项目,Henry不能完全掌握项目的资源 调度情况,因此缺乏对质量的控制。这也是大多数外包工程中最令人难以掌握的地方。在这里,可以采用对进度管理 ;计划添加质量参数的方法,也就是通过参数调整进度和质量的关系。
这一做法的前提是要有一定的历史数据。比如,从历史数据中得知,完成子项目的时间是5天,测试后有15个问题;完成同样子项目的时间是7天,测试后有10个问题;完成同样子项目的时间是8天,测试后有5个问题,……以此类推。
随着数据的不断增多的,采用两维坐标图,就会得到一些离散的点(不考虑资源的差异),并形成一条曲线,见图1。考虑项目允许的质量范围,对照图中的数据,找出相应的参数。根据得到的参数,确定一个合适的进度计划
python软件开发的案例有哪些,可用于哪些开发
列举一些比较有名的网站或应用。这其中有一些是用python进行开发,有一些在部分业务或功能上使用到了python,还有的是支持python作为扩展脚本语言。数据大部分来自Wikepedia和Quora。
Reddit - 社交分享网站,最早用Lisp开发,在2005年转为python
Dropbox - 文件分享服务
豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
Django - 鼓励快速开发的Web应用框架
Fabric - 用于管理成百上千台Linux主机的程序库
EVE - 网络游戏EVE大量使用Python进行开发
Blender - 以C与Python开发的开源3D绘图软件
BitTorrent - bt下载软件客户端
Ubuntu Software Center - Ubuntu 9.10版本后自带的图形化包管理器
YUM - 用于RPM兼容的Linux系统上的包管理器
Civilization IV - 游戏《文明4》
Battlefield 2 - 游戏《战地2》
Google - 谷歌在很多项目中用python作为网络应用的后端,如Google Groups、Gmail、Google Maps等,Google App Engine支持python作为开发语言
NASA - 美国宇航局,从1994年起把python作为主要开发语言
Industrial Light Magic - 工业光魔,乔治·卢卡斯创立的电影特效公司
Yahoo! Groups - 雅虎推出的群组交流平台
YouTube - 视频分享网站,在某些功能上使用到python
Cinema 4D - 一套整合3D模型、动画与绘图的高级三维绘图软件,以其高速的运算和强大的渲染插件著称
Autodesk Maya - 3D建模软件,支持python作为脚本语言
gedit - Linux平台的文本编辑器
GIMP - Linux平台的图像处理软件
Minecraft: Pi Edition - 游戏《Minecraft》的树莓派版本
MySQL Workbench - 可视化数据库管理工具
Digg - 社交新闻分享网站
Mozilla - 为支持和领导开源的Mozilla项目而设立的一个非营利组织
Quora - 社交问答网站
Path - 私密社交应用
Pinterest - 图片社交分享网站
SlideShare - 幻灯片存储、展示、分享的网站
Yelp - 美国商户点评网站
Slide - 社交游戏/应用开发公司,被谷歌收购
软件项目启动管理案例分析-缺乏正式项目启动给项目经理造成的难题(详见问题补充)
回答问题1:
周某的遭遇很普通,没什么值得诧异的。产生的原因就是每个人的想法不同,处理方法也不同。所以这才需要周某去周旋和解决。明显周某没有解决这种事情的魄力和胆识。
回答问题2:
按你说的,这个项目的启动没有问题。虽然没有开幕式,但相关负责人都已经清楚了各自的关键人员。或许下级一些人不知道,但这不重要。只要做好一些协调和沟通就能解决。
回答问题3:
不要总想着什么大会,你看电视电影看多了。
回答问题4:
人家给你的授权已经足够了。只是你没用好。
关于软件开发项目案例和软件工程案例教程软件项目开发实践的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。