软件项目开发

2024-10-12

软件项目开发(共12篇)

软件项目开发 篇1

初次尝试一个综合的软件项目, 利用VB入手是比较好的选择。故此, 利用自己多年的教学经验和软件开发经验为读者提供了一个简单而又实用的信息管理系统项目。相信, 只要你具有VB基础就可以完全理解整个软件开发的思想, 并能够触类旁通, 完成类似的信息管理系统项目开发。

1 第一天:需求分析及界面设计

1.1 项目展示。

项目名称:学生个人资料信息管理系统。

开发语言:VB6.0。

数据库:Access2000。

1.2 项目需求分析。

功能分析:本案例要求开发人员通过一个界面完成对学生个人资料的“编号、专业、班级、姓名、班委”几项信息进行管理。使用功能上要求可以对数据进行“录入、修改、删除、查询、打印”, 以及对记录的浏览“上一条、下一条、第一条、最后一条”功能。

数据分析:通过学生个人资料的“编号、专业、班级、姓名、班委”几项信息我们可以看出, 在每一项中包含的都是文本内容, 比如编号可以编辑成具有意义的“20070102003”, 其中“2007”代表入学年份、“01”代表生源类别、“02”代表班级编号、“003”代表学生的顺序号, 虽然“20070102003”看上去是数字, 但是在这种不需要运算的情况不需要把它视为“数字”, 而应该设为“文本”。“班委”一项只有“是”和“否”两种可能, 所以选择其为布尔类型。其它几项设为“文本”是不容置疑的。

界面设计分析:本项目要求对学生个人资料的“编号、专业、班级、姓名、班委”几项信息进行管理, 那么在用户界面中就必须有可以控制这六项的地方。在VB中与用户交互的核心对象就是“控件”, 那么, 控件的选择也就决定了用户使用的灵活性和方便性。

1.3 界面设计。

在窗体中添加五个标签“label”。将其Caption属性依次更改为“编号、专业、班级、姓名、班委”。为每个标签后面添加一个可与数据库交互的控件。“编号”——由于其编制有特殊要求, 故选择文本框“Text”。“专业、班级”——由于可能很多人在一个专业或班级, 选择组合框“ComboBox”。“姓名”——这一数据相同的可能性很小, 选择文本框“Text”。“班委”——这一数据只有“是、否”两个值, 选择用“CheckBox”。

界面要实现数据的“上一条、下一条、第一条、最后一条、录入、修改、删除、查询和打印”的功能要求, 选用命令按钮“Command”。通常情况下, 用户可能按专业、班级条件进行查询的时候较多, 故单独设置查询窗体, 由于“打印”的结果通常是在查询完数据后, 将查询结果打印出来, 故“打印”功能放到查询窗体中。通常窗体操作时要控制自身的卸载, 故为其添加一个“后退”功能按钮。

根据以上分析, 要单独设置查询窗体, 具有根据“专业、班级”条件进行查询的功能, 并可以打印报表进行输出。选择控件时“专业”用组合框“ComboBox”, “班级”用列表框“ListBox”。添加一个“MSFlexGrid”控件。“打印”按钮完成的是将查询结果以表格的形式输出到打印纸上, 利用报表可以很方便地实现输出, 但是打印的灵活设置又是打印时经常遇到的常规要求, 故在这里不对报表进行直接输出而是以“打印预览”的形式输出, 再由用户通过调用系统的打印机而灵活设置打印项, 如纸张大小、横纵向、页边距等, 因此在查询窗体中除了设置“查询”按钮, 还设置“打印预览”按钮。

程序设计分析:此项目根据以上需求分析可知, 共需要两个窗体文件、一个报表文件。这三个对象中有大量的对数据库操作的需求, 故考虑采用ADO对象技术, 增加模块对象, 以方便使用对象。

数据库需求分析:根据项目分析结果, 我们发现虽然有两个窗体和一个报表在与数据库交互数据, 但是, 实际上操作的只有“编号、专业、班级、姓名、班委”几项信息, 而且我们在设计第一个信息管理界面时已将这几项信息安排到了同一个界面中, 故我们只需要设计一个表就可以了。

1.4 数据库设计。

建立Access数据库名称为:grxx.mdb;在此数据库中设计数据表:Grxx_tbl;在表Grxx_tbl中添加“G_ID、G_SPEC、G_CLASS、G_NAME、G_BW”六个字段, 数据类型全部设成“文本”, 同时设置“G_ID”字段为主键。具体设置见表1所示。

1.5 用户界面设计。

(1) 工程文件的建立:在打开VB6应用程序时, 选择工程为“数据工程” (数据工程中自动添加一个Form、一个数据环境、一个数据报表、工具箱中自动添加ADODC、DataGrid和MSFlexGrid表格控件) , 将Form改名为“frm_xx”, 然后添加一个窗体改名为“frm_cx”, 添加一个模块改名为“mymd”, 移出数据环境, 将数据报表改名为“Drpt”, 然后把工程及工程中的所有文件, 和数据库“grxx.mdb”保存在同一个文件夹中。

(2) Frm_xx窗体的设计:具体各控件的属性设置见表2所示。

(3) Frm_cx窗体的设计:查询条件中的专业为Combo1、班级为List1, 表格为MSFlexGrid1, “查询”按钮名称为“Cmdcx”, Index属性为0, “打印预览”按钮名称为“Cmdcx”, Index属性为1。

(4) Drpt报表的设计:数据报表设计要显示所有字段的信息。

a.报表数据源的设置。设置报表的DataSource属性值是报表的必须条件, 在这里不用绑定的形式, 而是用结果集在运行时动态赋值。

b.报表标头和报表注脚的设计。在报表标头部分添加三个RptLabel, 分别设置Caption属性值为“学生个人资料”、“打印日期:”、“第页”;再添加“当前页码”%p和“当前日期”%D两个控件。在报表注脚部分添加一个RptLabel, 设置Caption属性值为“我的报表!”。

c.页标头和页注脚的设计。在页标头部分添加四个RptLabel, 分别设置Caption属性值为“编号”、“姓名”、“专业”、“班级”;再添加RptLine控件, 拉伸成两条横线和五条竖线。在页注脚部分添加一个RptLabel, 设置Caption属性值为“共页”;再添加“总页码”%p控件。

d.细节部分的设计。在细节部分添加四个RptText, 默认情况下显示“非绑定”, 分别对应页标头部分的五个RptLabel位置放置着五个控件, 然后依次设置其DataField属性值分别为“G_ID、G_NAME、G_SPEC、G_CLASS”。

(5) mymd模块的设计:在“工程”主菜单中选择“添加模块”子菜单, 这时添加模块Module1到工程中。将工程名称改为“mymd”。

(6) 工程启动对象的设置:在“工程”菜单的“属性”子菜单中设置启动对象为“Sub main”。

2 第二天:

:代码编写 (略)

3 第三天:

:应用程序发布

3.1 编译可执行文件。

VB的可执行文件的编译是通过“文件”菜单的“生成DataProject.exe”菜单项进行的。在这里名称改为“学生个人资料信息管理系统”, 同时将这个文件保存在与工程文件相同的路径下。

3.2 应用程序打包和发布。

在打包前先建一个文件夹, 名称改为“学生个人资料信息管理系统安装包”。然后将工程文件关闭, 再利用VB自带的打包向导, 进行打包。打包时注意包含文件必须有“学生个人资料信息管理系统.exe”和“grxx.mdb”。

发布时只需双击“Setup.exe”文件就可按照安装向导进行安装。

4 结论

以学生资料个人信息管理系统为例, 从项目需求分析到界面设计和数据库设计, 从代码实现、编译可执行文件到应用程序的打包和安装注意事项, 每个环节均贯穿于项目中, 确保了项目的完整性。可以说通过本项目的实践训练, 编程者就可以在短时间内将零散的知识点完整地牢记在心, 并具有了软件项目的整体开发经验。

参考文献

[1]Microsoft Corporation著, 微软 (中国) 有限公司译.中文Visual Basic6.0程序员指南[M].太原:希望出版社, 1998.

软件项目开发 篇2

1.编写目的

本项目开发总结报告,主要是总结本软件的开发经验和总结所学到的知识,以及对一个系统的大型的软件设计的总体感悟,并将软件设计过程中遇到的问题加以阐述和说明。

读者对象:开发人员、大赛评委

2.项目背景

系统名称:3D旅游咨询员

任务提出者:山东省齐鲁软件设计大赛委员组

开发者:

面向用户:游客

开发时间:9月1号到209月19号

该软件运行系统:单机版计算计

3.参考资料

A、软件项目开发总结报告书(GB856T—88)国家标准

B、齐鲁软件设计大赛手机游戏创意与实现项目的文档要求

C、互联网上的各类相关资料

二.开发结果

1. 产品

名称:3D旅游咨询员

存储媒体的形式:光盘

数量:3份;

D 、产品文档名称:

软件开发文档:《需求需求说明书》、《概要设计说明书》、《详细设计说明书》、《软件测试计划》、《软件测试报告》

项目管理文档:《软件项目计划》、《项目进度报告》、《项目开发总结报告》

产 品 文 档:《用户手册》、《演示文件》

2.主要功能:

这是一款关于3d旅游的软件,3D为本软件的一大特色。

模拟现实世界场景,做到真实逼真的效果,增加了视觉冲击力。可以像现实的人物一样随意走动,想到那就到那,想看到那就看那,而且操作简单易行,

很方便用户的使用,带给用户一种全新的设计。设计一个以岱庙为背景的软件,软件界面以红色、灰蓝色和土黄色为主,为游客展现一个立体的三维场景,展现岱庙的建筑群和总体的设计,帮助游客大体的了解岱庙的基本信息,更好的完成游览观光的功能。分为四个模块,即操作介绍、查询、推荐信息、进入3D景区。

采用了3D模型建立的技术,碰撞检测技术,数据库连接技术

性能:

A、可靠性

在从设计、开发到使用的全过程中,为提供满足用户使用要求的高有效性,软件所采取了提高可靠性的一切措施、方法和活动。

B、可用性

本游戏具有很高的实用性,采取文本和语音同时输出,适合于任何的年龄段人使用,界面简洁,操作简单,很容易上手,帮助用户了解岱庙的知识,并且对岱庙有一个具体的了解。

C、可维护性

此维护是软件周期的最后阶段,维护人员可以简单的对此软件进行维护。

3.所用时间

3周,100多个小时

三. 评价

1. 技术方案评价

我们小组开发的是3D旅游咨询员,具有一定的难度,我们通过开源游戏引擎直接控制,可以说是减少了一定的难度,使得软件的实行更有可靠性和完善性。

软件的需求分析阶段严格按照先设计后实现的功能,需求由于进行了比较严格的分析和策划,所以后期的实现相对而言,改动较少,提高了开发效率;

软件的场景采取三维立体效果,体现了3D的主题,所以提供较好的视觉效果,是人们有身历其境的感觉。

软件采取文本和语音同时输出,实现人机交互的功能,让用户比较强烈的感受软件的好处。

3D场景可以加入音乐和实现全屏等具体的功能,增加了软件的可实现性,完善了软件的功能。

2.产品质量评价

整个软件系统比较稳定,进行过比较严密的测试。

可用性:此游戏具有很好的实用效果,适合于任何的人用。

可维护性:此游戏系统比较稳定。维护是游戏软件设计周期的最后阶段。可转移/转换性:此软件运用c++语言和irrlicht开源引擎,在windows系统的基础上,实现软件功能。软件的移植性比较强,只要是装了操作系统的pc机,都可以使用。

四. 总结

通过这次大赛,培养了我们的创新精神,竞争意识,克服困难、坚持不懈的毅力以及团队合作精神。开发的这款软件,从设计到开发都经过了细致摸索和推敲和实地考察,做到了作品的原创性。这是一款独立研发且具有成品性质的软件,是我们大家共同努力的结果。游戏开发中,大家的能力,诸如大家的合作,个人的协作能力,策划能力,以及时间观念都有一定的提高。希望软件的设计能给大家耳目一新的感觉,丰富多彩的视听效果,能给用户以视听享受,希望成为广受用户的欢迎。

通过参加“齐鲁软件设计大赛”,得到了许多经验和教训:

基于B/S架构的软件项目开发 篇3

关键词:B/S架构;C/S架构;实际应用

中图分类号:TP311.13

1 前言

随着Web的蓬勃发展,网络结构模式也开始改变,B/S架构也就孕育而生。由于传统的C/S网络结构模式存在着种种问题,从而促使了B/S架构的兴起。人们在基于C/S架构的基础之上,提出了一种具有三层模型的结构,也就是对C/S架构的一种改进。随着B/S架构的广泛应用,掌握和了解B/S架构成为软件开发技术人员的必须具备的知识。

1.1 C/S架构

Client/Server(客户机/服务器)架构,是人们所熟悉的一种软件系统体系结构,通过将任务合理分配给客户机端与服务器端,降低了系统的通讯开销,两端硬件环境的优势可以得到充分的利用。在早期的应用软件开发中,大多数软件系统是把C/S架构作为设计标准的第一选择。C/S架构的的交互性强、可靠性高、有良好的数据处理能力,但是其客户维护成本高,工作量大,软件升级比较麻烦。

1.2 B/S架构

Browse/Server(浏览器/服务器)架构,它是在原有的C/S架构上进行了扩展。B/S构架的软件系统特点:浏览器只需安装在客户机上;服务器端则安装数据库(DB,Data Base)、客戶层浏览器和所有的数据;从逻辑上可分为三层,客户层浏览器、WEB服务层和DB服务器层。

客户机层的作用是实现用户界面在客户端浏览器中显示。浏览器显示从Web服务器端传输来的数据,然后用相应的HTML标记和CSS来实现。不仅如此,浏览器还得读取用户录入的数据,然后把校对后的录入信息上传于Web服务器。

Web服务器层是B/S的主要功能实现,其主要负责分析并处理由客户端浏览器传送来的数据,执行其相应的程序并把结果传回于客户端浏览器。Web服务器不只是为客户端服务,它还调用有关的数据访问接口对象来访问DB服务器中相应的数据,所以Web服务器层拥有大量的数据访问对象例如COM、ADO等。

DB服务器是核心,为其他技术提供访问DB的技术,并且可以完成对DB的各种操作,比如修改、删除、查询DB等功能。DB服务器是服务于Web服务器,按其请求从DB中提取或者删除相应数据。

1.3 B/S架构软件和C/S架构软件的区别

B/S架构和C/S架构有很多不同之处:硬件环境、对安全的要求、软件重用,用户接口、处理问题、系统维护、信息流、程序的架构等。C/S的传统客户服务器两层架构具有升级难、灵活性差、维护工作量大等缺点,已经难于满足如今快速发展的信息网络技术的要求。而C/S被B/S所取代最大的原因就在于B/S架构的客户端免维护,节省了成本,适用于大多数的用户群,适应各种情况。

采用B/S架构来设计和开发软件优势在于:(1)无需开发客户端软件,维护和升级简单方便,只要把完善的功能集中于Web服务器,依据不同且多样的功能设置好对应组别的用户权限就行了;(2)跨平台操作也是B/S的优势,任何一台机器只需要安装有IE、360等浏览器软件就可以访问系统;(3)因为B/S架构的开放性和可扩充性,所以B/S架构的限制也很少。

总之,B/S架构在根本上弥补了两层模式的C/S架构的不足,是应用系统体系架构上的一次重大变革。

2 B/S架构软件的实际应用

在现实生活中,我们用到许多基于B/S架构开发的软件,其在通信、管理以及OA等很多行业应用广泛,如网上银行、城市消防联网、学生信息管理系统等。下面以学生信息管理系统的设计为例,来说明一下基于B/S构架的软件开发。

学生信息管理系统是一个基于B/S架构的Web应用系统,用户可以在客户端使用浏览器给指定的Web服务器提出服务的请求,Web服务器通过HTTP协议把所需文件资料传给用户,且在浏览器上显示出来。该系统主要有两种用户:学生与系统管理员,把其分成两个模块:学生模块与管理员模块,独立设计2个模块的功能,再将他们融于总的控制模块中,其功能可因用户的不同而有所不同,学生可以用学号来查询成绩、班级等相关信息。同时,管理员可通过Internet对相关数据进行查询、修改、录入、删除等操作。此外,管理员不仅可以查看学生的相关信息如年级、学籍等,还能够对成绩、档案和课程安排等信息进行简单的管理。

2.1 B/S软件开发工具

B/S软件开发同网站开发一样,需要利用很多前后台开发工具,现在对学生信息管理系统开发工具列举如下:

ASP(Active Server Pages)指动态服务器页面,是微软开发的一个脚本程序来替代CGI,能够和DB与其他程序进行交互。ASP内含于IIS(Internet Information Services 互联网信息服务),可把VB SCRIPT或JAVA SCRIPT语言编写的服务器端脚本嵌入Web页面。在ASP中利用ADO(ActiveX Data Objects)可方便地访问DB,并有效地对DB进行处理。

该系统采用的是MS SQL 2000为DB系统,微软Windows2003服务器版本系统是其操作系统,IIS5.0/6.0是其Web服务器。

2.2 B/S架构的实例设计

经过上述分析,可将学生信息管理系统分成三层结构来实现,如图2所示。

在学生信息管理系统设计中,Web服务器层的程序设计是整个系统开发的主要部分,其是由Windows Server2003和IIS与全部的学生处理程序ASP文件和.htm文件构成。当某个学生在客户端要求查询信息时,由HTTP协议向服务层处的IIS要求下载文件,IE所要求下载的文件会经过ISS判断,如果是ASP文件,ISS就会执行该文件并把执行的结果返回于IE,如果不是,则直接将文件下载给IE。

以上是基于B/S架构软件项目开发设计中的一个实例,由于篇幅限制,我就不详细说明其他部分设计了。

3 结束语

综上所述,B/S架构软件项目开发是互联网发展的形势所趋,从实际应用中,可以看出B/S架构管理软件更为高效、方便、快捷。

参考文献:

[1]苗壮.基于WEB的学生收费管理系统的设计与实现[D].电子科技大学.2010

[2]肖满生.基于ASP技术和B/S构架的Web应用系统设计模型[J].中国高教论丛.2003

作者简介:赵巧玲(1991-),女,四川绵阳人,本科,研究方向:软件工程。

高校软件项目开发过程管理 篇4

进入21世纪, 随着软件工程学科的发展, 人们对软件开发过程管理的认识越来越深刻。管理是影响软件开发项目全局的因素, 而技术只影响局部, 许多问题不是出在不懂怎么做, 而是没有安排好, 做的次序不对, 或不知道如何做得更好。有效的软件过程管理, 有助提高软件的开发效率和生产质量, 降低生产成本。

目前软件开发深入各个领域, 高校作为国家重要的科研基地, 承担了大量的软件开发任务。高校软件开发组织不同于常规意义上的软件开发组织, 在软件开发过程上有其自身的特点和要求, 企业中已应用成熟的软件开发管理方法并不完全适用。为了适应这种特点, 必须结合高校实际, 对企业中软件开发过程管理方法做出适当的更改和调整。

1、高校软件项目开发的特点

高校软件项目开发多由教师和学生组织成临时团队协作完成, 其主要特点如下:

1.1 创新性强、研究性强, 项目难度大。

高校所涉及的软件项目, 和一般企业不同, 多属于前沿性的研究课题, 探索成分较多, 软件开发过程中, 需要查阅大量文献, 即时关注国内外研究动态, 软件需求经常变化, 修改较多。

1.2 开发团队成员新手多、人员流动大、管理经验欠缺。

教师和学生是高校软件项目开发的主力, 他们虽然有较好理论水平, 但实践经验非常不足, 对软件整个生存周期的管理体会不深, 管理意识薄弱。

1.3

高校软件开发项目和企业相比, 对于开发成本、用户意见、进度等方面的控制不如企业那样严格。

1.4 高校软件项目开发过程中, 经常会忽略测试阶段的工作。

开发人员的兴趣多集中在功能的实现上, 而对软件运行的性能关注不多, 预先测试工作很少, 这就造成事后不得不耗费大量力气去弥补。

2、高校软件项目开发的过程管理改进

基于上述特点, 笔者结合实际, 根据自己的实践工作经验, 对于高校软件项目开发过程的管理, 提出如下改进措施:

2.1 团队管理

团队管理要有纪律性, 分工明确, 责任清晰。可基于项目开展工作, 尽量采用扁平化的组织结构, 角色简洁, 不必要的角色设置及时删除并做优化调整。

2.2 文档管理

高校软件项目开发团队往往是基于某个课题成立的临时组织, 流动性大, 文档管理的不完善非常不利于知识的流动和传播。CMM作为软件过程管理的工业标准, 它的各个关键过程域对于文档的要求都严格细致, 高校软件项目开发过程中, 引入C M M过程规范可以有效保证文档管理的完整规范性, 但CMM管理复杂, 实际应用中, 需适当裁剪, 具体来说, 可以在开发的各个阶段设置几个结束点, 在这几个结束点上, 编写严格的规范的文档书写标准, 在结束点之前, 流水帐一样记录下所做所想, 将有关信息用更自由方式记录保存, 在某个阶段结束之后, 花一定时间来创建和对文档格式化, 只保留关键节点的文档, 从而有效节省文档开发工作量, 提高工作效率。

2.3 计划管理

项目启动之前, 应有大致实施计划。项目实施过程中, 项目负责人要不断对照原有计划进行工作调整。高校软件项目开发需求变更频繁, 同时, 软件开发自身的难度大复杂性大等特点也要求计划制订时不能跨越太长时间段, 要立足当前, 逐步推进, 逐步细化。高校软件项目开发在时间性上的要求要比企业弱一点, 要保证有充足时间完成研究过程, 但这并不是说高校软件项目开发就无时间限制, 在开发过程中, 可每隔两周进行一次小会讨论, 制订未来两周内详细的研究开发计划, 并对未来三个月内的工作做粗略规划, 下次计划的制订要紧密结合上次计划完成情况, 及时调整。

2.4 开发过程管理

在开发工作具体开始之前, 要制定详细的开发工作流程, 高校软件项目开发流程主要包括下面几个阶段:需求分析、系统设计、编码测试、收尾四个阶段。

2.4.1 需求分析阶段管理

和企业不同, 高校软件项目开发的需求除部分来源于客户需求, 更多的, 则来源于一些研究性课题研究的需要。这也导致高校软件项目开发的需求分析管理和企业有很大不同。高校软件项目开发的需求包括问题求解和需求确定两个部分。问题求解部分主要的工作是构思的形成、构思的筛选和概念的形成与评估, 其中, 牵涉大量国内外文献的研究和综述, 在构想确立的过程中要经常开会讨论, 由专家对构想进行初步评估, 全部审核通过后, 需由负责人撰写详细的问题求解报告, 在此过程中搜集整理的资料随同报告分类保存。需求确定阶段则针对问题求解报告, 编写详细的需求计划书, 有条件的情况下, 可采用一些快速开发工具针对需求设计开发原型, 开发原型应包括核心功能和关键难点的实现, 设计尽量的简单, 不求完善, 软件原型的设计可帮助预测需求的合理性, 以最快的速度得到需求反馈。需求分析书在最初设计时并不要求过分细致, 要抓住重点, 力求简单易懂, 在最终文档交付之前, 可进行多次迭代开发以尽可能的减少实际开发中的更改。

2.4.2 系统设计阶段管理

通用的建模工具如U M L可帮助进行系统整体设计。系统的分析报告应包括以下几个要点:系统整体的功能模块框架体系, 系统中的用户权限分析、系统整体运行流程和系统的数据结构构建体系, 此外, 还应包括关键难点的技术实现可行性。良好的系统设计可有效降低编码过程中的返工问题。

2.4.3 编码和测试阶段管理

高校软件项目开发中编码阶段, 最大不足是代码编写不规范, 变量函数的命名各成体系, 没有正式标准, 注释部分描写不清, 这就造成代码可读性差, 严重降低代码重用性。高校软件项目开发的另一大不足是对测试重视不够, 这就很难保证软件产品的质量和性能。结对编码对改善上述不足有很好效果, 由两人结对进行代码开发, 一人负责代码功能的实现, 另一人负责代码的可读性和运行的正确性和完善性。这样可有效提高代码编写速度, 使编写者更有信心, 同时可保证未来代码运行的正确性, 发现问题及时修改, 避免把所有问题积累到最后再做处理。在此阶段, 文档书写可以少一些, 关键部分有记录即可, 但代码要书写规范, 语句尽可能的精简清晰, 可读性可理解性要强。源代码的管理也是该阶段的一个重要工作, 常用的配置管理软件, 如CVS等可有效控制和管理版本的更改变动, 全过程配置管理, 有利于项目内统一的编码、测试, 保持一致性。

2.4.4 收尾阶段管理

在团队解散前, 收尾工作要做好, 整个过程中的文档和最终软件成果指定专人整理归类, 为后续开发和维护打下良好的基础。

2.5 跟踪管理

在软件项目开发过程中, 项目负责人的角色很重要, 要及时跟踪团队资源变更情况, 跟踪项目执行的范围和进展情况, 确定未做的有多少, 已完成的有多少。

2.6 培训管理

高校软件项目开发中, 可依据实际采用内外部培训、自我培训、专家指导等多种形式。培训内容要按具体情况展开, 一般来说, 新人培训应该包括组织内部已经形成的制度和纪律, 软件文档编写约定, 软件开发流程中的各项验收和管理标准, 团队的组织结构角色分工, 除此外, 可结合具体项目制订项目入门的快速指南。通过共同分析项目的目标和管理规范的必要性, 使分配的任务得到新加入的开发人员的认可, 有利于工作积极性的调动。

2.7 支持开发全过程的网络管理平台的构建

在有条件的情况下, 建立基于网络的软件开发全过程的协同工作平台可有效帮助提高软件开发过程的管理, 特别是对高校软件项目开发来说, 可在一定程度上解决开发团队缺少固定时间地点所造成的沟通缺失, 更好的保管归类开发过程的文档, 方便查询, 同时使团队成员对开发过程中的规范性有更深刻的理解。

3、结语

总之, 高校软件项目开发过程管理, 需从自身固有的特性出发, 一方面, 要逐步建立和完善规范化的管理模型, 另一方面, 在实际操作上, 要从现有环境和条件出发, 在项目不同阶段、不同团队和不同模块采用灵活多样的方法, 以期获得最佳的实践效果。

摘要:高校软件项目开发具有创新性强、变更频繁, 开发人员新手多、管理经验欠缺、流动性大等特点。其过程管理, 既要参照软件企业常用管理方式保证规范性, 同时又需结合自身特性赋予更多灵活性, 在开发的各个阶段, 需采取多种方式综合管理, 以平衡各方效益。

关键词:软件开发管理,敏捷管理,软件过程改进

参考文献

[1]张海藩.软件工程导论 (第五版) [M].北京:清华大学出版社, 2008

[2]萨默维尔, 程成, 陈霞.软件工程 (原书第8版) [M].北京:机械工业出版社, 2007

[3]唐俐威.软件开发的敏捷管理方法研究[D].哈尔滨:哈尔滨工业大学, 2006

软件项目开发 篇5

深圳市罗湖区鲲鹏职业技术培训中心是深圳市政府指定IT软件紧缺人才培养基地、深圳再就业培训基地、深圳先进办学机构。拥有一流的师资力量,教学老师80%以上来自于华为、中兴通讯等著名IT公司的项目经理,实践经验丰富,教学力量强大,就业率高达98%。鲲鹏IT的软件开发系列课程,与全球IT技术发展同步,帮助广大学员掌握最新的软件技术,抓住以“云计算,物联网”为代表的信息时代的新机遇。

鲲鹏IT的软件开发系列课程体系通过结合先进的多模式教学法,使学习者在掌握理论知识与工具的同时,具备良好的自我学习能力和个人素质,成为符合21世纪企业要求的IT人才。

软件开发的课程开发紧密贴近软件企业对从业人员的要求,结合鲲鹏IT毕业学员的实际就业情况,课程内容始终围绕全面提升学员的编程熟练度、规范化以及职业素质三个方面展开。在科学合理的课程编排基础上,更加强调培养学员的动手实践能力,致力于培养学员代码编写的工程化和规范化;突出项目经验的积累,提供大量的完全来源于工程实际的真实项目案例和阶段项目;职业素质训练课程更具针对性,注重和强化培养学员的职业习惯和职业素质。

课程优势:

1、课程设计紧贴深圳企业需求,针对性开发。

2、课程技术先进,优先于企业目前应用技术半年,毕业时正好符合企业需求。

3、课程涵盖目前企业应用软件开发80%以上的范围,学员毕业时能够适应的就业单位广泛。

4、创新教学模式:以实践为主,以讲解为辅。始终贯彻国际先进的CDIO工程教育理念,确保教学效果,同时注重学员的职业综合素质的培养。

5、完善的配套课程资源,保障学员轻松就业。

6、更多的免费兴趣课程,帮助有能力的学员学到更多的知识。

入学要求:

喜欢并有志投身于IT事业及软件开发,通过入学测试。

就业保障:

1、入学即签就业协议,承诺半年内100%实现高薪就业,绝非推荐就业;

2、入学即为每位学员建立档案,详细记录学员每天的学习状态,及时跟踪服务,确保学员时刻处于积极的学习状态中。

3、培训过程中,如有部分内容理解不透或消化不好,可以申请小班辅导。

4、教管分开,不仅由专人负责教学及技术指导,而且由专人负责班级管理、职业素质训练及就业指导,包括表达能力训练、沟通能力训练、如何写简历、如何面试等,确保全面提升学员的职业技能和职业素养,使学员成为企业急需的德才兼备的人才,保证就业质量。上课安排:

总计4个月,每周一至周五上课,每天6课时(上午8:30——12:30,下午14:00——15:

50),理论课和实践课的比例是2:3,最大限度地提高学员的动手能力,让学员积累丰富的开发经验。

详细了解,就来我们的主页吧 http:/// 欢迎你的来询!!

联系我:郑老师0755-88860001手机:***Q:1790907789

地址:罗湖区宝安南路嘉宾花园四楼(地王大厦斜对面深圳书城旁万象城对面)

软件项目开发 篇6

摘 要:随着计算机的迅猛发展,网络技术的不断进步,在自身硬件组成与软件设计方面取得了突破性的成就,极大地便利了人们的工作与生活。计算机在发展的过程中,除了重视自身硬件性能的提升之外,逐渐将系统软件的开发作为一项重要的内容,以此从系统软件构成方面来满足多样化的使用需求,为了保证计算机系统软件的科学开发,该文旨在从软件工程技术的角度出发,在相关科学理论的指导下,对其在系统软件开发过程中的科学高效运用进行全面探索,以期提升系统软件开发的质量与水平,促进计算机产业的健康发展。

关键词:系统软件开发 软件工程技术 原则 运用方式

中图分类号:TP311.52 文献标识码:A 文章编号:1674-098X(2016)06(c)-0083-02

计算机技术以及互联网技术的快速发展,使得计算机应用的范围日益广泛,逐渐成为现阶段社会生产与生活中重要的工具。系统软件作为计算机软件系统的核心构成,通过自身的逻辑语言与数学算法,在很大程度上满足了计算机使用者的使用需求,实现了经济生产与社会生活的智能化[1]。为了进一步提升系统软件开发的质量与水平,使得系统软件能够满足越来越多样化与专业化的使用需求,我们将软件工程技术引入到系统软件的开发过程中,通过这种方式促进系统软件开发的效率,实现系统软件开发的人性化与信息化。因此在现有的技术条件下,探究软件工程技术在系统软件开发中的科学高效应用就有着十分重大的现实意义。

1 传统软件应用程序与软件开发分析

对传统软件应用程序与软件开发的客观分析,能够帮助参与系统软件设计的相关工作人员进一步厘清传统软件应用程序中存在的不足,并以此为基础为软件工程技术在系统软件开发中的运用准备条件。

1.1 传统软件应用程序开发工程分析

在传统软件应用程序开发工程中,为了保证程序开发有序进展,在软件应用程序开发之前需要进行模型的构建,并根据软件应用程序的设计需求与使用环境,在相关软件开发理论的指导下,对软件开发模型进行多次计算与修改,形成生存期模型,而生存期模型在实际的开发过程中又产生了诸如演化型、螺旋型以及增量型等多种形式[2]。从实际情况来看,无论是何种形式,这些模型在软件应用程序开发的实际操作中,都表现出一定的不足,存在缺陷。例如演化型模型能够对软件开发流程进行科学的优化与调整,从而便于软件应用程序的有效管理,大大降低了软件应用程序开发过程中出现错误的几率,但是如果其中的某一个环节出现了差错,将会造成整个软件开发流程的紊乱,对软件应用程序开发的稳定性带来极为消极的影响。随着社会经济的不断发展,互联网技术以及计算机技术的日益成熟,虽然现阶段大多数的软件程序仍是以WWW为构建进行设计与开发,但是为了满足经济快速发展的要求,相关企业不断进行软件开发与管理流程的优化,以期使得软件开发工作能够适应国民经济发展与社会生活的客观要求。但是我们必须看到传统软件应用程序的开发模式已经越来越难以满足实际要求,这就要求相关企业要立足于软件应用程序设计开发的实际,进行全新模式的科学探索。

1.2 软件应用系统分析

传统软件的开发周期较长,应用程序日益复杂,在很大程度上难以满足社会经济发展对软件应用程序更新换代速度的客观要求。系统软件开发作为一种新的软件开发模式,以软件作为构建的基础,对于数据信息有着较强的处理能力,并且以页面作为主要的展现形式,在一定程度上满足了不同软件应用程序使用者的不同使用需求,并且凭借着自身对各类技术与软件功能的科学整合,其能够在很大程度上缩短软件应用程序开发周期,提升应用程序的简洁性与使用性[3]。

2 系统软件工程技术在系统软件开发运用中应遵循的原则

(1)系统软件工程技术在系统软件开发中的运用必须要遵循科学性的原则。系统软件工程技术在系统软件开发中应用目标的实现,要充分体现科学性的原则,只有从科学的角度进行系统软件工程技术重要性、系统软件开发流程以及相关工作人员的职业素质与技能进行细致而全面的考量,才能够最大限度地保证系统软件工程技术在系统软件开发中的应用满足实际的系统设计需求与企业应用的要求,只有在科学精神、科学手段、科学理念的指导下,我们才能够以现有的技术条件为基础,进行系统软件工程技术在系统软件开发过程中的科学高效运用。

(2)系统软件工程技术在系统软件开发中的运用必须要遵循实用性的原则。系统软件开发相关工作的科学高效运行,需要雄厚资金的支持,从实际来看,资金的稳定供应与否直接影响到系统软件开发工作的质量与水平,因此系统软件开发在进行系统软件工程技术应用的过程中,必须要遵循实用性的原则,最大限度降低系统开发企业在设计与构建过程中系统软件的开发建设与应用成本,降低系统软件开发企业在软件开发方面的资金投入,从而能够将更多的资金利用于其他方面,促进系统软件开发企业自身的健康快速发展,提升其经济收益。

3 软件工程技术在系统软件开发过程中运用的途径与方法

软件工程技术在系统软件开发过程中的运用是一个复杂的过程,需要相关软件设计人员充分认识到传统软件应用程序开发中存在的不足,并在相关原则的指导下,从多个方面入手,采取多种方式,实现软件工程技术在系统软件开发过程中的科学高效运用。

3.1 软件开发模型的科学构建

软件工程的特殊性使得软件应用系统的设计与开发与传统的软件开发工作有着极为明显的区别。而为了保证软件工程技术在系统软件开发中的科学高效运用,就需要进行软件开发模型的科学构建,通过对整个系统软件应用程序的科学解读,对开发周期、基本流程以及软件开发管理工作的重点进行梳理,以此为基础进行软件开发模型的构建,同时为了保证模型构建的质量与效果,还需要进行项目管理模型以及组织公共模型的建立,通过这种方式及时发现软件开发模型中存在的不足,并对其原因进行考察,找出应对差错的方式,从而保证开发流程的有序进行[4]。

3.2 软件应用程序的开发

通常情况下,软件应用程序的开发会以系统软件的迭代升级作为自身的组织框架,在软件一次次地更新中,对软件的性能以及潜在的发展方向进行准确判断,也就是说软件应用程序涵盖了软件开发的各个方面。所以为了充分发挥软件应用程序开发的作用,就需要对软件使用者的使用需求进行客观分析,并以此为基础,组织相关技术人员对相关数据进行分析,从而为下一阶段的软件应用程序的使用需求、设计重点以及性能测试提供有效参考[5]。同时我们也必须看到软件应用程序开发的最终目的在于满足用户的使用需求,因此在进行软件的开发设计中,要对软件应用界面进行科学的优化,并在这一原则的指导下,对用户的使用习惯进行全面了解,对于用户感兴趣的内容、重要资讯以及核心内容安排应用界面的合理位置,通过这种优化能够让用户在满足使用需求的同时,充分满足自身的审美体验,从而大大提升用户使用软件的频率,实现高效开发与合理利用。

3.3 软件工程管理的有效运用

立足于计算机硬件加速升级的趋势,以硬件为支撑,不断提升软件工程管理的效率。软件工程管理与软件开发技术有着较为密切的联系,因此软件工程管理水平的提升,就需要不断进行软件开发技术的完善与调整,使其能够满足实际的管理需求。

参考文献

[1]邱恩海.软件工程技术在系统软件开发过程的应用[J].信息化建设,2016(4):129-130.

[2]王楠.系统软件开发过程中的软件工程技术[J].中国科技博览,2015(45):90.

[3]周敏.系统软件开发过程中的软件工程技术[J].电子制作,2015(8):85-86.

[4]郑彦平.系统软件开发过程中的软件工程技术[J].电子测试,2014(24):122-123.

软件项目开发 篇7

依照ISO9126信息技术标准中定义:1) 软件:与计算机系统的操作有关的程序、规程、规则及任何与之有关的文档。2) 软件产品:指定支付给用户的软件实体。3) 软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特性的总和。4) 软件质量特性:用以描述和评价软件产品质量的一组属性。一个软件质量可被细分成多级子特性。通过功能性、可靠性、易用性、效率、维护性、可移植性这六个特性可以判断一个软件产品是否为高质量产品。

软件质量管理, 是确定软件产品的质量目标, 制定实现这些目标的计划, 以及为了满足顾客和最终用户的需要和希望而监控和调整软件计划、软件工作产品、活动与质量目标的过程。

二、软件项目监督与软件开发周期概述

软件工程生命周期分为立项、启动、需求分析、设计、编码、测试、上线、验收、运行和维护10个阶段。

软件开发的周期分为启动、需求分析、设计、编码、测试、上线六个阶段。

目前, 对大部分企业来说, 项目立项、项目验收由信息化项目主管机构组织实施。运行和维护由系统运管部门监督实施。软件项目监督是指企业设立的对软件开发过程进行监督的项目管理人员。其职责就是对过程管理、质量管理、变更管理及文档管理过程进行监督与评价、沟通与协调, 协助用户建设一个高质量的、具有可持续生命力的软件系统。

三、过程管理

过程管理的重点是各个阶段的评审。项目监督负责组织各阶段评审工作和文档归档工作, 监督各方对评审结果签字确认。过程管理流程图如图1所示。

各阶段评审内容如表1所示。

四、质量管理

4.1需求管理。据统计, 如果在需求分析阶段发生的需求变更对项目带来的额外工作量是5的话, 那么在系统设计和编码阶段发生的需求变更对工作量增加分别是20和100, 由此可见, 需求管理是质量管理最重要的环节, 需求做好了, 项目就成功了一半。需求常见问题是需求不确定、过多或变更频繁。主要原因:一是用户方和承建方之间信息的不对称, 挖掘实际需求比较困难;二是用户方和承建方在需求调研阶段调研分析的不够全面、不够深入。对用户方来说, 一是可能表述的较模糊;二是随着项目的推进对原来模糊的需求有了新的认识提出需求变更或提出新的需求。对于承建方来说主要是因为不熟悉用户方业务照成的理解的偏差。

项目监督在需求阶段的职责就是: (1) 组织行业专家对用户业务需求进行梳理, 和不同层面、不同部门的用户充分沟通, 尽可能在需求分析阶段通过多种手段消除“需求的不确定性”; (2) 对于过多的需求, 要帮助用户方和承建方分清轻重缓急, 设定优先级; (3) 组织用户方和承建方梳理、分析需求, 有效解决需求的变更频繁问题, 对于不可避免的需求变更需进行需求变更论证并做好相关文档的版本更新管理。

4.2评审管理。评审的目的就是及时发现缺陷、提高软件开发质量、减少软件开发的时间和费用。软件开发的每个阶段在其实施结束后, 都要组织技术评审或专家确认, 通过确认后方可进行软件开发下一个阶段的实施工作;数据库逻辑结构设计应经信息标准专家评审通过, 才能组织实施;如果评审未通过, 需提交整改方案。

4.3沟通管理。根据项目进展情况组织相关人员及有关专家召开项目周例会、月度例会, 检查项目是否发生偏差, 进度是否滞后, 是否存在问题, 讨论并制定解决方案, 布置下一步工作并编写会议纪要, 进行会议通报, 作为下一步工作的指导。

五、变更管理

所有变更都必须遵循变更控制流程进行控制并提交《软件开发项目变更申请书》, 所有变更都需由项目监督组织用户和有关专家审核通过方可实施。变更后, 受到影响的活动和相关的文档都要进行相应的变更, 以保持一致性。

六、文档管理

在系统上线阶段至少需提交以下7种技术文档:《软件需求说明书》 (附:计划要点表、需求评审表) ;《系统设计说明书》 (附:系统设计评审表) ;《数据库设计说明书》 (附:数据库逻辑结构字典) ;《测试设计说明书》;《用户手册》;《项目测试总结报告》 (附:缺陷记录和跟踪表、测试结果确认表) ;《项目开发总结报告》。

软件开发过程中所产生的技术资料、产品均应以电子和纸质形式存在, 项目验收后, 由项目建设单位或信息化工作管理部门负责项目文档的归档。

结束语

“三分技术、七分管理”, 在信息系统建设中建立合理的监督机制比人才、技术更为重要的因素。软件项目监督的实施在提高软件项目的开发质量方面起到了积极的作用。今后还需加大软件项目监督力度, 使项目监督参与到整个软件工程生命周期中。另外, 加强项目监督人员项目管理理论知识的培训对于提高软件项目开发质量是很有必要的。

参考文献

[1]苏秦, 何进, 张涑.软件过程质量管理[M].北京:科学出版社, 2008.

[2]朱少民.软件质量保证和管理.北京:清华大学出版社, 2007.

[3]李金海.项目质量管理[M].天津:南开大学出版社, 2006:29-30, 59-85, 153-158.

基于软件开发中软件需求的研究 篇8

关键词:软件开发,软件需求,软件用户

1 计算机软件开发中的软件需求

软件需求工程是计算机软件开发工作的一个重要源头, 涉及到需求开发和需求管理。需求开发涉及到需求调研, 需求收集, 需求分析, 需求开发等工作, 其中的重点有业务流程, 数据字典, 业务规则, 界面原型;需求管理工作涉及到需求的状态管理, 变更管理, 需求的跟踪, 需求的验证和确认等重要内容。

软件需求分析特别重要, 在软件开发的过程中具有举足轻重的地位, 但是我们常常会忽视两点:一个就是缺乏需求分析和开发的过程, 把用户需求直接作为了软件需求, 没有需求建模和抽象的过程。另外一点就是对于性能, 安全, 易用性, 可维护性和扩展性等非功能性需求没有考虑, 导致开发出来的系统是一个不好用的半成品。

2 软件需求在软件开发中的重要性

2.1 尽快熟悉项目用户方干系人全貌

项目用户方干系人, 即是全部可能将受到软件项目结果重大影响的人, 既是软件项目的整个风险的承担者, 同时也可能将是软件项目的受益者, 还有可能是软件项目的受害者。所以, 就应该从启动软件项目开始, 其需求分析员和该项目全体成员就首先要将项目用户方干系人包括的组织和成员分析清楚, 对各个成员都通过交流协调的方式来影响他们, 加强他们对整个项目发展的支持度, 再逐一调查沟通了解他们的意愿和需求, 最大可能的消除他们对项目产生的阻力, 以保证项目能顺利地进行, 最终取得成功。

有一部分软件项目的需求分析员在做实际调查时, 因为会受到进度要求等一些因素的制约, 需求分析员和建设单位的技术部门之间有比较多的交流, 却在调查实际使用者和业务管理部门没有足够地深入, 导致软件经过试用期之后就又必须再对需求做出大幅度的调整, 甚至是“从头再来”的可能性非常高, 远远超出了进度所规定的时间。因而, 了解并掌握项目用户方干系人的全貌是进行需求调查的首要任务, 同时还是进行需求调查的根基。在安排组织软件开发项目的全体项目用户方干系人之中, 最值得重视的就是建设单位中的业务关系和人事组织。最好是可以画出有关单位的组织结构图, 为了今后能更好更加全面地开展需求调研分析工作, 还应该在该组织结构图的基础之上再画出此软件项目中全体用户方干系人的关系结构图;运用责任矩阵来确立各个环节的调研对象;为了确保在调研和分析时能及时地和各成员进行有效沟通, 还要建立一个完整的调研对象通讯录。

2.2 采用正确的方法来获取需求

软件开发项目就是为了要获取并满足项目用户方的使用需求, 其中项目用户方的需求分为隐含的和明确的, 还可以分为不同的层次, 如:WISH, WANT, 等NEED。假使对项目中全部的用户方干系人缺少足够的交流沟通和积极影响, 再让他们均尽可能地参与到项目开发中, 则将会造成客户方的有关责任人很模糊或者对调查范围和项目用户方的需求没有足够强的责任心, 提出来的需求十分随意, 在项目开发前期不能积极地确认需求, 或者是几个项目用户代表各说其辞、昨是今非, 在项目开发的后期也随意变化需求等现象, 这就将导致项目范围的不断扩大, 进度严重受到阻碍, 增加了投入的成本, 甚至最终使项目彻底失败。

不同的软件用户对系统的要求也各不相同, 比如一个毫无经验的用户只会留意系统在使用时是否容易简单, 而对于一些高级用户就需要重视软件产品的高效性和易用性。因此, 需求分析员就应该对用户进行科学合理地分类, 每一个类别的用户均将有适合自己的非功能和功能要求。在软件开发项目中, 应该尽可能早地给产品确立并描述各不相同的用户类别, 这样就可以从所有的重要的用户类代表当中获取到各不相同的需求。

软件需求同时具有两重性 (开发商与用户) 和多重性 (项目中的各干系人) , 所以, 软件项目经理和该开发系统的集成人员应该对用户干系人的不同需求有充分了解, 用户干系人还应该对技术层面上的需求有充分的了解, 两者都不可或缺。要准确地获取需求就应该足够地了解用户的代表性、用户的分类、需求的来源、用户需求由谁决定等诸多因素。项目经理和开发人员在聆听聆听用户的表述时均须具备足够的耐心, 要对每一个细节都了解得十分详细。此外, 项目管理人员要擅长将需求分类和归类, 擅长把需求文档化, 并做好相应标记便于查询。

3 强调实现软件项目需求的层次递进性

要明白此软件开发系统或者此项目用户所能够提供的最少的开发费用。如果预计资金不足时, 就应该考虑把项目进行分期实施。在技术上、系统上给用户提出一些引导性的建议, 让用户明白集成商所需要实行的工作, 明白集成商的目的就是帮助用户实现自己的需要并最终实现用户的目标, 而不应该只是为了赚钱, 一旦用户对集成商有了更深入的了解, 且更加清楚自己的系统, 这就对今后的项目合作、系统维护和工程实施十分有利。

分析用户以前使用过的库模式、数据结构和系统模式, 看是否需要进行转换、共用、保持, 这就关系到保护用户投资的问题。结合当前的工作业务流的实际情况来选择合理的工作模式, 还应该考虑到未来或许会出现的变化、新规定、扩展, 以及和国际接轨后或许将造成的一系列变化。严格监视开发工程的进展环境是否得到有效保证, 特别对于网络工程, 必须在需求调查过程中就应对用户领域的实施环境有足够的了解, 当实施环境不具备时, 就需要及时进行环境改造和配套设计。

参考文献

[1]赵海霞, 李道申, 刘勇, 赵嘉诚.一种Deep Web查询结果的实体抽取方法[J].计算机工程与应用, 2006.

[2]李琰, 张翌旸.基于Multism在数字电路课程设计中数字报警器的实现[J].计算机光盘软件与应用, 2008.

[3]张燕军, 孙有朝, 曾海军, 陆中, 王京娅.转子非包容失效安全性的计算机辅助分析方法[J].航空学报, 2011.

软件开发项目进度管理研究 篇9

软件开发项目进度,是指完成整个软件开发项目所需活动的过程和时间周期。软件开发项目进度管理是为了确保项目按时完成而对其各项活动及阶段进行的管理。软件开发项目进度管理包括4个步骤,其中软件开发项目进度计划编制和进度控制是实际工作重点,但编制项目进度计划前,应先分解项目,明确该项目包含的活动,并对项目活动进行排序[1]。下文中“软件开发项目”简称为“项目”。

1 项目工作分解

一个项目提出后,根据项目目标确定项目的研究范围后,应对项目进行分解,将可交付成果和复杂的项目逐步分解成较小的、便于管理的组成部分,并创建工作分解结构图,为项目进度计划打下基础[2]。

1.1 项目工作分解的作用

项目分解的作用主要体现在两个方面:

(1)便于进行综合性方案设计。工作分解就是在项目目标的指导下,在任务范围中从粗到细、从简到繁,逐步分析,直到可执行的最小独立单元,这样能够较好地保持项目的系统性和完整性,策划者据此可以通盘考虑实现项目目标应完成的工作,能够清晰地分辨任务实现的重点和步骤、完成周期、成本费用,并评估风险,同时,也有利于发现潜在的不明确内容,为项目总体设计提供可靠依据。

(2)便于分配任务和明确责任。项目工作分解把项目划分成多个独立性较强的任务单元,明确区分各任务的目标、范围和界限,对每个工作任务提出具体要求,便于在执行项目时,落实责任者或完成单位。既可以作为委托工作或下达任务的依据,也便于观察、了解和控制整个项目过程。

1.2 项目工作分解结构的依据、原则和方法

项目工作分解结构的主要依据是前期取得的项目主要资料和其它相关项目的借鉴性文件,包括项目需求文件、任务(合同)范围说明、本项目的其它资料、其它项目的相关资料等。

工作分解结构的原则是:在各层次上保持项目内容的完整性,不能遗漏任务必要的组成部分;每个项目单元只能从属于某一个上层单元,不能同时交叉从属于两个上层单元;相同层次的项目单元应有相同的性质,各项目单元应有明确的任务界限,保持各项目单元的独立性;项目分解的原则应事先确定,同一层次上分解出的项目单元,其分解的原则应该是一致的。

工作分解的方法有自上而下和自下而上等方法。自上而下法是先明确项目最终产品,然后确定中间可交付成果,再对主要可交付成果细分,直至每一个工作只包含一个可交付成果;自下而上法是首先明确项目的所有可交付成果,然后将可交付成果进行逻辑分组,接着将每组汇总成一个母元素,成为上一层次的元素,再将高一层次的元素进行分组、汇总,以此类推,最终汇成一个母元素。

1.3 项目工作分解结构一般步骤

工作分解首先应识别项目的主要要素,项目的主要要素就是项目的主要交付物,然后对识别出的主要要素作进一步细化,分解出更详细的有形的、可检验的产品或服务,在此基础上,选择自上而下或自下而上的方法编制工作分解结构图(也可以使用单位标准模板或以前项目的模板),编制完工作分解结构图后,应编制详细的结构图说明,说明的内容包括各要素的界定、说明、估算经费、时间、预安排的责任部门、人员等。

1.4 项目工作分解结构输出

项目工作分解的输出结果包括项目结构图和相关说明。项目分解结构图(WBS)是通过分解技术,将项目任务按照其内在性质和结构逐层细化而形成的示意图。它涵盖为完成项目交付物需进行的所有项目工作,为项目责任分配和任务协调提供依据。项目结构说明包括各层要素的详细描述、工作说明、负责组织、进度日期、成本预算等。

2 项目活动确认及排序

完成项目工作分解后,应对所确定的可交付成果的具体活动进行分析确认和排序,为编制项目计划打基础。

2.1 项目活动确认

依据项目工作分解结构的成果、其它关于项目范围的说明性文件、项目约束条件、项目的假设前提、管理计划和单位的历史信息等[3]确认项目活动。对于一些小项目,可通过大家集体研究讨论,集思广益的方法,形成可行的活动清单并估算所需时间,对于较大、较复杂的项目,则需要由相应领域专家研讨或使用一定的工具和方法来确认项目活动,这些方法包括:进一步使用活动分解技术、采用已有模板法、领域专家判断法等。项目活动确认后,形成的结果包括:涵盖项目所有必要活动的项目活动清单、描述项目过程中基本关键点的项目里程碑图等,此外,还应适时更新项目工作分解结构图和项目总体管理计划。

2.2 项目活动排序

确认了项目活动,要识别各项活动的相互关系,项目活动之间的关系也称为项目活动之间的先后信赖关系,包括人们无法改变的硬逻辑关系和需由各种因素综合确定的软逻辑关系,在项目活动排序时,要根据项目活动清单、项目里程碑和一些约束条件,先识别并安排硬逻辑关系,再安排软逻辑关系,同时要考虑项目假设条件和外部条件的影响。项目排序图的编制方法可以采用节点图法或箭线图法。项目排序的最终结果,是描述项目各项活动相互关系的项目网络图及其活动说明,项目网络图应包括项目的主要活动和情况,并明确各活动之间的逻辑关系或依赖关系,在网络图的说明中,应描述活动排序的基本方法,对于特殊的排序应进行说明。

2.3 项目时间估算

项目时间估算是指根据项目范围、资源及相关信息,对项目已标识的各活动持续时间所进行的估计。大多数项目活动时间的长短,取决于人力、物力、财力及资源的多少,同时还受人的能力、物资质量和设备效率的影响。对项目活动时间进行估算时,即要考虑各活动所消耗的实际工作时间,也要考虑活动的延迟时间。因此,一般由熟悉项目活动或有经验的人员或团队,采用专家判断法、类比估算法或模拟估算法完成。

3 项目进度计划编制

编制项目进度计划,是综合分析项目活动排序、持续时间、资源需求和进度约束,确定每一个项目活动及整个项目起始和完成日期,建立一个相对科学可行的项目进度计划的过程。编制项目进度计划是一个迭代过程,需要运用科学的计划方法,将时间、经费、人员、设备及各种资源作统筹安排,还要与其它相关项目协调一致。

3.1 编制依据

编制项目进度计划的依据包括:项目活动排序后得到的项目网络图、项目活动估算得到的时间值、现有的和能取得的资源、项目时限和重要里程碑、项目约束条件以及其它风险和假设前提。

3.2 编制方法

根据不同项目的具体情况采用不同的方法,本文重点介绍编制项目进度计划的3种方法。

(1)甘特图法。甘特图又称横道图或条形图,它是通过赋予时间以含义的横道图形式,列出项目活动工期及其相应的开始和结束时间,以反映项目进度信息的一种可视化计划方法。甘特图左侧列出项目活动和工期,顶部列出时间,横道长短代表活动持续时间长短。甘特图的优点是简单、明了、直观、易于绘制,缺点是不能系统地将项目各项活动之间的逻辑关系表示出来,也不能进行定量分析和计算,更不能指出影响项目的关键所在。

(2)关键路线法。关键路线法也是通过横道图以日历形式列出项目活动、工期、相应的开始结束时间来进行规划。它与甘特图的不同之处在于,它运用特定的、有顺序的网络逻辑方法来预测总体项目历时,是一种数字分析技术。关键路线法的重要功能是确定项目的关键工作和关键路线,关键路线的确定是将项目网络图中每一条路径上的所有项目活动的历时分别相加,最长的那条路径就是关键路线。

(3)计划评审技术。计划评审技术是指当项目或项目某些活动历时估算存在不确定性时,运用加权平均历时估算法,来估算项目历时的网络分析技术。这种技术适用于不可预知因素较多,或从未做过的新项目或复杂项目。计划评审技术网络图的画法与一般网络图画法相同,不同之处在于对项目活动时间的估计和分析[4]。

3.3 编制结果

编制项目进度计划的主要成果用表格或图表形式呈现,项目各项活动都标明了各种日期参数的项目进度计划文档。此外,还应包括进度管理计划,用以明确项目进度计划发生变化时的处理原则。

4 项目进度控制

项目进度控制是进度管理的重要内容和过程,是前期一系列进度计划工作的延伸,是进度管理中与实施并行的实践性关键阶段。

4.1 进度控制依据

项目进度计划是经过论证和批准的,在技术和资源上具有可行性,所以是项目进度控制的主要依据。通过项目跟踪监测和沟通形成的有关项目进度的绩效报告、根据项目进展情况提出的变更请求、编制进度计划时形成的进度管理计划,也都是进行项目进度控制的依据。

4.2 进度控制主要工作

控制项目进度的主要工作是:依据作为项目进度基准的项目进度计划,通过跟踪监测和沟通,采用一定的工具和方法进行分析比较,确定项目进度是否发生了变化,如果发生了变化,找出变化的原因,对影响变化的因素进行控制或制定项目进度的补充计划,从而确保进度变化朝着有利于项目目标实现的方向发展[5]。控制项目进度还可以借助项目管理软件来实现。

4.3 进度控制结果

进度控制的结果有两种,第一种是项目所有进展均按计划顺利进行的理想情况;第二种是发生一些偏差,并制定一系列纠偏措施,之后更新项目进度计划。两种情况均应记录项目控制的经验或教训[6]。

参考文献

[1]关保昌,沈建明.现代国防项目管理[M].北京:军事科学出版社,2011.

[2]祝振铎,董雄报.信息系统项目工作分解结构(WBS)研究[J].硅谷,2011(15):78-78.

[3]方德坚,张杨华.也谈软件项目进度管理[J].赤峰学院学报:自然科学版,2011(5):15-16.

[4]王芙蓉.软件项目进度计划与风险控制研究[D].大连:大连海事大学,2009.

[5]徐飞汀.软件项目进度计划管理研究[D].北京:北京邮电大学,2010.

软件工程与应用软件开发研究 篇10

尽管笔者在将近20年从事的基础技术工作中, 曾经用传统开发工具及流程化的编程思想编写实现过某一项功能的程序, 还从传统开发思路实现面向对象开发思路的转变, 有成功和失败, 有奇思怪想, 也解决过一些实际工作中的问题, 但依然感觉自己只知些皮毛。于是静下来时笔者也会经常反省, 同时查阅各类相关文章, 与同行经验交流, 和关注相关软件技术发展的新闻报道。

软件工程从概念提出至今已经近40年了, 但是客观地说, 软件工程还处于摸索发展阶段。

软件工程主要讲述软件开发的道理, 基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规范都是朴实无华的, 平凡之人皆可领会, 关键在于运用。我们不可以把软件工程方法看成是诸葛亮的锦囊妙计——在出了问题后才打开来看看, 而应该事先掌握、预料将要出现的问题, 控制每个实践环节, 并防患于未然。研究软件工程永远做不到理论家那么潇洒:定理证明了, 就完事。

软件工程以后的发展可能会变成一个广义的“软件工程”, 而它却不再完全属于工程化的范畴。开发软件, 人的因素会越来越重要, 因为开发软件不能像汽车制造那样完全的流水化, 除非软件完全产品化, 但事实上很多软件都是项目化的, 项目化的特点就是需求多变, 有个性, 只有开发软件的人运用其丰富的经验和智慧才能去适应这种多变的需求。

软件工程思想将软件开发分成多个阶段, 没有一定之规, 说法也不尽相同, 但总体完成的工作都是雷同的。笔者暂且按照5个阶段谈谈认识, 这5个阶段是需求分析阶段、系统分析阶段、系统实现阶段、测试阶段和维护再生阶段。5个阶段需要投入的技术力量平分秋色, 如今面向对象的开发思路使得代码编写已经不再是高手的事情, 而每个阶段的文档编写一定是技术人员需要细致严谨的编写才可以达到工作的循环和进步, 并提供给他人复用。

25个阶段工作的认识

在介绍我对5个阶段工作的认识之前, 我首先敷述几个基本观念。

软件工程的目标是提高软件质量, 质量因素有正确性、性能、可靠性、容错性、易用性、灵活性、可扩充性、可理解性、可维护性等等。开发常用模型有:线性模型、渐增式模型、螺旋模型、快速原型模型、形式化描述模型等等。“套用固定的模型不是程序员的聪明之举”。比如“程序设计”与“测试”之间的关系, 习惯上总以为程序设计在先, 测试在后而对于一些复杂的程序, 将测试分为同步测试与总测试更有效。

软件开发中的3种基本策略:“复用”、“分而治之”、“优化——折衷”。软件复用是将具有一定集成度并可以重复使用的软件组成单元称为软构件 (Software Component) 。分而治之是指把一个复杂的问题分解成若干个简单的问题, 然后逐个解决。软件的优化是指优化软件的各个质量因素, 如提高运行速度, 提高对内存资源的利用率, 使用户界面更加友好等等。优化工作的复杂之处是很多目标存在千丝万缕的关系, 当不能够使所有的目标都得到优化时, 就需要“折衷”策略。软件中的折衷策略是指通过协调各个质量因素, 实现整体质量的最优。软件折衷的重要原则是不能使某一方损失关键的职能, 更不可以像“舍鱼而取熊掌”那样抛弃一方。

其次, 笔者从需求分析、系统分析、系统实现、测试与改错、维护与再生这5个方面总结了一点心得体会。

工作在第一线的软件开发人员是程序员和程序负责人, 他们决定着软件的命运。程序负责人应是程序员队伍中经验丰富的, 熟悉每个阶段的工作, 能够把握判断决策, 有人格魅力, 程序员要对编程感兴趣, 程序员不能是临时的。

制定进度表的人最好就是项目负责人, 他最了解项目和开发人员。进度安排并不一定要符合逻辑顺序。开发一个大的软件项目, 应该将进度表分为若干个里程碑。一个里程碑之内的多个任务可以同步进行。进度表中必须留有缓冲时间, 并将缓冲时间用到不确定的事情上。

2.1需求分析阶段

需求分析是项目成败与否的第一步, 对需求把握得越准确, 软件的修修补补就越少。有些需求在一开始时很难确定, 在开发过程中要不断地加以改正。软件修改越早代价越少, 修改越晚代价越大。

需求分析要关注到每一个最终使用者, 避免遗漏使用方的需求。

需求分析尽量从多个角度进行。需求分析需要与使用者进行多次反复沟通, 开发者做到真正领会使用者的需求。做可行性分析不能以偏盖全, 也不可以什么鸡毛蒜皮的细节都加以权衡。可行性分析必须为决策提供有价值的证据。

需要分析的工作要点有:①完成问题整理、收集;②走访使用部门, 进行询问、沟通;③交流中的心态定位是我们在为编辑、为业务工作;④我们要为用户考虑。让用户意识到我们的每一句话都是在为他们考虑;⑤采用适当的交流语言。勾画出思路清晰用户易懂的流程图, 清晰明了的表格, 形象美观的图形, 必不可少的文字;⑥保留交流的记录和整理汇总的文档;⑦技术人员自己要提出用户易用性需求、系统功能需求、系统维护需求;⑧响应变更需求, 拒绝不合理要求;⑨业务建模。通过UML绘制的模型来完整、适当地对需求进行描述;⑩分析绘制业务流程图和数据流程图, 总结出各级操作人员, 识别系统中的所有用例和角色;分析各角色和用例之间的联系, 使用UML建模工具画出系统的用例图;最后勾画系统的概念层模型, 借助UML建模工具描述概念层的类图和活动图。

2.2系统分析阶段

系统分析阶段完成系统设计。系统设计是把需求转化为软件系统的最重要的环节, 决定一套软件系统的健壮性、可扩展性、易开发性等。系统设计的优劣在根本上决定了软件系统的质量。这个阶段要确定系统结构, 系统结构的稳定性决定应用软件的使用寿命。

有了上一阶段需求的把控和需求建模, 系统分析阶段就要完成结构设计、模块设计和数据结构设计。模块设计的组件单元尽可能小, 可让每个程序员承担很少的开发部分, 各部分之间不受牵制, 强内聚、弱耦合, 使单元组件可以随时重新开发, 而对整体的开发不造成瓶颈。

该阶段还要设计系统运行平台的架构, 部署系统物理平台, 制定系统备份恢复机制。

2.3系统实现阶段

这个阶段选择通用的编程工具, 按照需求建模和系统设计中不同模块拆分给不同的技术人员, 并实现进度控制。

2.4测试阶段

这个阶段是系统上线前的关键期, 是对需求分析和理解的验证阶段, 在这个阶段可以发现结构设计的合理性, 进而可能回退到分析设计阶段进行系统重构。可以按照黑盒测试、正确性测试、容错性测试、性能与效率测试、易用性测试和文档测试这6个方面进行分组测试。开发过程中进行同步测试。针对测试中发现的问题, 进行程序修改。之后再进行分组测试, 如此往复。最后, 进行总测试, 直至成品。

2.5维护再生阶段

通常开发人员会忽略维护与再生这个环节。对于一个优秀的程序员来说, 这个环节非常关键。在这个环节中, 程序员可以积累很多运行中存在的问题, 将这些问题总结成为系统性能需求, 然后将系统性能需求转入到再生工程中进行升级改造。

再生工程与维护的共同之处是都没有抛弃原有的软件。如果把维护比作“修修补补”, 那么再生工程就算是“痛改前非”。

3运用建模工具完成5个阶段工作

下面是运用软件开发系统建模工具与面向对象的开发模式结合来完成几个阶段的工作。我们可以用建模工具创建5种视图, 用例视图、逻辑视图、组件视图、并发视图、配置视图。

用例视图是软件需求分析到最终实现的第一步。这个视图是开发人员与使用人员之间的交流视图。在做需求分析的过程中, 除了传统的调研方式和调研之后的归纳整理工作之外, 还再增加一项工作, 就是运用建模工具生成用例视图。看似增加了一项工作, 但却是生成逻辑视图、并发视图、组件视图的基础, 运用建模工具可以将建模工具语言转化成相应的面向对象的编程语言, 从而减少软件编写的开发量, 大大提高开发效率, 缩短开发周期。也就是前面所说, 软件开发不再局限在高手, 而经验和分析贯穿每个阶段, 经验和分析的重要性更加突出。

根据逻辑视图、并发视图、组件视图可以将软件开发分块, 切割给不同的团队或者不同编程风格的人去实现, 总体开发进度不会因个别部分或个别人受到重大影响。逻辑视图使用者主要是设计人员和开发人员。并发视图使用者是开发人员和系统集成人员, 组件视图使用者主要是开发人员。

软件项目开发 篇11

关键词:企业实践 Java软件项目开发岗位 职业能力 教学改革

笔者积极响应学校号召,暑期期间到济南维库软件科技有限公司进行了一个月的企业实践,顺利完成企业的工作任务,现将一个月的实践收获总结如下。

一、转化角色,虚心、耐心、专心做一线有责任心的企业员工

1.遵守企业制度,认真承担并履行责任

在一个月的企业实训中,笔者谨记学校领导的嘱托,严格要求自己,认真遵守企业制度,从未发生迟到、请假、早退现象,进入公司后将自己由受人尊重的老师转变为一名初到公司的企业员工,做到慎独、慎微、慎初,强化工作责任心,主动处理好分内与分外的相关工作,勤奋扎实地工作,不敷衍应付,认真对待工作中的每一个问题,完成企业交给的每一个工作任务。

2.不畏工作困难,耐心解决项目开发中的各种问题

企业实训为真实软件开发项目:山东高速集团采购系统。由于项目庞大复杂,涉及知识点琐碎,项目开发工作困难重重,笔者认真细致学习企业教师讲解的知识点,分析需求说明书,钻研软件算法和代码的实现,面对项目中遇到的各种错误代码和异常,耐心查错排错,认真解决软件开发过程中出现的各种错误,并及时记录解决方案和问题,为下一步软件开发工作和教学实训积累了丰富的经验。

3.放下教师架子,虚心向企业有经验老师请教

学校主要工作是教书育人,企业工作是开发高质量软件产品。工作任务的不同,使笔者慢慢放下了教师的架子,主动地向实践操作能力较强的“小兄弟”请教。虽然他们年龄较小,学历不高,却有丰富的项目开发经验。笔者向他们虚心请教,反复讨教工作中不明白的问题,从他们那里学到了课本上没有的工作技巧和技术,更领略了他们一丝不苟、沉着耐心和认真细致的工作作风。

二、企业实践锻炼内容

企业实训内容主要基于目前软件公司的热点需求——Java软件开发岗位进行设计和选取,包括相关知识内容的培训和山东高速集团采购系统项目的实训两部分内容,具体知识包括:Java知识(JDK的安装配置、Myeclipse开发工具使用、数据类型和运算符、流程控制、面向对象开发)、HTML知识、MYSQL知识和SSM知识(JSP应用、Sevlet应用、Spring-MVC应用、Spring依赖注入、Mybats框架应用及整合)。

三、企业实践锻炼收获与心得

1.课程设置应与岗位需求相匹配

高等职业院校人才培养模式定位于技术技能型人才的培养,为地方区域经济服务,为地方社会经济发展提供人才保障和智力支持,因此专业课程的设置应该以岗位工作任务和岗位能力需求为出发点。以Java软件开发岗位为例,目前学校开设的都是传统的数据库知识和web前端知识课程,但是IT技术发展迅速,真正的软件开发大多通过相关框架实践,如SSM框架、SSH框架等,因此,学校要适应目前社会的需求,与时俱进,及时更新课程标准和授课内容。

2.教师实践操作水平是培养高素质技术技能性人才的重要因素之一

目前企业对参加职业技能大赛获奖学生毕业生比较青睐,所以企业高职院校的评价主要通过高职院校技能大赛进行,而学生技能大赛成绩的结果反映了教师的实践操作水平。俗话说“老师要给学生一杯水,自己首先要有一桶水”,因此教师应首先提高个人实践操作水平,而提高教师实践操作水平的主要方式之一就是通过企业实践锻炼。据悉,山东省在不久的将来将启动高职院校教师职业技能大赛,因此教师要将提高实践操作水平作为自己以后工作的努力方向。

四、未来的努力方向

1.基于企业岗位需求进行教学改革

(1)教学模式和教学方法遵循职业发展规律。高职院校推行“工学结合、知行合一”的人才培养模式,因此要基于企业工作岗位和工作任务进行教学改革。

第一,推行教、学、做一体化教学模式。在教学中,应该以培养学生的职业能力为主,师生双方边教边学边做,理论和实践交替进行,直观和抽象交错出现,理中有实,实中有理,突出学生动手能力和专业技能的培養,充分调动和激发学生学习的兴趣,使学生真正变成学习的主人。要培养学生的终生学习和持续发展能力,推行教、学、做一体化教学模式对加强学生的动手操作能力和解决实际问题的能力有很大好处。

第二,推行翻转课堂教学方法。为提高学生的主动性和创新能力,在教学过程中,推行翻转课堂的教学方法,将学习任务布置给学生课下完成。学生利用信息化技术查阅需要的材料,还可以在网络上与别的同学讨论,完成老师分配的任务,并在课上分享任务完成过程和心得体会。由老师进行评论,师生间还可以进行充分的交流,这样可以满足学生的个性需要,有利于学生创新能力的培养。

(2)教学过程基于软件开发工作过程。将教学过程与企业软件开发过程相结合,教学过程围绕企业真实的软件开发项目展开,将要学习和掌握的知识技能,转化为一项项工作任务,学生分组按照行动导向的六个步骤(资讯-计划-决策-实施-检查-评估)进行,使学习任务既是一个完整的学习过程,又是一个工作过程,教师成为学生学习的引导者和促进者。

2.技能操作的提升与社会岗位前沿技术的了解

(1)技能操作的提升。以后,笔者将会继续积极参加企业实践锻炼,参加省级培训,完成每5年必须累计不少于6个月到企业或生产服务一线实践的目标,通过企业真实工作过程提高自己的实践操作水平和职业能力,并将其应用到教学过程、实验实训过程和学生技能大赛中。

(2)社会岗位前沿技术的了解。为推导社会技术的变化和教学知识的更新,在以后的工作中要经常深入企业,了解企业的生产组织方式、工艺流程、产业发展趋势等基本情况,熟悉企业岗位职责、操作规范、技能要求、用人标准、管理制度、企业文化等,学习所教专业在生产实践应用中的新知识、新技术、新工艺、新材料、新设备、新标准等,及时更新人才培养方案、课程标准,适应社会岗位对教学知识的需求。

五、小结

浅析中小软件项目开发的风险管理 篇12

1、项目风险的主要表现

大多数的中小软件项目开发成本很低,成型快,投入运营快且使用较切合实际。但由于软件的项目的风险,技术实力单薄,项目缺乏统筹,编程方式为个人英雄式,软件开发流程、产品标准化程度差,项目管理知识和经验欠缺等原因,项目风险加大。风险主要存在于以下几个方面。

1.1 需求风险

从用户提出项目需求开始,风险也就产生了。如客户参与不够,导致需求不明确;需求已成为项目基准,然而又不断变化;对需求的认识不够造成开发环境不明、成本估算不足等,使得中小软件的开发断断续续甚至无法适用。

1.2 技术风险:

随着软件技术的飞速发展,新技术层出不穷,这就要求系统分析、设计人员要具有较好的技术能力;同时对用户的行业业务非常了解。因此,中小软件项目组个人以及团队的整体素质将会影响到项目实施的成败。

1.3 管理风险

中小软件软件项目管理本身就是一项具有风险性的工作。管理风险主要表现在工作缺乏计划性或是有计划而不管理,工作的随意性、盲目性比较大,执行不严格;没有充分分析可能存在的风险和应该采取的应对策略;团队内部沟通不够导致开发人员对系统设计的理解存在偏差等等。

2、对风险进行细致分析,尽量将分险降低或可控。

在认识了风险的存在后,要进行风险分析,尽量加以排除或控制。下面以《市职业学校统一考试系统》开发过程中的风险分析为例说明。

2.1 需求风险方面

在接手《市职业学校统一考试系统》开发时,首先考虑用户――职业学校在学学生的需求。按职业学校在学学生对学习流程,及日常事务的描述,细化考试各个部分及相关法规得到整个系统的功能全景。其次是对职业学校在学学生的业务了解。由于考试系统所涉及的科目较多,个人无法完全掌握各项技能的精髓,因此发动各学科的教师对各技能所使用的题目、题型、难易、技能操作要求等进行规范。第三,参与考试人员的操作能力容易被忽视,导致所生成的系统不能充分体现鉴定人员的技能水准,反而只系统的操作难倒。考试应尽量采用标准化,对计算机的操作主要是鼠标操作。这样就可在计算机各端点上直接完成鉴定。

2.2 技术风险方面

在中小软件开发过程中,使用统一的分析工具、开发工具、测试工具,可使开发小组成员便于沟通和互补。

《市职业学校统一考试系统》开发过程中,采用功能结构图实现需求时所得到的详细功能;利用数据流图体现各项技能鉴定的业务流程。而在程序实现过程中采用比较流行的B/S结构,内核程序处理则统一采用VC++。这样在各部分开发与接口有着很好的衔接。而测试方面,为能有效理解需求阶段的分析,各开发成员均参与需求调查,开发成员交互测试模块;接着有一两个所需鉴定的技术人员在场的α测试。在采用统一工具的同时,应力求避免为使用新技术而延误开发时间,造成需求过时而给软件带来巨大损失。

2.3 管理风险方面

中小软件开发程序的复杂程度低,开发的进度要求随意性强;由于对开发人员的依赖性过强而造成可复用性极差。这就要求认真细致的管理维护。

《市职业学校统一考试系统统》开发过程首先考虑到开发过程的管理。开发小组成员共同制定项目管理计划,认真细致分配各部分的用时及所要投入的人力、物力应特别注意对开发过程的文档化及文档的保存与收藏,这将直接决定软件的复用及软件对开发人员的依赖性,同时也便于日后的成品维护。第三就是对各部分开发过程中所遇到的问题进行归档管理,以便于开发小组成员间的沟通。

3、建立风险管理机制。

风险存在于开发全过程,初期存在项目开发目标的风险;中期存在软件可靠性的风险;后期仍存在维护上、重利用投入的风险。这就要求建立一个行之有效的风险管理机制。

3.1 中小软件项目自身应对风险的积极因素

中小软件具有规模小机制灵活的特点,且项目结构相对简单,层次构成浅,内部沟通屏障少,有利于提高组员执行能力,结合自身的因素进行软件过程的改进,优化开发过程。

中小软件的优势还在于开发小组成员比较简单,容易协调,可充分发挥各人的能动性,形成一支协作高效的项目团队。选择正确的人,分配正确的工作,及时处理成员的负面情绪,建立有凝聚力的团队,以减少人员流动。通过对开发小组成员的有效管理,既可以满足各成员积极发挥主观能动性,在各自的领域上取得成功,又能实现中小软件的战略规划。

3.2 制定风险应对计划,加强风险监管

风险被识别和评估后,项目小组必须制定风险应对计划,针对不同风险确定应对措施,以设法避开或转移风险或在风险发生后把损失降到最低。同时还应制定应急计划。建立"风险清单",对每个可能存在风险的表现、范围、时间做出尽量准确的判断,并对风险进行监控,提前做好应对准备。

3.3 有效的项目管理方式

在项目管理上,讲求"最好的不一定是合适的,合适的一定是最好的"。选择合适的开发模型,熟悉且统一的开发技术,在满足业务需求的前提下,熟练地进行项目的开发。这样可避免因技术瓶颈导致项目失败,大大降低不确定因素带来的风险。

上一篇:新型农业生产经营组织下一篇:硫铝酸盐水泥熟料