流图的方法、Jackson方法、LCP方法等。
2.原型化方法:迅速开发出一个可以让用户看得见、摸得着的精简系统,适用于需求反复修改的情况。原型化开发的优点有:有助于确定系统的可行性;原型法修改比最终软件修改快且代价小;容易定义需求不确定的。由于用户在实际软件方面的介入,开发组和用户有更高层次的交流和沟通。
3.净室方法:测试之前程序设计开发组就开发出几乎无错的系统。
4.形式化Formal Methods方法:以严密的数学证明为基础,包括形式化分析Formal Analysis、形式化设计Formal Design和翻译Translation。
5.面向对象方法:认为客观世界是由对象组成的,不同对象间的相互作用和联系构成不同的系统,以对象为中心来构造模型、组织系统。
6.基于组件的软件方法:应用逻辑和实现分离,提供标准接口和框架,使软件开发变成组件的组合。模型有Sun公司的EJB、微软公司的COM+/DCOM、OMG的CORBA/ORB。
7.敏捷软件开发:着眼于快速交付高质量软件,并使客户满意,包括极限编程Extreme Programming(XP)、动态系统开发方法Dynamic System Development Method、SCRUM、Crystal和Lean等。敏捷软件开发有四个核心价值:沟通Communication、反馈Feedback、勇气Courage和简单Simplicity。
选择何种软件开发方法需综合考虑各种因素。首先考虑软件项目的特点;还有支持环境,如若没有相应的快速原型工具,就不可能采用快速原型方法;以及技术支持,如软件工程规范、软件工程管理经验、软件人员的技术基础和经验等。
软件的开发可以选用开发方法中的一种,也可以选用几种方法的结合。考虑到本考试系统由JBuilder开发,使用面向对象的开发语言Java语言实现,所以本系统主要采用了面向对象的软件开发方法。在开发的部分阶段,还使用了原型化方法,这两种方法的结合既具有稳定性好、可复用性和可维护性的优点又方便了系统开发者和最终用户的沟通。
3 系统的整体分析与设计
3.1需求分析
需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
3.1.1系统需要解决的主要问题
系统根据用户性质不同开发四类不同的客户端程序,为不同用户所使用。
1系统管理员,其主要功能是做系统管理,具体有: 系统初始化、 全面管理各类用户的密码、系统中数据库的转储与故障恢复、运行维护等,
2 教务考务管理员,其主要功能是确定该系统的应用范围、各类用户的注册、试卷的审批、学生考试试卷的自动生成等;
3 出题教师(单科题库维护),该用户是本系统中最重要的一类用户,每门课程为一个用户,一般由担任该课教学任务的一个或一组教师出任,试题类型设计、 题库中所有题目的编写与选定,上述工作是在本系统功能之外完成的准备工作, 一旦完成就可借助本系统为其提供的试题录入、查询、修改、删除、浏览等功能将海量试题存入数据库,并完成校对工作,第三,该客户程序还提供两种生成试卷的功能,一种为与其它类用户相同的自动生成试卷,另一种为用户手动生成试卷功能,即由教师通过浏览功能逐题地从题库中选取。
4 学生用户,对于选修某一课程的学生,本系统为其提供考试、成绩查询功能,由教师组卷并发布新闻,告之学生考试,学生将
登陆考试模块进行考试。
考虑到系统的安全性,本系统的用户可分为教师,学生两类。一个部分用于教师、管理员、教务考务管理员登录,主要负责进行基本资料、题库、试卷、成绩的管