软件项目实训及课程设计指导蓝梦教育

软件项目实训及课程设计指导的项目示例——蓝梦教育集团教育信息化系统

1、课程设计待开发的项目立项背景说明

某国际化的著名教育企业蓝梦教育集团(BlueDreamGroup),为了能够在中国迅速地开展与教育产品和IT技能培训有关的各个方面的业务、并期望能够取得比较好的效益和提高各项教育产品的质量以迎接新的挑战,需要全面地提升本土化的信息化项目建设的进度、拟计划开发出下文将要介绍的各个软件应用系统项目。

每个软件项目都希望能够解决蓝梦教育集团在产品销售推广、运营和管理、宣传推广和技术服务中所存在的各种信息管理和处理等方面的问题,各个子项目相互组合在一起,又将能够构成一个完整的蓝梦教育集团的信息化大系统。每个子项目之间需要实现数据共享、业务方法远程访问等功能性的要求。

2、信息化建设进度的计划安排

蓝梦教育集团的整个信息化建设的计划安排将依据企业本身在经营过程中的不同阶段的需要而实现——计划分为两个阶段。本课程设计的项目开发工作首先实现蓝梦教育集团的第一个阶段的开发任务,第二阶段的开发任务将根据企业的运营和管理的需要酌情再提出需求和项目的实施。

3、蓝梦教育集团第一阶段项目开发计划

(1)蓝梦教育集团企业运营、管理和宣传活动中所可能存在的软件系统分类

下图所示为企业经营过程中所需要的各种类型的子系统的说明,首先企业需要一个对外的门面——这就是企业的门户网站;当然,企业内部也一定还会存在大量的业务数据需要处理和业务流程、操作需要实现自动化——这将构成企业内部运营和管理应用系统;企业与企业之间、企业与其用户或者消费者之间也还会存在着一定的交互——它们将构成企业外部运营和管理系统。

企业的产品或者服务需要推广和销售,则一定需要对外进行宣传——这将构成企业业务宣传和推广系统;某些企业的行业中的业务流程是多环节和多层次的人员协同完成的,为了提高业务处理和业务流程的效率,需要提供一套完整的工作流管理系统。

(2)蓝梦教育集团的内部运营和管理系统

1)学生和教师信息管理系统——这也就是企业应用中的人事管理系统;

2)XXX系列精品课程管理系统——这也就是企业应用中的产品管理系统;

3)教学用计算机主机和投影仪管理系统——这也就是企业应用中的生产工具设备管理系统;

4)教学中的教室安排和调度管理系统——这也就是企业应用中固定资产管理系统;

5)Web在线考试评价系统——这也就是企业应用中的产品质量度量管理系统。

(3)蓝梦教育集团的外部运营和管理系统

1)远程选课信息管理系统——这也就是企业应用中产品销售管理系统;

2)教学图书等资料的在线销售——这也就是企业应用中产品销售管理系统;

3)招生宣传和报名信息管理系统——这也就是企业应用中客户关系管理系统中的一部分;

4)远程在线培训管理系统——这也就是企业应用中BtC(企业对消费者)电子商务信息管理系统。

(4)蓝梦教育集团的业务宣传和推广系统

1)蓝梦教育集团官方网站——这也就是企业形象宣传和门户网站;

2)蓝梦教育集团教育新闻网站——这也就是企业业务宣传和行业信息宣传窗口;

3)蓝梦教育集团官方BBS论坛——这也就是企业与用户之间相互沟通的宣传平台。

4、指导教师决定各个项目组最终的开发项目

各个项目组可以从上面罗列出的计划开发的项目列表中选择一个作为本组的开发项目或者直接由指导教师为每个项目组分配和指定待开发的项目。但不管采用何种分配方式,一旦确定了本项目组的开发任务后,项目组长随即就应该召集本项目组的各个成员开项目动员会议,并对本项目进行需求原形理解和分析——可以参考同类功能的应用系统所提供的功能。当然,原则上也允许项目组自己自由地决定开发其他类型的应用项目。

下图所示为作者指导某大学软件学院04级本科生课程设计部分项目组的项目动员会议记录的文档局部截图(某次课程设计中部分项目组项目动员会议记录的文档局部截图)。

最后由指导教师统一协调各个项目的最终的开发要求和规范,并填写下面表所示的人员分工的名称表格汇总给指导教师——该表是作者指导某大学软件学院05级本科生课程设计的项目分组的结果名单——各项目组人员分工的名称汇总表格。

项目组中的各个成员必须高效、全力投入到本组的项目开发工作中,并服从项目组长和指导教师的任务安排,长时间请假必须在第一时间内通知指导教师——指导教师应该向各位学生说明本次课程设计过程中有关组织纪律方面的要求。

5、对各个项目组在项目开发实现中所应用的技术要求

由于上面所罗列的计划开发的各个软件系统项目,即可以相互独立、但又紧密关联,因此需要在开发中对具体的技术及平台等进行一定的限制和规定,目的是能够将各个子项目进行系统集成,构成蓝梦教育集团总体的信息化系统。

(1)J2EEWeb轻量级应用平台,并有如下的技术应用的要求

1)持久层应用Hibernate框架或者采用标准的JDBC技术实现;

2)应用层最好应用Spring框架技术、并利用SpringAOP分离“业务功能实现”和“技术问题的实现”;

3)表示层应用Struts框架技术或者Struts2框架技术;

4)Web页面中最好能够应用AJAX技术和对应的DWR框架技术,以提高系统的用户交互的友好性;

5)统一各个子系统中的Web页面风格、并尽可能在表示层中应用各种模板技术。

蓝梦教育集团内部信息系统为一套页面模板,外部信息系统为另一套页面模板,宣传和推广信息系统为第三套页面模板,企业门户网站则采用自己独立的一套页面模板。但四套页面模板最好能够协调色彩、并在页面布局方面保持一致性。Logo图片和其它的宣传图片、Flash动画等也需要统一协调和保持一致性。

下图所示为作者指导某大学软件学院05级本科生课程设计中某个项目的新闻管理系统的前台页面模板的局部截图。

(2)项目中的各个类的设计应该遵守面向对象设计中的五大原则

项目中的各个类的设计不仅要遵守面向对象设计中的五大原则,同时在对象的创建方面也应该要考虑应用GOF设计模式中的工厂模式或者Builder模式、或者采用Spring框架中的控制反转(IoC)模式实现。

(3)充分应用Java技术平台中的各种核心技术

在项目的功能代码编程实现方面,各个项目组的开发人员应该要充分地应用Java技术平台中的各种核心技术——如多态、Java反射技术、代理、序列化及GOF设计模式中的模板模式实现更加灵活和高重用性的功能模块。

(4)利用Java属性配置文件或者XML配置文件分离项目中的各种工作参数

应该要将各种可变化的业务工作参数从业务功能实现的代码中分离出来,并放在配置文件(可以为Java属性配置文件或者XML配置文件)中并在业务功能类程序代码中进行解析,以进一步提高项目的灵活性和可配置性,便于项目后期的扩展和移植。下图所示为银行账户信息管理系统中的各种配置文件及某文件内的配置信息的局部截图——其中的classNameConfig.xml文件为系统中的数据库连接的参数配置文件。

(5)在技术实现方面还应该要考虑如下的非功能方面的要求

应用系统应该要具有身份验证、访问权限控制等安全性方面的要求,并要应用事务处理技术保证项目中的各种业务数据访问操作的一致性、同时还要为应用系统提供业务操作过程中的日志记录文件并将日志信息保存到磁盘文件(或者数据库表)中。

(6)课程设计项目开发中的其它通用方面的要求

1)要求提供需求分析、总体设计等报告文档;

2)选择合理的技术和设计高效的数据处理的算法;

3)提供友好的人机交互界面;

4)遵循良好的编码规范;

5)对程序进行认真的测试和分析以提高代码质量;

6)编写和组织项目开发过程中所需要的各种形式的文档、并编写系统使用说明书。

6、关于项目组中的各个项目之间的互联

由于每个项目自身可以独立,但又能够相互集成在一起。而为了能够达到这样的功能目标,可以利用Web服务(WebService)技术进行系统之间的互联。具体的技术实现可以应用XFire开源框架所提供的对WebService技术的支持实现;目前在课程设计的第一阶段中不需要实现,但需要在系统设计和数据库表结构设计方面考虑以后的系统总体集成和扩展的要求,而具体开发工作则留待下学期的课程设计的第二阶段中加以实现。

下图所示为XFire开源框架的官方网站局部信息截图,读者可以在该网站(


转载请注明:http://www.aierlanlan.com/rzfs/3979.html