前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的系统开发的主要方法主题范文,仅供参考,欢迎阅读并收藏。
交通运输管理计算机网络系统的设计需要遵循以下几个原则:(1)可靠性原则。系统运行后的稳定性是评价系统设计优劣的重要指标。因此,在交通运输管理计算机信息网络系统设计过程中,应该采用冗余技术,增加系统的冗余性,并且在系统软件编制后,需要进行实验,及时的消除运行隐患,并赋予系统自我检查的能力。(2)实用性原则。在系统实际的设计开发过程中,必须本着务实的态度,立足于现实,避免目标过高而不切实际。将计算机工作与人力进行明确的分工,保证其发挥自身的优势。根据交通运输管理工作的实际要求,需要对系统功能进行详细的分析,突出重点、分清主次。(3)科学合理性。在系统设计过程中,需要对系统需要处理的对象进行全面的调查,并对现行的作业组织、作业制度等进行必要调整。(4)可扩充性原则。在计算机信息网络系统设计过程中,要具有一定的预见性,以面对交通运输发展的各个可能性。其中在硬件方面应该预留一定的扩充位置,并且根据实际需求对设备进行及时的更新;在软件设计方面,应该采用模块化、层次化的结构,为系统功能的扩充提供便利。
2交通运输管理计算机信息网络系统开发方法与工具
2.1交通运输管理计算机信息网络系统开发的方法对于计算机信息网络系统的开发方法,主要包括结构化方法、原型法、面向对象法等。下面就以结构化方法为例,对系统开发进行详细的介绍。结构化系统的开发是现阶段发展最成熟、应用最广泛的管理信息系统开发方式,是将工程化系统开发技术、自上而下结构化方式、生命周期方法有机结合在一起的开发方法。具体的系统开发步骤体现在以下几个方面:(1)系统的规划阶段。在交通运输管理计算机信息网络系统开发项目确定前,根据开发具体的要求,对其进行初步的调查,制定明确的开发设计任务,并系统研究进行可行性评价。(2)系统分析阶段。在系统规划的基础上,需要对现行的交通运输管理系统进行全面的分析,并制定出合理的逻辑方案。在整个系统分析阶段,具体的工作包括系统调查、数据功能分析、开发系统定义等。(3)系统设计阶段。需要在系统分析的基础上,将制定的可行性的逻辑方案转变为实际的物理模型。具体就是根据系统功能,结合开发资金、规模、系统开发的复杂程度等,进行具体的设计。这一阶段,主要的设计内容包括模块、代码、输入输出、数据库、可靠性等方面的设计。(4)系统实现阶段。这一阶段是系统实践的阶段,就是将转换成功的物理模型用专用的硬件设备进行相关功能的测试。这一阶段,主要的工作内容包括程序设计、硬件设备转杯、数据收集、开发人员培训、系统开发升级。(5)系统维护阶段。在系统开发完成后,就需要投入具体的运行,从而也就进入了系统的维护阶段。在这一个阶段,系统维护根本目的就是保证系统能够始终保持在正常运行的状态下,同时也需要就是的对系统相关数据进行调整与修改,或者是添加数据,满足系统更新的需求。
2.2交通运输管理计算机信息网络系统开发的工具在交通运输管理计算机信息网络系统开发过程中,应用的开发工具主要分为以下几种类型:(1)语言编程工具。常见的语言编程工具包括BASIC语言、C语言、C++语言、Prolog语言、PL/I语言、COBOL语言等。这类编程语言针对性很强,能够提供程序设计中相关命令的集合,并且适用范围也很广,在系统功能模块编写中具有很强的应用能力。(2)数据库工具。数据库是计算机信息网络系统开发中必要的工具,承担着整个系统数据交换、传输的重任,是数据交换与传输的枢纽。现阶段,提供管理信息系统开发的数据库工具主要有XBase系统以及大型数据库系统。(3)程序生成工具;(4)面向对象工具。这类工具主要是与OOP开发对应的编程工具,主要包括smalltalk、C++等,具有很强的针对性,在使用过程中,需要与OOP方式相互配合使用。
3计算机信息网络系统在交通运输管理中的应用
该系统主要包括长途客运管理信息系统、出租汽车管理信息系统、货运管理信息系统、汽车维修管理信息系统及违章处理系统。它们是交通运输管理中的基石和核心。基本功能如下:(1)车辆户籍管理功能。户籍管理数据包括:客运、货运和汽车维修业户的户籍。从业户的户籍名称、地址、电话号码、通讯方式、经济性质、许可证号、主管单位、经营范围、车辆数、工商执照号、法人代表、车牌号、缴费情况、发动机号等系数字段信息建库,建立起业户基本情况登记台账,完成对业户开业、户籍变更、歇业、业户经营许可证、户籍信息查询、营运证打印等功能。还有营运线路、总客座数、各运输企业的详细资料等。(2)税费改革管理功能。可以动态地记录税费征收情况,应缴税费,应罚金额,实缴税费,实罚金额,交费时间,滞纳金的收取,顺延情况,票据打印,以及用IC卡减免。实现监控交费情况,随时调整市场管理力度。(3)稽查管理功能。随时将违章信息记录入库,计算机可以迅速做出分类、处理。它能反映出结案率,违章处理力度,以及市场秩序等。(4)报表业务功能。通过日报表、月报表和年终报表,及时准确地把握各个环节的信息,及时调整行业发展中的薄弱点。既规范了市场,又提高了市场竞争能力。且数据非常可靠。(5)系统的优点。为合理利用资源,本系统可采用电话定点拨号来传输数据的方式。另外它的安全性能优越,服务器装有两块硬盘,一块有故障马上跳到另一块硬盘上,人们通过主机就能明白硬盘的运行状态,及时纠正硬件故障。
4结束语
【关键词】软件工程思想;管理信息系统;软件开发
1.软件工程思想概述
软件工程思想是一种以系统化、规范化、数量化等工程原则去探索软件开发与维护的工程思想。该思想将软件的开发作为一个系统性的工程项目来对待,从软件开发技术与软件项目管理两方面去解决软件开发过程中的各种问题和软件的应用问题。如软件开发技术层面需要解决软件开发方法、软件工具以及软件工程环境问题,而软件项目管理则涵盖了软件度量、项目估算、进度控制、人员组织、配置管理与项目计划等多方面内容。软件工程思想的提出以及软件工程学科的诞生使得软件开发得以进入一个更高层次的发展空间,并拥有了更旺盛的生命活力。在软件开发中,软件工程思想将解决工程问题的系统性、规范性、量化性思想运用其中,从而使软件开发成为一项更为规范的科技活动。而从软件工程思想的本质看,其实际上是一种将现实空间通过软件代码映射与转换成计算机空间的思想。这其中涉及到映射与转换需求、业务逻辑映射以及软件设计的等层面的问题。其思想中的核心概念主要包含分治、复用、折中、一致性与完备性、效率以及演化。
2.管理信息系统开发概述
所谓管理信息系统实际上是以计算机技术为基础,基于计算机平台而开发出的能够对各种管理数据进行处理、整合、分析,并为管理者提供管理决策相关参考信息的一种工作系统。管理信息系统的实现基础是计算机,其系统运转过程中的数据分析、处理、整合等也都是依靠计算机所具有的信息处理能力和运算能力来实现的。相较于传统的人工数据管理,管理信息系统能够极大提升数据信息处理效率,并依靠其强大的数据处理能力来帮助管理人员对各种管理资源加以优化,从而达到提升管理效率的目的。管理信息系统的诞生为现代各行各业的管理工作都提供了强大的技术工具,推动各领域管理工作的发展。也正是基于其优势,国内外都对管理信息系统的开发模式进行了大量研究,并诞生了如MRP-II模式等的开发模式。但在现代社会的不断发展过程中,这种模式下开发出的管理信息系统缺陷逐渐显现,已经无法满足现代管理要求,所以相关领域也亟待探索出更为科学有效的管理信息系统开发模式。软件工程思想恰好为管理信息系统的开发提供了一种全新思路和方法,并推动管理信息系统开发的进一步发展。
3.管理信息系统开发领域所存在的弊病
管理信息系统开发伴随计算机技术的发展经历了一个较长的演化过程,并逐步形成了一些常用的开发模式。但在管理信息系统开发发展的过程中却始终存在一些弊病,对其发展造成一定影响。例如管理信息系统开发过程中所普遍存在的过于重视理论的问题就是制约其发展的重要因素之一。因此分析其发展过程中所存在的各种问题,对于我们把握软件工程思想的运用也具有积极意义。
3.1重理论而轻思想的问题呈现出呆板化问题
软件工程思想是反导软件开发的一种重要思想,其主要通过提供一个总体思想然后由软件开发人员进行灵活开发,而并不对软件开发造成过多限制。然而管理信息系统的开发则普遍存在过于看重理论,而忽视以思想进行指导的问题。这就导致软件工程思想在实际应用中呈现出拘泥于理论而过于呆板的问题。如管理信息系统开发中一直所采用的结构化分析理论,就刻板的将其开发过程划分成三个阶段,且无论任何使用环境下都套用这一模型进行开发设计,这就导致管理信息系统的开发在遇到使用环境变化时就会出现无法使用的问题,从而对软件开发造成阻碍,甚至使其开发难以为继,最终导致失败。此外,这种刻板的开发模型也很难针对各种复杂的管理问题和技术进行应对处理,从而导致开发周期延长。虽然该模型能够帮助开发人员简化开发难度,使系统逻辑更为清晰,但实际情况却往往导致开发的复杂化,根本无法达到简化开发难度,提升开发效率的目的。
3.2缺少对软件项目管理思想的运用难以评估
软件工程思想不但设计到技术层面问题的解决,也涉及到软件项目管理。然而在一直以来的管理信息系统开发过程中,软件项目管理思想却并未受到重视并运用到开发过程中,从而使人们无法对开发出的软件进行准确的评估,这就造成许多管理信息系统开发出来后并不能在管理中发挥多大作用,缺少实用性,进而对开发资源造成极大浪费。
3.3对于先进思想方法的学习和运用不及时
软件工程思想的先进性已经毋庸置疑,但管理信息系统开发过程中相关开发人员却仍然停留在以往的思维观念下,未能及时学习软件工程思想下的先进思想方法,从而使实际开发工作一直都难有巨大突破,这就影响到管理信息系统开发的发展进程。
4.软件工程思想在管理信息系统开发中的应用
软件工程思想是一门系统性且完善的学科思想,其与软件工程学科共同成为现代社会的重点学科项目,对现代社会发展起到积极促进作用。因此软件工程思想在管理信息系统开发中的应用也是一个十分复杂且专业化的问题。尤其在当前管理信息系统开发存在诸多弊病的情况下,就更需要对其应用进行深入研究分析。
4.1强化软件工程思想在管理信息系统开发中的运用
管理信息系统开发工作中要有效结合软件工程思想,首先就要把握好软件工程思想的总体原则,即围绕科学、严谨、规范的原则来进行实际开发工作的改革调整,使管理信息系统开发更具有科学性,并能真正以对待一个工程项目的态度来规范化的开展各项开发工作,从而使管理信息系统开发成为一项更为规范化的工作,以实现其可持续的发展。此外,对于软件工程思想相关原则的渗透,还需要开发人员真正重视起软件工程思想,并加强研究学习。
4.2强化软件工程思想中面向对象分析法的应用
软件工程思想对对象的研究分析也有明确的要求,并由此形成一种面向对象分析的软件开发方法。该方法是目前软件工程思想在软件开发领域应用最多的一种方法,体现了软件工程项目开发过程中基于问题解决的开发思路。例如在软件开发中构建非结构模型时引入“对象”概念,然后对实体展开分类描述,再结合数据传递图、类图等展开针对非结构信息的描述,就可以构建出一种非结构模型,且该模型也将更为科学合理。面向对象分析法更注重用户需求的研究分析,所以管理信息系统运用此方法进行开发就需要对用户需求进行准确定义,并依靠一定的方式如图形、语言等对其需求进行分析,从而使管理信息系统能够真正满足用户需求,进而提升用户满意度。例如图1中所展示的图书馆管理信息系统就是运用软件工程思想中面向对象分析法而构建出的模型,其能够充分满足管理系统使用对象的不同应用需求。
4.3基于构件技术强化软件工程思想应用
软件工程思想在管理信息系统开发中的运用,其技术层面的解决路径也是不可或缺的。这其中比较重要的一项技术就是构件技术。该技术可以将管理信息系统中不同功能模块形成预制板的模子,然后在软件开发过程中根据实际需求对这些模子进行组装,从而构成一套具体的管理信息系统。在该技术下,软件开发人员只需要针对不同模子的软件进行分别开发,然后在管理信息系统开发时结合实际需求选择已经开发出来模子进行组装即可,而无需再进行开发,如此就极大减少了管理信息系统开发过程中的重复开发,从而提升了开发效率。而这一技术也正类似于工程建设领域的拼装式建筑思路,是软件工程思想在实践中的具体体现。4.4运用软件原型进行开发在软件工程思想的核心概念中,“复用”是具有极强实用性的一种思想,其强调软件开发无需所有内容都进行全新开发,由于之前的系统许多内容都是成熟的,所以只需对小部分进行全新的开发即可。因此管理信息系统开发中应用此思想是十分必要的,其能够对已有的技术进行充分利用,从而减少新的开发内容在满足用户需求上的不确定性,以达到降低开发风险,提升开发成功率的目的。
摘要:众所周知,高等职业院校计算机专业毕业生的软件系统开发能力普遍不高,该文从分析原因入手,提出提高高职计算机专业学生软件系统开发能力的有效方法,即培训实验体验法。
关键词:高职学院;软件系统开发力能;培训实验体验法
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)28-8009-02
Discussing on Improving the Ability of Software System Development of Students of Computer Major in High Vocational College
WANG Jun-ping
(Electronic Information Department, Xianyang Vocational Technical College, Xianyang 712000, China)
Abstract: As we know, Commonly graduates of computer major don't have the high ability in the development of software system in higher vocational college. The paper analyzes the reasons, then points out the effective teaching methods, that is, training, experimenting and experiencing, to improve the ability of developing software system in higher vocational college to students of computer major.
Key words: Higher vocational college; The Ability of Developing Software System; Training Experimenting & Experiencing
前些年,高校计算机专业毕业生较少,供不应求,学生一毕业就有单位要。随着社会的发展,目前出现了一种奇怪的现象:一方面,各行各业缺乏大量计算机技术人员;另一方面,相关院校培养出的大量计算机专业的毕业生却难以找到工作或不能胜任现有的工作。究其原因,其中一条就是:社会对计算机人才的需求越来越高,既要求学生具有较强的软件开发能力,又要具有一定的系统开发的工作经验。用人单位对计算机专业毕业生的要求几乎达到了学校与公司的“无缝”链接。但是,高职院校计算机专业的学生的软件系统开发能力普遍不高,具有系统开发经验的就更少,有的毕业生连一个很简单的软件系统都没有开发过,高职院校培养的学生在系统开发能力和经验上与社会要求脱节。为此,我们在分析原因的基础上,提出提高高职计算机专业学生软件系统开发能力的有效方法,即培训实验体验法。
1 学生软件系统开发能力不高的原因分析
1.1 培养过程中重理论轻实践
在高职计算机专业人才培养过程中重理论轻实践,可以从计算机专业教学计划的课程设置与教学过程中找到相关的依据。专业必修课是高职学生必须修读和掌握的课程,是一个学生学好专业的基础,也是一个学生从事工作以后进一步提高和发挥自身潜力的根本。在培养学生过程中,重视这些基础理论是十分正确、十分重要的,也是用人单位选择人才的一个基本的、重要的条件。但是,我们在重视理论教学的同时,对实践教学却重视不够,主要体现在:1) 在一些实践性较强的课程中,理论课时占的比重还比较大,老师讲得多,学生练得少,学生实践操作的机会少。2) 任课教师重理论的讲解和分析,对这些理论和技术在实际中的应用介绍却比较少,一般满足于一些验证性实验的指导,对提供给学生进行的一些设计性或综合性的实验缺乏足够的热情,培养的学生只能做一些简单的验证性的编程。3) 学生实验指导书注重课本的配套练习,强调验证性的实验,而针对实际应用的实验例子、设计性和综合性的实验例子很少,指导教师往往也因为实验课时量少,也没有给出更多的实用例子给学生练习。针对学生的设计性、综合性实验训练少,造成学生在学完一门课程后,只知道编写一些简单的程序,对实际的应用和多种技术的综合应用知之甚少。由于学生每门课程都没有得到很好的实践训练,一个综合多种技术的软件系统开发对他们来说自然就不知所措,到毕业还不具备高职学生所必须掌握的技术、方法和技能。有些学生从入学到毕业,连一个简单的软件系统都没有设计过,只能勉强编出几个简单的程序,这样就很难适应社会的要求。4) 课程设置更多考虑了培养学生技术的宽度与广度,但是对培养学生综合技术的应用和掌握技术的深度存在着不足。比如,学生学了多门软件开发工具的课程,从学程序语言的数量来说够多了,但是没有真正能够用一种语言来开发系统。
1.2 制定或执行标准不够严格,学生动手能力差
目前高等院校的计算机教学缺少制订实验教学或实践环节的质量标准或执行的标准不够严格,学生动手能力差。一方面,我们比较注重专业课程的教学大纲与实验大纲的制订,但是却缺少课程实验教学或实践环节的质量标准或者是执行不够严格。另一方面,高职计算机专业是一个实践性很强的专业,应该有课程实验教学或者实践教学的质量标准,即学生学习了一门课程后要达到什么样的技术水平,必须确定一个量化的标准,如Visual Basic课程,学完后,学生要学会用Visual Basic来设计与开发一个系统,当学生达到这一质量标准才能得到相应的学分。但是,现在我们往往都是用理论考试来代替了这个质量标准和要求,从根本上造成学生应付理论考试,忽略对动手能力和应用能力的锻炼。学生学完课程后,只能编写一些简单的程序应对考试,不能够独立设计与开发一个综合的系统。
1.3 提高学生实践能力的主要场所没有得到充分利用
大部分高等职业院校用于提高学生实践能力的主要场所,如实验室、实习实训基地等,没有得到充分的利用,开放实验室没有真正落到实处。学生到社会见习、实训时间少,学生真正了解公司、企业对技术的需要,了解公司的运作,能够参与软件开发或者接受公司软件开发培训的机会就更少。所以,学校所教、学生所学与公司、企业对人才的需求就产生很大的差距。学生掌握编程工具和编程能力不足,综合各方面技术来独立开发软件系统的能力更显得困难。
1.4 学生掌握的课程内容分散而且各自独立
软件系统开发需要具备软件工程、数据库原理、程序设计的基本理论以及熟练掌握一门编程语言、一个数据库系统、以及多媒体技术等多个处理和编辑系统。但是,学生掌握的是分散的、各自独立的课程内容,缺少融合多课程知识的经验和能力,在软件开发过程中就出现了困难:1)不能熟练操作编程工具和数据库系统;2)不知如何实现开发的系统与数据库连接;3)系统开发时,对数据库操作编程必须用到的语言程序感到无所适从;4)对要开发的系统不知从何入手。这是学生缺乏有效的指导和实验方法,掌握的课程内容分散造成的,也是很多学生拥有自己的电脑,却只是用于上网聊天玩游戏的主要原因。
2 提高高职计算机专业学生软件系统开发能力实验方法的设计
为了帮助学生提高软件系统开发能力,我们根据计算机软件生命周期原理,针对需求分析、系统设计(包括框架设计和数据库设计)、详细设计、程序设计、软件测试等5个阶段从实验方法、实验路线的研究出发,设计出了针对高职计算机专业毕业生的一套有效方法,即培训实验体验法。
2.1 实验方案
指导思想:先培训,然后在老师指导下完成。
实验目标:完成一个简单的功能比较完整的软件系统。
参与对象:高职二年级以上的学生,5人/组。
指导老师:1人/组。
实验设备:在课余时间利用开放实验室及学生自有的电脑。
实验方法:先案例培训、学生结合案例实现与老师分段结果检查相结合的方法。
实验路线:先由指导老师结合具体的案例进行培训,把系统开发的全过程进行讲解,然后由老师出题或学生自命题进行开发。老师提出完成系统的各时间段,以及每个时间段要完成的内容和进度,学生在在老师的指导下完成。
实验步骤:第1阶段,利用课余时间组织学生进行培训,用6~8课时对具体的案例进行讲解。第2阶段,给出系统名称后,要求学生在20~30天的时间内结合案例写出软件需求分析和系统的框架设计,明确系统所要实现的功能模块。第3阶段,要求学生在30天左右时间内结合案例对系统进行详细的设计。第4阶段,要求学生在30~60天的时间内结合案例编写代码。第5阶段,要求学生在30天左右时间内结合案例进行系统调试修改。第6阶段,学生在30天左右时间结合案例写出系统使用说明书以及总结报告。
2.2 实验方法
实验方案确定以后,我们召集参与实验的学生进行培训,由指导老师先对一个比较具有代表性的软件系统进行讲解和剖析,从软件系统运行环境、开发工具、数据库、系统的集成等开发过程进行介绍,使学生了解在系统开发中自己缺少什么知识。然后根据学生的具体情况,布置学生自行修读相关的技术、工具等知识,并在一定时间内完成,写出修读的总结或读书报告。最后指导老师给出具体的题目让学生去实现。
实验从2008年10月开始,到2009年6月结束,参与的是2006级计算机科学与技术专业的20名学生,他们基本具备开发系统所需要的知识和技术,分4个小组,每个小组由1名指导教师辅导。
2.3 实验效果
对学生进行的2期试验结果如下:1) 软件需求分析和系统的框架设计文档,书写得比较完整、规范,符合系统的功能要求的,共有18人;写得一般的,共有2人;写得差的,共有0人。2) 对系统进行详细地设计,功能较为完整、规范的,共有15人;完成得一般的,共有5人。3) 编写代码能力强的,共有5人;一般的,共有10人;较差的,共有5人。4) 系统调试修改、刻录打包。完成得好的,共有12人;一般的,共有7人;较差的,1人。5) 书写系统使用说明书文档。完成好的,共有17人;一般的,共有3人;较差的,0人。总体效果比较好。
3 经验体会
本次实验我们的主要经验是:1) 该方案包含一个比较系统的培训过程,这正是高职学生普遍缺少的经历和经验。所以,经过培训的学生在撰写需求分析与框架设计文档、系统详细设计、系统测试方面完成得比较好。而一般没有经过培训的学生,很多人在做的时候不知从何下手,撰写出来的文档既不统一,也不规范,指导教师花了大量的时间和精力帮他们修改和指正。而经过培训的学生撰写出来的文档规范,系统设计比较清楚、系统测试操作得当,指导教师在这方面的工作量就大为减少。2) 在系统调用数据库的连接编程方面,实验小组的学生基本都能独立完成,而一般学生,大部分都需要教师的指导,并且花较大的精力指导才能完成。这方面的编程与操作是学生开发系统时遇到的难点之一,它涉及到多个系统的操作,需要学生的综合运用。实验小组的学生由于经过培训,有教师的详细讲解以及有相应的案例作参考,这一难点得到了较为有效的解决。3) 高职学生基础普遍不十分好,对软件系统开发都有畏难情绪,经过这次的成功实验体验,会让他们的树立信心,提高软件开发的积极性。
该方法只是作为提高学生软件系统开发能力的起步阶段,但是通过对学生的训练,学生能够掌握系统开发的各个环节和基本要求,学会编写开发过程中所必须的各种文档,掌握系统开发所必须的开发工具、技术和技能。经过该方法培训的学生初步具备开发软件系统的基本能力,再进一步通过参与实际的项目开发,软件系统开发能力将会得到进一步的提高。
4 总结提高
本次实验总结出来的有效实验方案,可以在高职计算机学生中逐步推广,师资不足的,可以从软件公司聘请。也可以与软件公司合作,公司负责培训、指导,学生免费为公司软件开发流水线工作。这样,就可以使高职计算机专业学生的计算机软件系统开发能力得到全面提高。
参考文献:
[1] 李文敬,廖伟志,陆建波.计算机高职应用性人才培养的研究与实践[J].广西师范学院学报,2007,28(s2):156-160.
关键词:软件工程;SEI能力成熟模型
中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)12-21705-01
Discuss the Improvement of the Software Course Simply
WANG Wen-li
(Guangdong Lingnan Institute of Technology,Guangzhou 510663,China)
Abstract:Improvement of soft project in a problem land that is explored constantly soft project researcher in whole world. First of description of this text are organized unripely and a ripe difference while organizing, key definition and describe SEI ability ripe 5 ripe grade of model, propose one common system improvement model to develop course.
Key words:Soft project;Ripe model of SEI ability
1 引言
信息系统生命期(SDLC)由活动、产品和资源组成。活动是在一个SDLC中进行的动作,并且可以是高层分析至程序的编译或者测试之类的任何工作。产品是在SDLC期间产生的文档和程序。资源由人员、时间、金钱和设备等组成。在一个SDLC期间要使用它们,SDLC在某些文献以及讨论开发的研究中也看成是一个软件的过程。
全世界的软件工程研究人员都致力于改进软件过程。SEI(Software Engineering Institute)的能力成熟模型是一种软件过程改进的途径。本文基于这一框架来讨论软件过程的改进。在世界范围内有许多其他实践着的软件过程改进。本文选择这一途径进行讨论,是因为大量的出版物上有有关的文章、讨论及批评,并且在美国和许多其他地区普遍接受了它。在1986年,CMU软件工程研究所(SEI)在Mitre公司的帮助下,开始发展一种有助于开发人员改进他们的开发过程的系统开发过程成熟度框架。最初称为软件过程成熟度模型。
2 不成熟和成熟的系统开发组织
一个组织希望建立起改进信息系统开发过程的实用的目标时,首先必须理解不成熟系统开发组织和成熟的系统开发组织之间的差异。在一个不成熟的系统开发组织中,通常开发人员即兴提出系统开发过程。即使详细说明了一个特定的开发过程,也很少会坚持或强化这一开发过程。
描述不成熟系统开发组织的最好词语是“反应”。通常管理人员关注解决危机和“救火”上。经常性地超支,因为从来没有真正地估计过进度和预算。当人为的期限迫近时,软件产品功能、性能和质量往往受损。
最后,一个不成熟系统开发组织缺乏有目的的办法来评估软件产品质量、或解决发生的产品问题或过程问题。为保持或接近进度,经常减少取消试图提高软件产品质量的活动,例如用户介入,设计评审和测试。
成熟的系统开发组织可能在全机构范围内管理系统的开发和维护。管理人员可以准确地把系统开发过程传达给开发人员,开发人员根据计划的过程实施相应的活动。规定的开发过程是可用的,并和进行工作的实际途径相一致。通过受控的试验性测试和效益分析,确定必须改进过程时,就更新规定的开发过程。在项目范围内和贯通组织范围中都理解开发人员的作用和责任。
成熟系统开发组织的管理人员不断地监视系统产品的质量个制造产品的过程。坚持一个目标明确的、定量的方法来评估系统产品质量和分析产品的问题和过程的问题。基于历史上的行为制定进度和预算,因此是现实的,通常可以达到。
最后,一个成熟的系统开发组织使用一个纪律严明的系统开发过程,因为全体参与人员理解如此做的价值,企业的基础结构设施支持他们达到这一点。
过程改进(例如SEI的CMM)的目的是支持软件开发管理人员,开发人员和业务工作。而不是去责备和羞辱他们。软件过程改进的组织软件开发组织的管理人员之所以失败,常常就是因为害怕承认了软件开发过程真实情况所带来的后果。
3 SEI能力成熟模型的5个成熟阶段
一个系统开发过程是开发人员用来开发和维持信息系统的活动、方法、实践和变换的集合。如果一个软件的开发组织是成熟的,在其组织内具有较好的定义,并一贯地使用于开发过程。通过政策、标准和组织结构体现的系统开发过程是这种成熟性的自然产物。不要将成熟度和多年处于的状态等同。对于现在的讨论中,把成熟度等同于智慧的成熟和在应用知识上的智慧。所以一个软件开发组织成熟就相当于该组织能把通常认可的有关软件开发过程的知识应用于自己的软件开发工作中。
坚持连续地改进过程的思想,CMM为软件为软件组织的演进步伐提供有五个成熟度的框架,如图1所示。当软件组织达到一个成熟度级的框架时,每一个成熟度级为连续的过程改进中转向下一个成熟级打下基础。每一级都假定软件组织已经达到了在CMM指南规定的所有较低级别的要求。图2总结由CMM描述的关键过程区域。
图1 SEI能力成熟模型 图2 在能力成熟模型中的关键过程区域
第1级,初始级软件组织的一般特征是没有开发和维持系统的稳定的环境。这种组织极少能做到使软件开发按一个有序的开发过程进行。结果是发生一系列开发危机,一遇到问题,开发组成员放弃计划好的过程,并回到反复编码和测试。
第2级,可重复级软件组织的一般特征是有食用的政策和过程,并在系统开发中坚持使用。新项目的计划和承诺是基于相似的项目的经验。基本的管理控制是属于每个开发项目的一部分,管理人员跟踪费用、进度和识别问题。
用户需求和开发出来满足要求的工作产品是按基线进行,并控制其完整性,项目遵循标准;然而在第2级的组织中项目之间的过程可能不同。因为可以重复过去的成功经验,所以其项目计划和控制是稳定的。这些组织的过程能力是有规律的。
第3级,定义级按软件组织在相继项目上的稳定性和可重复性,所代表的全组织的标准和一致的系统开发过程来标志。这个过程的编写成文档,包括一个开发人员的过程部件和一个管理过程的部件。由于标准化,组织作为一个整体应当能够进行有效的系统开发时间。
因为在这一级的开发组织有一个很好的定义过程,管理人员对每个项目的技术过程有良好的洞察力。除此以外,在组织的标准化系统开发过程中包括了以下各方面的指南:(1)标准;(2)建立可读性准则;(3)开发输入;(4)完成工作的步骤;(5)工作验证步骤,例如同事评估;(6)开发输出;(7)决定完成准则。
第4级,管理级是建立了系统开发产品和系统开发过程的定量质量目标的几个为特征的组织,对于遍及所有项目的重要的系统开发过程都度量生产率和质量作为自制的度量程序的一部分。
整个组织维护一个过程数据库以收集和分析来自各项目确定过程的数据,这些组织的范围的度量建立了一个定量的基础,用于评估任一项目的过程和产品。每个项目通过在他们行为中减少与组织的可接受数量界限的差别来控制他们的过程和产品。在一个项目过程实施中有实质性的变动和随机变动加以区别,当已知的过程界限超出后,管理可以采取行动来纠正这种情况。第4级允许一个组织在确定的定量范围内对系统开发过程和产品质量具有预测趋势的能力。
第5级,优化级通过整个系统开发组织致力于连续的过程改进为标志。组织有适当的途径识别开发过程弱点和产品弱点,并用零缺陷目标化它们。过程数据库(来自第4级)用来对新技术和系统开发过程的变动进行费用―利益分析。探索最佳系统开发实践的革新在整个组织内部识别并传播。
项目小组分析缺陷以决定原因,对过程进行评估以避免已知类型的错误重现,并传播其他项目的经验。因为系统开发中低效益的主要原因是重复工作,所以减少重复工作可以说是每一级的目标。但是在第5级,它成为一个主要的关注点。
4 一个基本的系统开发过程改进模型
通过遵循这个简单的系统开发过程改进模型――ICASE,一个系统开发组织可以来达到其希望提高CMM的级别的目的。
I=调查,调查组织的系统开发过程的现有状态。在我们可以确定移向下一个级别之前,我们需要知道我们处于哪里。
C=建立,在组织内部建立一种意想。使开发人员和管理人员进入改进系统开发过程的概念中去。
A=行动,在组织中对必须要求的过程改进行动建立一张清单。
S=选择,选择一个计划以达到要求的行动。
E=执行,提交执行计划必须的资源。
最后,当开始并不断在CMM级进行改进时,反复这一过程。
5 小结
本文给出了对软件过程改进的概述。由于许多因素使软件创建的过程需要不断的改进。软件过程改进就是试图这样做的活动。按SEI能力成熟模型――给出软件开发成熟度的五个级别,给出了不成熟和成熟软件开发环境。在这之后,一个一般的系统开发过程改进模型,用ICASE缩写表示。本文简短地讨论ISO 9000过程改进标准作为结束。
如前所述,SEI的CMM不是仅有的系统开发度量模型。还有ISO 9000系列标准,以及可以通过全世界的咨询组织获得几个专利的方案。然而,CMM可能是所有系统开发度量模型当中编写最流行的文档方法。
参考文献:
[1]国刚.UML与Rational Rose 2003软件工程统一建模原理与实践教程[M].电子工业出版社,2006.
[2]符长青.信息系统工程监理[M].机械工业出版社,2006.
[3]周爱民.大道至简――软件工程实践者的思想[M].电子工业出版社,2007.
关键词:快速原型、集成开发环境(LDE)、汽车电子
1、应用背景
(1)汽车电子在汽车工业中的重要位置
随着汽车工业的飞速发展,汽车在工艺和制造技术上越来越复杂和精密,同时人们也希望汽车更安全、更经济、操作性更加灵活方便。传统的机械控制由于速度慢,可靠性低已经不能够满足现代需要,因此现代汽车大量采用电子控制技术来提高整车性能。国际上汽车电子产品在整车成本中所占的比例平均超过30并呈快速上升趋势,汽车电子在现代汽车工业中已经有越来越重要的地位。
(2)快速原型方法提出的背景
现代市场对产品的需求呈现多样性和快速性的趋势,对控制系统安全必和可靠性的要求也与日俱增,为了在激烈的市场竞争中取胜,必须不断地缩短新产品开发与投入市场的周期,这就出现了企业新产品面临着多样性的需求和快速开发之间的矛盾。为了设计可靠的控制系统,满足用户的多样化需求,缩短项目开发周期,降低产品开发费用,需要采用先进的开发工具来加速设计流程,从而找到新的途径获得技术上的突破。使用快速原型方法与集成开发环境技术来进行控制系统开发的目的就是为了缩短开发周期,在行业竞争中能够快速开发新产品,从而获得最大的经济效益和市场益。
2、传统控制系统开发过程与使用快速原型方法进行开发的比较
快速原型方法是现代控制系统开发方式催生的产物,通过与传统控制系统开发方法的比较,我们可以看出快速控制原型方法在控制系统设计开发中的优越性和先性性。
(1)图1所示是传统控制系统开发方法流程,开发步骤如下:
根据需求用文字说明的方式提出设计目标;
根据以往开发经验提出系统结构;
由硬件人员设计并制造硬件电路;
由控制工程师设计控制方案,并将控制模型用方程的形式描述出来;
由软件人员采用手工编程的方式实现控制模型;
由系统工程师或电子技术专家将代码集成到硬件电路中;
图1伟统控制系统开发方法流程
用真实控制对象或测试台进行测试。
传统控制系统开发存在的不足;
在对控制规律的控制特性或控制效果还没有把握的情况下,已经完成硬件电路的制造,这时,由于还无法确定所设计的方案能在多大程度满足需求,或根本不能满足需求的情况下,就已经产生了较大的硬件投入;
手工编制的控制程序容易造成系统可靠性降低,一旦在测试过程中出现故障,就很难确定是控制方案不理想还是软件代码有错误。更重要的是手工编程将会占用大量的时间,导致虽然有了控制方案,却要等待很长时间才能对其进行验证和测试,从而在不知道方案是否可行的情况下就浪费了大量的时间,人才和物力,给开发带来了不必要的开支和经济损失;
即使软件编程不存在问题,如果在测试过程中发现控制方案不理想,需要进行修改,则新一轮开发工作又将开始。大量的时间又将耗费在软硬件的修改和调试上。另外,由于涉及的部门多,再加上管理不善所引入的种种不协调,导致开发周期长,最终可能出现产品虽然研制成功了,但初始需求已经发生了变化,市场的机会已经错过,产品已没有了销路,从而使整个开发以失败告终。
(2)快速原型开发方法及流程
基于模型设计面向目标应用系统的快速原型开发方法最重要的特征就是采用计算机辅助控制系统设计,即将计算机支持的工具贯穿于控制系统开发和测试的全过程。应用快速原型方法进行控制系统开发,一般由下列步骤组成(如图2所示):
系统需求与分析
在传统的控制系统设计方法中,这一过程通常是几千字甚至几万字的文字说明。在快速原型开发方法中为了避免文字说明的模糊性及理解性错误,详细说明将采用模型方式。可以用信号流图来进行定义。
控制方案设计
控制方案的设计不再采用过去的那种先将对象模型简化成手工可以处理的形式,再根据经验进行手工设计的方式,而是用诸如MATLAB/SIMULINK等计算机辅建模及分析软件,建立尽可能准确的控制模型,并进行离线仿真分析,从而避免了传统设计过程中由于模型过于简化,在没有相应的计算机辅助设计工具支持情况下,完成了大量的工作而到了试验阶段才发现所设计的方案根本不能满期足实际对象的控制要求。
图2应用快速原型方法进行控制系统开发
硬件平台
硬件平台是快速原型方法的重要组成部分,它由CPU与扩展电路组成,通过外部功能接口与目标应用系统进行交互,也可以根据实际需求对信号进行调理,从而实现对目标应用系统的控制。
自动代码生成
用户进行控制算法模型设计后,无须再像过去那样来等待软件工程师进行手工编程,而是利用计算机辅助设计工具自动将控制模型框图转换为目标系统代码,从而快速实现控制系统的原型。自动生成的代码可以节省大量的系统开发时间,可靠性高,但是运行效率比手工编程低。对大多数工程师而言,如果能够加快开发速率,损失代码的部分实时运行效率是可以接受的。而且这个问题可以通过后期进行的自动代码优化功能得以改善。
实时仿真与测试
在系统开发阶段完成之后,就可以利用计算机辅助试验测试工具软件进行各种试验,以检验控制方案对实际对象的控制效果,并随时修改控制参数,直到得到满意的结果为止。即使需要对模型作很大修改,从修改到下一次对原型的测试也只需要几分钟的时间。从而在最终实现控制方案之前,就已经对可能得到的结果有了相当的把握,避免了过多的资源浪费和时间消耗。
硬件在环仿真
硬件在环仿真的目的是通过对实际情况进行模拟从而对控制模型在各种条件下做出全面测试。它的优点是可以通过在对故障情况和极限条件下的测试找出控制装置的设计缺陷,从而缩短开发周期,降低相关维护费用。
3、集成开发环境技术
3.1集成开发环境的功能
在传统控制系统软件开发过程中,开发的不同阶段需要用到不同的软件,开发者必须在几种软件间来回切换操作,效率比较低。而随着市场需求的增长,系统开发复杂度愈来愈高,特别在大型控制系统的开发中,企业必须选择优秀的开发工具以保证工程质量,从而能够按时交付和实现成本控制。集成开发环境正是这样一个将编辑、编译、调试、仿真等功能集成在一个桌面环境中,既方便了用户,又提高了工程质量和开发速度。
基于快速原型方法的集成开发环境功能包括:提供控制操作界面;建立控制模型;通过上位机与目标CPU的接口浏览目标CPU硬件平台状态和信息;集成MATLAB/SIMULINK进行仿真建模;集成RTM对SIMULINK所构建的模型进行自动代码生成;集成编译器、链接器、调试器等对生产的代码进行交叉编译,调试,从而对目标CPU进行控制;集成控制界面,用于实现对所给定参数的测试和优化;模拟仿真应用系统控制算法;通过硬件调试接口将生成的目标CPU的机器代码下载到硬件平台;实时调试运行应用程序等等。
3.2使用集成开发环境进行快速原型控制系统开发的特点
使用集成开发环境进行快速原型控制系统开发这种开发模式方便、快捷。通过使用图形化界面的模型框图,输入计算公式、经验公式来编制开发程序,再由系统自动将其编译成目标代码的方式可以大大提高效率。应用程序经过反复模拟仿真、实时调试运行成功后被装入硬件平台。一些特定、重复任务的应用程序被生成模块化的库文件以备调用。模块化的应用程序可以实时在线导入导出而丝毫不影响系统的正常运行。这样使用集成开发环境对快速开发和实时数据分析实现了从想法提出到建模直至进行控制的一体化过程。
4.国外汽车电子行业快速原型集成开发环境的情况
4.1dSPACE
dSPACE实时仿真系统是由德国dSPACE公司开发的一套基于MATLAB/SIMULINK的控制系统开发及半实物仿真的软硬件工作平台。广泛应用于航空航天、汽车电子、电力、机车、机器人、驱动及工业控制等领域。该系统由硬件组成和基于这些硬件组件的软件开发工具集组成。它通过设计标准组件,提供组件的不同组合来适应不同的应用系统;通过使用MATLAB、SIMULINK、RTW来提供对硬件接口的支持;使用自动代码生成和下载工具,减少了软件代码编写和修改的时间,体现了现代开发方法的快速性;同时提品控制器与dSPACE系统纳入闭环测试中,易于原型设计到产品的转换。
dSPACE为控制工程项目的开发和测试提供软硬件平台,应用十分广泛,许多汽车工业的用户都使用dSPACE作为开发测试的工具,如Audi公司用dSPACE实现了ABS控制器测试台;Ford、GeneralMotors、Honda、ToyotaMotor、Nissa、MazdaMotor等公司用dSPACE进行动力控制原型的开发;德国Adtranz公司则用dSPACE实现了电力机车的仿真。
4.2MOBIES
MOBIES是由美国国防部国防高技术研究项目局的信息处理技术办公室(IPTO)资助的项目。旨在为嵌入式系统开发提供一个基于模型的软件组成件集成技术。此项目注重建模工具、系统分析和代码生成技术的研究。在建模工具的使用、软件规范性和通用性等方面提出了很多先进的思想。
MOBIES项目试图从更抽象的层面上来建立组件库,同时定义整个嵌入式软件工具集中通用的内部规范格式,贯穿于从需求分析、建模、仿真分析到代码生成的各个阶段,以此达到满足多领域的控制系统设计需求的目的。
4.3OpenECU
OpenECU系统主要面向汽车电子领域的软硬件开发,由英国PiTechnology公司开发研制,该系统通过使用MATLAB/SIMULINK来快速开发控制系统。
OpenECU系统包括:ECU硬件开发板,ECU硬件小批量生产板,配套开发软件,汽油发动机基本控制策略,自动代码生成以及一些其他工具。它的典型应用包括:汽油发动机ECU开发(适用于1~8缸),变速箱控制开发,混合动力能量管理控制系统,自动驾驶控制系统等。
4.4国内快速原型与集成开发环境技术研究情况
国内在快速原型与集成开发环境技术方面的开发研制基本上是一片空白。在汽车电子领域中以使用国外相关产品,主要是dSPACE为主,还未形成研制、生产具有自主知识产权的产品的局面。同国外快速原型系统与集成开发环境的开发相比还存在着很大的距离,开发出自主系统对我国汽车工业的发展具有重要意义。
5.技术路线和结构设计
通过以上介绍,可以看出在控制系统设计开发领域,基于快速原型集成开发环境的开发方法比传统的开发方法具有较大的优势。不仅具有快速开发、实时性和可靠性高的特点,而且能够做到模块化、自动化和可定制化。
5.1采用的技术路线
要实现快速控制原型,必须有集成良好便于使用的建模、设计、离线仿真、实时开发及测试工具,允许用户反复修改模型设计,进行离线及实时仿真。为了实现上述目标,我们在集成开发环境当中使用MATLAB/SIMULINK等工具建立控制系统模型,利用RTW(Realtimeworkshop)产生控制算法的C代码,与我们自己编写的目标环境相关的代码同时通过目标系统的交叉编译器进行编译生成目标系统可执行文件,下载到快速控制原型的硬件系统中进行调试分析,进行参数标定,并通过硬件的实时测试不断修改控制方案和算法,从而达到最优控制效果。(如图3)
图3基于快速原型与集成开发环境技术的系统原理框图
5.2硬件平台
由于车载CPU处于一个强振动,高电磁辐射的环境当中,这就要求硬件平台要有很强的搞振动,抗高温,抗电磁干扰的能力,并具有高度的灵活性和可靠性,能够在高速移动的苛刻环境下工作,而且考虑到当今汽车电子应用的主流,我们选用了专为汽车电子、航空航天、智能系统等高端嵌入式控制系统所设计的32位微控制器MPC555为基础的硬件平台。同时,用户还可以根据实际需求选择接口电路,从而达到可定制的要求。
5.3集成开发环境
系统以集成开发环境为基本的软件平台,在此平台上集成以下组件和模块:
基于PowerPC平台的交叉编译器;
基于交叉编译器的C语言库函数;
基于MATLAB/SIMULINK的建模枋真的控制软件;
基于RTW的自动代码生成工具;
标准I/O驱动模块。
【关键词】信息系统开发教学,核心课建设,大作业
近年来,我校计算机系信息管理与信息系统专业(简称信管专业)在专业基础课及专业课教学上进行了信息系统开发课程群及核心课程建设的教学研究。研究的重点是划定信息系统开发课程群并明确其核心课程,重点围绕这些核心课程进行教学改革。为学生布置综合运用不同核心课程的相关知识和技术的大作业,是我们在课程群和核心课建设教学改革中的一个有特色的尝试。本文以其中的《高级语言程序设计》、《数据库原理与应用》、《数据库开发与管理》三门核心课布置大作业的方法予以总结,与同行交流。
信管专业的一个重要方向是信息系统开发。为培养学生的信息系统开发能力,我校在教学计划中设置了多门相关的课程。如《信息系统分析与设计》、《高级语言程序设计》、《数据库原理与应用》、《数据库开发与管理》、《静态网页设计》、《动态网页设计》等。通过对这些课程的学习,学生能够掌握基于C/S 结构和B/S结构的两大类信息系统的开发方法。其中,《高级语言程序设计》、《数据库原理与应用》和《数据库开发与管理》三门课程更为突出地体现了对学生开发能力的培养。在开发实践中,三者的结合也更为紧密。
过去,传统的教学方法是由若干位教师根据个人专业方向及工作量情况,分别承担各门课程的教学,不同的教师在课程教学上基本上是根据教学文件各自为政,很少顾及到别的教师承担的课程的教学进度及效果。这样,本来是有很紧密联系的教学内容,可能分配到了不同课程上以及由不同的教师来讲,对学生来说,在短时间内很难把这些内容有机地结合起来,从而在一定程度上影响了教学效果。
例如《高级语言程序设计》是以一门高级程序设计语言为背景,讲授系统开发中的程序设计语言工具,重点对于系统界面和业务逻辑处理的程序开发进行教学;《数据库原理与应用》和《数据库开发与管理》是以一个较大规模的数据库管理系统为背景,讲授系统开发中数据库的管理和设计。这两方面的编程构成了信息系统开发设计和实施阶段的主要任务。过去我们的传统做法是安排两到三个教师讲这三门课,所以在对一些衔接的内容处理上,往往不同的人有不同的做法,学生很难得到一致的传授和指导。有些学生在每门课上都学的很好,但是不会把不同课程的相关知识融会贯通,到后面的课程设计或毕业设计时,在系统开发实践上用不好或不会运用这些来自不同课程的关联知识。
为了解决这样的问题,我们在专业核心课建设教学改革中,实行了结合三门课程布置大作业的教学方法。
《数据库原理与应用》和《数据库开发与管理》是前后衔接的课程,一般开设在两个衔接的学期。《高级语言程序设计》与前两门课程的某一门开设在同一学期。我们就在《高级语言程序设计》与另一门同期开设的数据库课程教学中,布置由授课教师共同指导,学生自主完成的大作业。大作业的题目是精选的信息系统开发课题,一般有十几个比较典型的系统开发题目可供学生选择,如学生选课系统、图书借阅系统、仓库管理系统、人事档案管理系统、宾馆管理系统等。布置大作业的时机掌握在《高级语言程序设计》讲完窗体应用程序和数据库开发的内容之后。为了给学生充裕的时间来完成大作业,我们把《高级语言程序设计》教学中比较靠后的数据库开发的内容尽可能提前,把有关类的继承、多态、接口等理论内容的讲授往后延迟。我们的教学周一般为十六周,在十周左右就布置大作业。这时,数据库课程应至少已讲完“数据库设计”,《高级语言程序设计》讲完“ 与数据库开发”。这时学生已具备了开发一个信息系统必要的知识准备。
在时间安排上,我们让学生以课余时间为主来完成,以充分调动学生的主观能动性,培养他们对专业的兴趣。在临近期末结课时,多安排几节上机课,让学生集中突击一下,保证大作业的顺利完成。这时,学生已完成大部分代码的编写工作,普遍会有较多的调试问题需要教师帮助解决,所以集中上机并及时指导是必要的。另外期末的集中指导也督促比较落后的同学重视这件事情,拿出更多努力来完成。
在大作业选题、指导及检查成果时,担任两门课程的两位教师要密切配合,协同动作,给学生一致的帮助。
到目前,我们已经在六届信管专业学生中进行了布置大作业的探索。这期间,我们不断总结经验,也对学生的反馈进行认真的分析,不断改进方法。最初是按原有的教学计划掌握授课进度,但是由于数据库课程与高级语言程序设计课程在教学内容编排上不同步,造成大作业布置过晚,学生能利用的时间太少,到期末匆匆忙忙地完成,效果不是很好。为此我们把高级语言课程与数据库开发有关的内容调整到前面,尽量提前讲,就使布置大作业的时间可以提前几周,让学生有充裕的时间来完成这项任务。
在高年级,学生只有在为期两周的课程设计和临近毕业的毕业设计有机会开发系统。两周的课程设计就上课时间来说,只有9个工作日,54个学时,还包括检查成果及答辩的时间。即使让学生每天工作10小时,也只有90小时,对于开发一个系统,远远不够。近年来,为缓解学生毕业后就业的压力,很多学校鼓励学生提前走出校门,毕业设计往往是学生在边工作边学习的状态下完成的,教师大多是远程指导,设计的效果要打一定的折扣。因此,利用大作业提前让学生锻炼设计能力,是对这些后期问题的一个很好的弥补。
经过几年的布置大作业实践,我们在高级语言和数据库教学上取得较好的教学效果。学生普遍反映,通过大作业真正学会了怎样开发一个实用的信息系统,很有成就感,更增强了学好本专业的信心。
关键词:农业生产管理系统;牛奶安全生产管理系统;进度管理;进度控制
中图分类号:TP393.02 文献标识码:A 文章编号:1007-9599 (2012) 15-0000-01
随着计算机和网络等信息技术的不断发展,在农业领域的应用也越来越广泛。其中的农业生产管理系统,是一种服务于农业生产、农业管理和农业信息的收集、整理、查询、展示的信息系统。
本人曾作为项目的主要管理人员参与了多个农业生产管理系统开发项目,通过实际的工作发现,农业生产管理系统的项目管理与其他类型系统的项目管理相比,具有自身的独特性,因此管理起来也更加有难度,具体特点如下:
(1)产品具有创新性;(2)农民文化水平低,农村信息化基础薄弱;(3)调研需深入农业生产企业,工作环境条件较差;(4)项目规模一般较大,而且是科研类项目,基本没有可以借鉴的例子;(5)项目中人力资源影响因素较高。
下面就结合实际工作中的农业生产管理系统开发项目的例子,就进度管理中的进度计划编制展开分析和研究。
1 项目背景
【项目案例】牛奶安全生产管理系统开发项目(简称:牛奶项目)旨在开发一套基于上海地区规模化奶牛场生产、管理、经营的全新系统软件,用于记录各奶牛场的安全生产信息数据,系统含盖奶牛场从饲料采购、生产饲养到原料奶销售至乳品厂的产前、产中、产后的全过程管理,实现网络化管理和牛奶安全生产在线控制,提升奶牛饲养管理水平和生产水平,实现现代奶业的数字化管理。
2 牛奶项目开发成本的估算
估算项目开发成本是进度计划编制的基本前提,因此在制订计划之前必须先估算出项目的开发成本,然后估算出项目总成本,再根据总成本进行相应的资源分配。
2.1 选定估算方法
在开发成本估算之前,首先需要确定估算的方法,在农业生产管理系统开发项目中,使用的较多的是自下向上估算法,因为农业生产管理系统开发项目的规模一般较大,而且大多数都是创新项目,没有类似项目经验可以借鉴,无法进行整体的估算,选用别的方法容易产生较大误差,给后续的项目管理带来困难。
2.2 工作量估算技术
在进行每个模块工作量估算的时候,我们采用三点估算技术进行工作量的估算。三点估算技术对于每一个任务的工作量,都采用三种估算值:乐观工作量、悲观工作量和最可能工作量。乐观工作量是假设各种开发条件都是最有利的形势下,完成该任务所需的工作量,悲观工作量是假设各种开发条件都是最不利的形式下,完成该任务所需要的工作量,而最可能工作量则是正常条件下完成该任务所需的工作量。通过以下公式进行计算,得出该任务的工作量:
每个任务的工作量=
2.3 总成本估算模型
由于选用的是自下向上估算法,每个任务的估算都是由底层开发人员进行估算,开发人员对于模块的估算都比较熟悉,但却没有管理成本的意识,所以以上方式只能计算出开发的成本,却不包括软件开发项目的其它成本,但是如果要逐项估算各项成本,难度又较大,所以根据以往的项目经验,采用以下成本模型:
总成本=CK*开发成本
其中,CK为常数,参照以往农业生产管理系统开发项目经验,牛奶项目CK取值为2.5。
3 牛奶项目进度计划编制
编制牛奶项目进度计划首先需要明确项目的总体要求,然后再编制项目的进度计划。在项目计划主要包括如下的内容:
(1)前期调研:进入奶牛场进行实地业务调研;(2)需求分析:收集用户的需求,并分析与系统原型之间的差异;(3)概要设计:根据需求分析进行系统概要设计;(4)系统详细设计:依据概要设计进行详细系统设计;(5)编程和单元测试:主要有开发人员开发完成后,进行单一功能的测试;(6)系统功能整合测试:流程性测试,强调与其他模块之间的关联关系;(7)硬件采购和调试:采购带RFID芯片电子耳标、RFID识读器和手持机,并进行调试,与系统对接;(8)与系统的整合测试:牛奶项目的系统数据需要上传给政府监管单位的信息系统,需要进行整合测试;(9)软硬件联调:进行硬件和系统软件的联调,实现业务流程的贯通;(10)系统试运行和用户培训:系统试上线运行,同时开展用户培训;(11)系统优化:根据用户的反馈意见,进行系统的调整和优化;(12)系统正式上线和用户验收:经过前阶段试运行和系统优化,系统正式上线运行,并进行用户验收。
4 结束语
本文针对牛奶项目实际案例,结合进度管理的理论基础,分析了实际项目实施过程中的进度管理方法,通过实践深入研究了进度管理在农业生产管理系统开发项目中的进度计划编制方法,为今后牛奶项目的顺利实施打下了坚定的基础。
参考文献:
关键词:软件工程;网络安全技术;安全系统开发
一、基于软件工程技术的网络安全系统开发方向
(一)提升网络系统安全性
软件工程技术应用在网络安全系统开发中,可帮助提升网络安全系统的运行安全性,接入网络平台后,网络安全系统中存在的安全隐患类型比较复杂。一旦受到黑客病毒入侵,网络安全系统中所存储的重要文件数据将会丢失。软件工程技术应用在系统开发设计阶段,可以构建出安全牢固的网络安全防护系统。处于网络环境中运营,一旦出现数据传输异常,将能够在短时间内通过安全防护系统发出提醒,对于网络安全防护系统中存在的漏洞进行修复,避免黑客病毒技术入侵,影响到系统安全使用。网络系统安全性的提升,需要软件工程技术作为支撑,构建出更严谨的信息传输交互换体系。
(二)提升网络系统运算效率
网络安全系统在大数据处理环境下,短时间内数据分析处理任务非常大,将软件工程技术应用在其中,可以构建出高运算效率的网络安全系统。基于网络平台中对数据信息资源进行获取,也能快速确定有效信息,并对信息中的内容继续深入控制。网络安全系统中的各项数据分析运算,运算效率是安全性提升的前提保障,只有运算效率达标,才能在网络安全隐患威胁中,快速定位隐患目标,并对其中存在的错误数据信息继续调整,达到数据的优化效果。网络环境中的运算效率提升,充分利用了模糊神经运算技术,实现短时间内的数据信息分类。
二、基于软件工程技术开发网络安全系统存在的困难
(一)数据安全性方面
基于软件工程技术开展网络安全系统研发,目前面临的主要困境是如何保证网络环境下的数据安全,软件工程技术需要接入到网络平台中,才能实现对数据信息的获取以及更新。网络平台中存在的隐患以及软件工程技术应用期间不稳定的部分,均有可能会造成数据传输发送过程中的安全隐患问题。面对这一问题,在开展软件工程网络系统开发中,还需要从多重角度展开研究,数据安全隐患会直接影响到网络安全系统使用期间功能是否可以实现,数据是系统实现功能的前提基础,数据安全性也会影响到接下来系统信息传输的方向。基于软件工程技术所构建的网络安全系统,在数据信息隐患方面存在诸多问题,具体研究解决中,还需要考虑系统平台内的相互融合情况,数据的虚拟性特征影响等因素,将数据安全性提升结合在系统构建方案中。
(二)数据传输速度方面
数据传输速度提升,同样是基于软件工程技术基础上,网络安全系统开发面临的难题,提升数据传输速度,可以有效减少网络安全系统开发中的数据信息延迟问题,才能确保接收传输的数据是准确的。避免网络环境中的其他攻击,利用数据信息延时造成对信息系统的侵入,开发过程中数据传输速度,需要根据传输需求以及网络条件进行调试。目前应用的各类开发技术中,数据传输速度进一步提升,还需要具有足够先进的开发条件作为支持。随着网络传输速度不断提高,数据传输速度提升拥有必要的前提条件,但与所应用的PC设备也有直接关系,如果传输设备运行速度不能达到使用标准。目前光纤的使用已经基本普及,有线网络传输速率完全能够满足安全系统对于网络传输速率的要求,而无线传输速率随着5G的诞生和商用的逐渐普及也已经得到解决,所以在数据传输速度方面存在的困难是可以解决的。
(三)数据检索汇聚方面
数据检索,并在接收端进行汇聚,是当前开展各项传输控制任务中主要设计的方面。对于现阶段存在的种种问题,主要是由于数据信息检索更新不及时导致,检索后的汇聚阶段,存在部分数据信息丢失的严重问题。针对这种情况,信息技术方面还需要加强安全性研究,从而确保数据检索后,能够进入到预期的安全控制状态,从而达到理想的功能开发效果。现阶段安全系统开发中遇到的种种问题,主要来源于技术现状与开发功能之间的冲突,应用技术并不能满足功能上的种种创新需求,应用软件工程技术进行开发期间,还需要加强该方面问题的论证研究,确保最终的各项安全管理计划,能够达到预期的控制效果。
三、软件工程技术应用开发网络安全系统的措施
(一)模型构建
基于网络工程技术开展网络安全系统开发设计,首先需要对基础模型进行构建,按照网络安全系统的功能划分,将模型划分为几大模块。对其中的小模块进行程序汇编,构建出基本框架模型后,在模型基础上对细节部分功能进行完善。不同模型基础均对应着相应的数据库。为确保网络安全,系统可以正常发挥使用功能,应用软件工程技术进行开发设计中,采用了分层管理的方法,先将整体模型划分成为个体。在进行管理过程中的数据资源汇总,最终形成整体化管理体系,基于网络环境中系统运行使用,也能够自动对干扰数据信息进行屏蔽,快速获取接下来分析运算所需要的数据内容。模型构建是接下来数据分析处理任务开展的基础,模型构建过程中,也会预留软件系统投入使用后的更新空间,基于网络环境中自动完成更新任务,将网络平台作为信息数据获取的资源库。
(二)分层处理
基于模型构建基础上进行数据资源的分层处理,网络环境中获取的信息资源,通过分层处理可以提升整体运算速度。分层处理需要通过程序执行,确定分析过程中的目标层,以目标层为索引对其中的数据进行运算。分层处理是实现网络安全系统开发的重点环节,能够完成网络环境中数据资源以及风险隐患评估的基础运算,分层处理后所得到的最终结果,在软件工程技术应用帮助下,会选择高效的传输通道,进入到系统开发研制平台中,对开发过程中的数据库完善进行指导。分层处理任务可以结合网络运行环境开展,体现出分层处理中环境信息的不同,并通过这种方法帮助全面提升控制处理安全性,为管理计划以及各项功能实现,创造稳定的处理平台。
(三)数据预处理
网络安全系统运行使用中,涉及到数据预处理项目,可以通过数据预处理帮助全面提升控制功能开展效率。处理预处理主要是针对数据进行分类,创造出与数据库使用需求类型一致的层次划分。基于网络环境中数据信息获取更新的速度比较快,短时间内面对较大的数据处理任务量,可能会出现数据更新上的延时。预处理技术应用便能够有效的解决这一问题,突出强调开发中得数据获取速度,会根据数据的不同类型,进行基础分类,接下来的数据分析处理任务,可以在基础分类上二次开展,确保计算过程中不会出现结果误差。检查过程也是一项筛选功能,判断所存在的问题,并加以优化解决。文件夹处理分析过程中程序内各个模块之间相互配合运行,共同参与完成信息检索任务。
四、结语
当前,国外人力资源管理系统在成熟度和先进性上都要优于大多数国内产品[1]。中西方文化存在差异,国内企业在人力资源管理过程中更强调人性化,而非制度化,所以国外引进的人力资源管理系统在实用性、有效性上不能很好地满足国内用户的要求。企业在自行开发人力资源管理系统过程中,往往由于内部开发人员缺乏项目经验,导致应用与需求相悖,系统不能起到应有的作用[ 2]。本文基于uml技术,探讨人力资源管理系统开发。
1统一建模语言uml
在软件开发过程中,建立简洁的系统模型更容易受到开发人员的青睐[3]。统一建模语言uml作为一种建模工具,是在booch、omt、oose等面向对象的方法的基础上发展起来的[4]。它融合了上述多种面向对象的方法在各类系统开发中的优点,从而有效消除了各种建模语言之间的差异。uml由事物(things)、关系(relationships)、图(diagrams)等几个部分组成[5],可以分为关联关系、依赖关系、实现关系、类属关系等4种关系[6]。
2基于uml的人力资源管理系统需求分析
2.1系统顶层用例图
如图1所示,人力资源管理系统涉及4种角色、8个功能模块,不同角色对应不同的功能模块。具体如下:①超级系统管理员。对系统管理员进行管理操作,设置多个系统管理员并赋予其不同的权限;②系统管理员。主要对公司、部门、职务等进行管理;③人事管理员。具体操作系统,如员工招聘、绩效考核、更新职员信息等;④普通职员。可以对职员个人信息进行编辑等。系统顶层用例图中每一个管理模块均可以进一步细化,如组织机构管理用例可以细化成公司管理、部门管理、职业管理3个部分。
图1人力资源管理系统顶层用例
2.2组织机构管理用例图
如图2所示,组织机构管理用例图是人力资源管理系统的重要部分,主要包括公司管理、部门管理和岗位管理3个功能模块,由系统管理员对这3个模块进行增加、删除、修改等基本操作。
图2组织机构管理用例
部门管理子系统中,系统管理员可以对公司中部门职务进行新增、删除、修改等操作。文本以新增部门职务相关事件流及其活动图(见图3)为例进行说明,详细描述操作中涉及的基本事件流、备选事件流以及所有可能的操作。
图3新增部门职务用例
(1)基本事件流。描述该用例的基本流程,指每个流程都正常运作时所发生的事情,没有任何备选流和异常流,只有最有可能发生的事件流。首先,系统管理员成功登录系统后,选择管理组织机构界面,再依次选择公司、部门管理、新增职务,然后输入职务名称、职务描述等基本信息,最后提交至数据库。
(2)备选事件流。表示此行为或流程为可选或备选,不一定都要执行,备选事件流为发生了某些非正常操作所要执行的流程,主要包括不满足提交条件及重置两个事件,其中不满足提交条件包括未完整填写所需信息和提交信息非法两种情况。
2.3新增部门职务活动图
活动图是uml对系统动态行为进行建模的一种常用工具,用于描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理流程。
新增部门职务活动图(见图4)中,通过登录界面进行登录,并校验登录数据的合法性。如果登录合法,则从公司列表中选择需要进行新增部门操作的公司,再选择部门,选中部门职务,并将更新对应数据库中的数据表。
图4新增部门职务活动用例
3基于uml的人力资源管理系统设计与实现
3.1系统框架总体设计
明确系统需求后,系统开发的主要任务是分析所涉及的技术问题及限制,制定解决方案,并通过具体代码编程来实现。如图5所示,本系统开发总体为三层架构,架构之间自下而上的依赖关系为:底层为数据访问层,业务逻辑层依赖于底层,而表示层依赖于业务逻辑层。
图5层依赖关系
3.2系统类图
以本系统组织机构类图和人事管理类图为例(见图6),共定义了3个组织机构相关的类:企业类(company.cs)、部门类(department.cs)和职位类(jobposition.cs);与企业职员相关的类有:职员类(
employeeuser.cs)和职员职位类(empposition.cs)。由此类图可以得出类之间的关系:company与department、department与jobposition、company与employeeuser、department与employeeuser都是一对多的关系;empposition与jobposition为多对多的关系。