基于SOA架构的软件项目实训管理系统的设计与实现 资费管理系统项目实训
[摘要]软件项目实训管理系统的开发是高等职业教育软件技术专业教学发展的迫切要求。本文探讨使用SOA为基础架构设计这一系统的优势和可行性,介绍了系统设计和实现的整个过程,对于相关的软件项目开发有一定的示范和借鉴意义。
[关键词]软件项目实训管理系统软件专业SOA
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1110123-02
一、背景概述
以往,我国高等教育重理论轻实践教学体系致使学术研究与技术应用严重脱节。近年来,随着国家人才体制改革,将高等应用型技术人才的培养纳入高等教育的要求越来越迫切。目前国内高校的软件技术专业教学过程中,都特别注重理论与实践相结合的教学,但由于各种条件所限,教学实施过程中仍然是以理论的讲授为主,实践动手能力和职业素质的培养相对不足。在实践教学环节,很多高校都积极探索与研究,希望在企业内部培训人才培养模式的基础上,设计以项目任务为驱动的实训课程,能够培养学生掌握软件过程各个阶段的技术,如需求分析、系统分析与设计、程序开发、软件测试等技能和职业素养。期望能够培养出满足软件企业对软件职业人的需求,缩小毕业生和软件职业人的差别[1]。因此,如果能选取技术难度、复杂度合适的软件开发工具,综合高校教师的丰富实践教学经验,以软件企业软件项目实施的规范化和标准过程为基础,适当修改企业真实项目后作为案例,在此基础上设计开发软件实训管理系统,可以解决高校软件专业课程实践实训教学中存在的一些问题,极大的提高实训课程的整体效果[2]。
基于此目的,本文对企业规范与人才需求标准与高校教学相结合进行研究,基于SOA架构设计开发出一套适合软件专业应用并可以在全国高校内推广的软件实训管理系统。
二、需求简介
近年来,各高校的软件专业和独立软件学院在各专业的教学计划中,都开设了一些与软件工程项目内容紧密相关的课程,将企业对从业人员知识技能的要求与课程教学大纲相结合,致力于培养适应企业需求的应用型人才。为此,很多学院也聘请了一些软件企业技术骨干担任实践环节的客座教师。但随着课程种类和规模的扩大,学生数量的增长已经远远高于教师数量的增长,“手把手”的教学模式已经跟不上学生的日益增长知识需求,迫切的需要构建一个与企业实际工作场景相似的软件实践教学系统,更加高效的对师资和教学的软硬件资源进行综合管理。在本系统支持下,教师和学生可以多项目、多任务、规范化、标准化的模拟参与企业真实软件项目实施过程,完成实训课程教与学。学生和教师不受教学课时、教学场地、教学组织、教学内容等客观因素的限制,可以“无论何时”、“无论何地”的进行实训课程教学活动。
三、应用SOA架构的优势
SOA是一种拥有成熟理论的应用程序体系架构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程,为最终用户提供服务[3]。
使用SOA架构网络平台系统主要考虑到它的以下优势[4]:
在系统建设过程中,SOA能够将各院校已有的各种信息管理系统和资源改造成服务,通过共享信息,实现功能更强大的服务。另外,由于SOA的松散耦合特性,对于业务细节上的变化只需通过简单修改相应的服务即可实现。
SOA构建的系统具有松散耦合性。当系统功能根据需求进行扩展时,不用大规模地更改其他部分,可以避免一些基础服务的重复开发,减少后续开发建设的投资,以及对系统日后的维护和升级都有益处。
在SOA标准结构中,不同服务之间可以自由的调动,而不必考虑所调动服务的开发平台、开发语言等。从而实现了真正意义上的跨平台和跨语言调用。
SOA能够清晰地表示系统业务流程,这些流程通过在共享业务服务中使用的顺序表示,业务建模反映在业务服务中。
使用SOA,系统可在服务、接口(协议)层被集成,而不是在实现层。这样,系统通过统一接口的定义被整合成为一个整体[5]。
四、基于SOA架构的软件项目实训管理系统
(一)系统功能框架设计
软件项目实训管理系统主要业务需求有教学管理、教务管理、资料管理、系统维护、实训项目管理、帮助支持等。
1.教学管理:管理与维护教师信息,管理与维护学生信息,包括学生与教师自然信息以及教学班的组织等。
2.教务管理:课程管理子模块:开设实训课程,确定课程实施内容和实训的软件项目实施方案、按软件项目制定项目任务书。成绩管理子模块:可以某个学生为条件查询成绩,以课程为条件查询成绩,按照教务业务定义要求打印成绩单。
3.资料管理:可以对软件实训项目中各种软件文档及案例资料进行管理与维护,对帮助支持业务中的各种指导手册和资料进行管理与维护。
4.系统维护:管理维护系统运行过程中产生的各种数据及文档,对系统数据进行备份或还原。管理系统中的用户账户进行。
5.项目实训管理:启动实训的软件项目,按照CMMI过程实施软件项目过程,主要步骤有项目启动,制定项目计划,建立项目组织、分配学生和教师担任的角色任务,学生按照标准和规范化流程完成任务,提交各种成果工件,学生实训成绩评定。
6.帮助支持:教师和学生可以随时查阅和下载,软件项目过程中的各岗位及流程工作指导手册与软件文档模板。
为了能够实现一个灵活、松耦合、可扩展的系统,采用基于SOA架构的来设计,系统功能设计如图3.1所示。
(二)系统服务框架设计
为了实现一个灵活、松耦合、可扩展的软件项目实训管理平台,本文提出一个基于SOA的系统服务框架。系统基于分布式环境,由业务表示层、功能逻辑层和数据访问层组成。
业务表示层该层――是通过用户界面用户与系统之间进行交互,它是用户获取或输出信息的接口,用户可以在Web页面进行浏览、查询、修改等业务操作,也可以进行所需的信息下载和反馈信息。
功能逻辑层――该层由实现软件项目实训管理系统业务功能的各服务构成,如:课程管理服务、成绩管理服务、学生管理服务、项目管理服务等。其大部分的处理工作发生在逻辑层,负责系统的业务处理,实现完整的业务逻辑,如数据的验证、处理,权限访问控制等。只有逻辑层才能与数据层进行通信,在这一层中要验证用户身份的有效性。当用户进行查询时,业务逻辑则响应处理,和数据库系统进行交互。
数据访问层――该层是指系统所用到的数据库管理系统、操作系统、网络通信协议等,负责数据的存储与查询,主要实现从异地异构数据源查询、提取所需的数据,并通过特定的格式进行数据传输,它是保证整个系统正常运作的基础。
(三)系统服务的实现
服务实现分为实体管理、业务管理和外部接口。
1.实体管理服务是软件项目实训管理系统的基础部分,主要负责管理实体部分,包括学生管理、课程管理、系统维护等管理。作为一个SOA系统的服务,其首先要解决就服务内容,即系统内部就是一个可独立运行的管理功能。
2.业务管理服务针对的是高校软件项目实训的业务流程管理,包括项目组织建立、项目任务分配、学生成绩评定、帮助支持等业务过程。
3.外部接口管理服务是通过向外部开放接口的方式提供外部程序调阅系统内数据、使用系统内功能,包括外部咨询指导服务、成果上报审核服务,项目资料管理。
五、结论和展望
本文将基于SOA的架构设计方法应用到软件项目实训管理系统中,从而减少重复开发,避免维护多个系统,实现客户端无关的跨平台的分布式系统。非常方便地完成了平台数据对各个程序接口的支持。最主要的,由于外部程序可以很简单获得数据然后对其进行深层次加工,提高了数据的兼容性及访问的灵活性。同时,这样一个系统不存在移植问题,只需要通过网络共享服务,开发成本低、维护简单。但是,软件开发实践教学平台作为一个应用SOA和Web Services技术构建的网络交易系统架构,还有相当多的问题没有得到很好解决,需进一步研究,例如:
1.架构的进一步完善和实现技术的进一步改进;
2.平台无关的客户界面的进一步测试。
参考文献:
[1]郑根让、朱建楼,计算机软件专业实训的真实项目引入探索,职业教育研究,2009.6.
[2]李平,项目开发模式在高职软件课程教学中的应用,中国科技信息,2006.12.
[3]Xlzhu.SOA设计原则和Web服务中的数据传输,中国软件,DotNet频道,2006.
[4]Mark Endrei,Jenny Ang,Ali Arsanjani etc,Patterns:Service-Oriented Architecture and Web Services[DB/OL].https://www.省略/redb
ooks,2004.4.
[5](美)James Snell,Doug Tidwell,Pavel Kulchenko著,胡军译,SOAP Web服务开发,北京:中国电力出版社,2002.9:96-99.
作者简介:
桂超(1979-),男,江苏南京人,南京航空航天大学研究生,主要研究方向为:计算机网络与企业信息化技术;叶芸(1976-),男,江苏南京人,南京航空航天大学研究生,主要研究方向为:计算机网络与企业信息化技术。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
