项目实战(全)学生管理系统(java)(共120页).doc
《项目实战(全)学生管理系统(java)(共120页).doc》由会员分享,可在线阅读,更多相关《项目实战(全)学生管理系统(java)(共120页).doc(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上Java项目实战 实训教材 主 编:徐翠娟、王 琼、陈慧强 副主编:杨 文、宿佳宁、宋 磊、马慧娟目 录课题一 需求分析3课题二 项目计划安排6课题三 概要设计11课题四 详细设计13课题五 数据库设计20课题六 开发前期项目准备25课题七 系统功能设计27课题八 项目的测试116课题九 实战演练118课题一 需求分析一套软件是否有市场,满足用户需求是关键因素,所以搞清楚用户到底需要什么是软件开发的头等大事。用户需求如何得来?用户有没有把需求描述清楚?如何把用户需求转化成自动化方式?软件的开发其实就是从一个个问题开始,再一个个地解决地过程。整个需求的过程如图:用户需求
2、分析流程图开始需求用户提出需求分析人员体验用户工作流程分析人员确定调研结果并写报告项目组分析并确定最终需求与用户共同确定工作环境结束需求准备进入设计1.1 用户提出自己的需求本例用户是职业技术学院,目前使用的是手工记录学生的信息。随着学校规模的增大以及新增学生选课的影响,手工方式已经无法记录学生的实时信息,该学校决定用一套新的学生信息管理系统软件,并要求满足以下条件。(1)学生卡使用磁卡及防伪标志,学生卡如有遗失,学校方面可以补办、原资料需重新录入。(2)学生卡不能转借给他人使用,如违反给予相应处罚。(3)学生可以选课,并查看个人信息。(4)对学生信息、选课信息、课程信息进行记录。学校需要的就
3、是能满足以上需求的软件。需求就是一套软件的终极目标,但并不是每一个需求都能达到的,分析人员还要根据开发环境一条条地分析这些需求。1.2 系统分析人员分析用户的需求1.2.1 分析人员体验用户环境当软件公司在接到用户的需求时,不是盲目地进行开发,而是应该对需求进行调研。需求的调研就是亲自到用户那里体验整个工作过程,掌握软件的运行环境以及人员操作水平等。系统分析员的任务就是了解并确认用户的需求,最终做出系统的流程设计。分析人员如何快速有效地掌握用户的整体情况,最好的方法就是提问题,然后找到这些问题的答案,不管什么样的软件系统,都可以从以下问题出发。(1)用户为什么要引入系统?这个问题的答案将最终决
4、定软件的定位。一套软件系统可繁琐可简单,根据用户需要软件的原因制定快速的开发计划,既满足了用户需求又节省了开发时间,降低了双方的成本。(2)软件要实现什么功能?用户最初的需求列表是否可行,分析人员要深入到用户的工作流程中,亲自体验工作环境,对照用户需求来分析各个流程是否有局限性,并与用户的管理层多进行沟通,对需求有异议的地方力求妥善解决。(3)操作人员有哪些?对于一个完善的软件系统来说,安全是不可缺少的一部分。并不是所有的人都能管理软件系统,不同的人应该具备不同的权限。从软件角度讲,就是角色分配问题。管理人员有编辑删除的权限,而普通人员只能查看。分析人员要时刻与管理人员进行沟通,了解用户的组织
5、管理机构,掌握用户角色的精确划分。(4)如何满足用户的需求?一个完整的软件系统,首先功能要完整,即用户的需求必须满足。软件该使用什么样的方式来满足用户的需求,并在满足需求的同时,提高用户的工作效率,节约用户的工作成本。分析人员要理清思路,清晰地处理与用户之间的每个问题,并将结果记录,为以后设计用例图准备好详细资料。因为不可能所有的开发人员都去用户那里体验工作流程,所以分析人员要力求实现需求的准确性和详细性。1.2.2 分析并确定调研结果分析人员将需求调研的结果带回公司,写出调研报告、召开会议研讨,开发人员和项目经理等所有参与项目的人都要参加。根据报告一条条地分析具体流程的有效性和可行性,从软件
6、的角度完善其中的细节,并将不清晰的地方再与用户进行沟通,争取做到每个人都清楚地明白用户究竟要什么样的功能。研讨完毕后,将可行需求和不可行需求(包括有局限性的需求)分别记录,并在不可行需求中详细注明原因,最后说明软件的目的及功能。在本例中,不可行的需求的列表如下。(1)学生卡使用磁卡及防伪标志。使用磁卡可以,但必须具备扫描卡专用设备,仅仅靠软件无法实现。防伪标志的使用由用户自己决定,也不能通过软件实现。(2)学生卡不能转借他人使用。软件不是万能的,无法判断学生卡是否是本人使用,此需求只能由用户管理部分实施各种监管制度来满足。(3)学生卡补办需重新输入资料,学生资料已存储在数据库中,无需重新输入所
7、有资料。对于局限性的需求一定要仔细推敲,并与用户紧密沟通,以达成改善的意见。可行性列表将在后面介绍。软件的目的是提高用户的工作效率,细分员工的工作职责,协调部分之间的业务往来,监督业务运行的过程。该软件的主要功能包括。(1)对学生信息的管理(2)对教师信息的管理(3)对课程信息的管理(4)对选课信息的管理1.3 用户与项目管理人员确定最后的需求整个项目组已经讨论并确定了需求,对于不清晰的地方也与用户进行了沟通,最后需要列出软件的最终需求。(1)学生卡使用磁卡,允许手工输入学生证号和扫描器输入两种方式。学生证号的长度为10:1-2位是专业编号,3-6位是入学年份,7-10连续编号(2)学生卡办理
8、之前需登记学生的详细资料,其中包括学生的学号、姓名、性别、生日、地址、电话、身份证号等,并且系统还应能够修改输入错误的学生个人信息记录 (3)可以对学生所选的课程进行管理,包括学生的可选课程和个人已选课的信息,并可以进行选课。(4)可以对课程进行管理,课程管理包括增加课程,该课程包括任课教师和所属专业。(5)根据学号、身份证号查询学生信息。根据学号查询选课信息。(6)软件使用权限管理方式。根据工作流程,软件有2种角色:管理员、学生和教师。管理员允许对课程信息、教师信息、学生信息的管理。学生可以进行选课和查看课程信息的操作。教师可以查看本人所授课程的学生信息(7)本软件从签字起二个月内交付。确定
9、需求时,要从用户实际需求和工作环境出发,本着一切为用户着想的原则,尽量满足用户的需求。为了用户成本方面的考虑,尽量与用户已有软件系统不冲突,在可能的情况下,尽量实现两个系统的融合。需求在整个开发过程中相当重要,一旦与实际情况出现偏差,则会造成整个工程的反复。确定需求后,项目经理开始组织项目开发小组讨论需求以及用户工作环境的注意事项。1.4 根据最终需求确定工作环境1.4.1 软件环境除了要安装学生管理系统外,还必须具备相应的软件环境,才能更好地运行。(1)Java虚拟机,支持Java开发的软件。(2)应采用统一的软件操作系统(XP),这是为了更好地管理。(3)服务器上安装数据库系统(SQL S
10、erver 2000或2005),从而实现信息资源安全化管理。(4)安装防病毒软件,病毒防火墙等。因为所有的机器都是互连的,一旦有病毒侵入,容易造成整个系统的瘫痪。1.4.2 硬件环境软件不是一套可独立运行的系统,必须依托在完善的硬件设备上。本例从实际应用角度考虑,要使软件正常有效地运行,还必须具备以下硬件环境。(1)操作系统必须是586以上,64MB内存配置。为了更好更快地运行,如果情况允许,建议尽量采用内存较大的电脑。(2)运行通畅的网络环境。所有的内容都通过网络传输,如果网络出现问题,则系统将无法正常工作。(3)服务器:由于系统采用C/S结构,为了数据安全和速度问题,数据库和系统文件等要
11、求单独安装在一台机器上,服务器的选择是系统稳定性的关键因素。(4)写卡器及刷卡器:学生卡全部采用新版磁卡,必须具备读写磁卡的设备才能进行正确的扫描。写卡器一般用于向学生卡内写入学生学号等简单信息。以上这些软硬件环境一定要跟用户及时沟通,如果用户保证不了这些环境要求,软件不能很好地运行,后果责任等一定提前说清楚。确定一切内容之后,双方在最终需求书上签字,软件进入实质开发阶段。因为需求是整个软件的基础,从开始到了解到分析是一个异常慎重的过程,每一步的失误都可能导致软件的重新开发。为了更好、更快地开发系统,项目小组要在开发前进行充分的讨论,有问题的地方一定要跟用户及时沟通。最后要做出需求说明书,供将
12、来设计、开发和测试等人员查看。需求说明书一般采用IEEE标准830-1998(IEEE 1998)描述的需求规格说明书模板,如表所示。需求说明书根据模板格式书写清楚,放在公司的共享资料库内,整个需求分析过程就结束了,项目进入第二阶段。课题二 项目计划安排一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。2.1 项目计划软件对于项目计划软件,主要使用的是M
13、icrosoft提供的Project。Project 2003是Office 2003中带的一项,安装比较简单,所以安装过程不作介绍。2.1.1 创建一个进度表Project项目软件是一个可以直观显示项目进度和管理项目资源的软件。下面创建一个本例的初期进度安排表。(1)打开Project,选择“文件|新建”菜单命令,出现窗口如图2-1所示。默认情况下开打4个区域:视图、任务定义、任务列表、图形任务显示。一般,所有的任务都在任务列表区完成,图形任务显示区只用于显示,不能修改。图2-1 Project的工作界面(2)新建一个任务,双击任务列表区的第一行,出现对话框,如图2-2所示。这里有6个选项卡
14、:常规、前置任务、资源、高级、备注、自定义域,通常情况下只设置前4个即可。常规选项卡中要求写明任务的名称,工期长短,开始日期和结束日期;前置任务选项卡中要求写明必须完成什么任务后才可以进行此项任务;资源选项卡中写明此项任务需要的资源,包括人员、设备等。高级选项卡一般指明此任务的一些限制。图2-2 任务信息图(3)填写任务名称和任务所需资源后,就粗略完成了一项任务,如图2-3所示。图2-3 填写好任务的工作界面2.1.2 使用不同的图表显示项目进度为了更加直观地显示任务安排,Project提供了多种图形供选择。有甘特图、跟踪甘特图、日历图、网格图等,默认的图形是甘特图。下面分别介绍各种图形的显示
15、方式。在“视图栏”中有一些变换图形显示的快捷按钮。(1)单击“日历”按钮,界面变化为如图2-4所示的效果。这主要是以日历的形式展现每个任务以及任务的工期。图2-4 日历式显示任务(2)单击“网格”按钮,以分段的形式展示任务列表,如图2-5所示。这样更直观地显示了有多少任务以及任务的安排时间图2-5 网络式显示任务(3)单击“跟踪甘特图”按钮,以进度比例的方式显示每个任务,如图2-6所示。这个图和甘特图是十分相似的,只是有个进度跟踪显示,其他没什么区别。图2-6 跟踪甘特图式显示任务每种图都从不同的角度显示了进度安排情况,但只有甘特图的方式可以清晰地显示任务的前置关系(必须完成的前提任务)、任务
16、的进度等。其他几种图只是比较简单直观的显示任务名称及任务的时间安排。2.2 实现此项目需要的资源一个项目,必须包括人员和设备。在项目进度表中所说的资源,就是完成该项目需要的人员和设备。每个阶段分配不同的资源,什么职责该干什么,用多长时间,就是一个项目安排进度的过程。(1)单击“视图栏|资源工作表”列表按钮,显示如图2-7所示界面图2-7 资源工作表(2)添加资源的操作方式与添加任务是相同的,双击表格第一行,出现对话框,如图2-8所示。资源信息分5项:常规、工作时间、成本、备注和自定义区域。常规选项卡中主要说明资源的名称、类型等,一般写人名。工作时间选项卡定义工作日和非工作日以及工作日中几点到几
17、点属于工作时间。成本选项卡设置某资源1小时的费用,通常用来作成本控制。一般小型软件不需要设定。图2-8 资源属性信息(3)根据情况填写资源信息,项目组的人员名称,笔记本等设备名称。人员的类型是“工时”,设备的类型一般选择“材料”。(4)单击“甘特图”界面转换到任务列表。(5)双击要分配资源的任务,打开任务信息,选中“资源”选项卡,此时就可以在资源名称处选择此任务需要的资源。如图2-9所示。图2-9 资源选项卡的内容(6)给所有的任务分配好资源后,可以通过“任务分配情况”和“资源使用情况”来查看和调节每项任务的资源。除了可以用以上方式添加资源外,Project提供了更简便的方式:资源可以从公司的
18、电子通讯簿导入。安排好任务和资源后,其实就完成了一个项目进度安排表。因为Project是一个比较简单的工具,十分容易上手,真正功能完善的进度表还得在实践中不断地探索。2.3 如何写好项目计划安排表项目计划不仅仅安排工作日期,还代表了很多在软件开发过程中的关键因素,比如成本、资源等。项目计划主要内容包含以下内容。(1)估计任务工期。根据资源的安排情况和任务的多少以及任务的完成期限可以估算出整个项目的工期。(2)分阶段地明确项目的进度。可以将任务标记为里程碑,在甘特图中就能很明显地看到所分的阶段以及每个阶段的任务。(3)考虑管理成本。在资源中可以设置每项资源的工时费,Project会根据任务中此项
19、资源的使用情况自动核算此项资源在整个项目中占多大成本。(4)优化项目计划,控制项目风险,满足预算要求,保证完成日期。通过以上几点分析,可以看到项目计划既是给管理层人员的一份报告,又是控制项目小组成员进度的一份跟踪表,起到了承上启下的作用。知道了项目计划可以为系统做什么,那么该如何做好呢?这应该全面考虑本项目的各个方面。(1)是否考虑成本预算问题。如果考虑,则在人员和设备的选择上要精确计算。(2)此项目是否与其他项目有关联。如果有,那需要判断是否有相冲突的资源,是否可以共享其他的资源以节约时间。(3)要及时记录任务进度,尤其是在开发一个有前置任务的资源时。(4)各阶段的里程碑要设置明确,而且要恰
20、到好处。例如分析是一个阶段,开发是一个阶段,测试是一个阶段,这样看起来层次分明,对各阶段的资源也有个详细的划分。(5)任务列表不要一个层级往下走,要精确划分,每个任务都不能包括太多的功能,有层次的显示任务,让其他成员能一目了然。2.4 前期的项目计划表由于在做项目进度安排时,并不知道详细的软件模块,只知道具体需要哪些功能,所以初期无法详细地描述开发进度,而只是给出一个开发的时间段,由分析人员做完具体的模块划分后,再在项目计划安排表中予以补充。下面是学生信息管理系统前期的项目进度表。如图2-10所示。图2-10 前期计划表在这里,大的任务主要有6个。(1)需求分析:分解需求,画出用例图,分出类模
21、块。(2)模块划分:将分析出的类分配给不同资源(3)开发:进入编写代码阶段,并要求开发人员自己进行初步测试。(4)测试:测试人员分两步完成测试。单元测试并不要求所有模块都完成,而集成测试则是所有模块完成后统一进行的测试。(5)部署:将开发完成的代码部署到服务器或互联网中。(6)材料准备:相关资料以及帮助性的说明文档。在甘特图中,菱形黑点标示里程碑,此进度表分了3个里程碑。(1)模块划分完毕(2)开发完毕(3)测试完毕从甘特图中可以很明显的看出任务的资源、任务的进度以及某项任务的前置任务,如此直观的图例方便了管理人员的监督和开发人员的计划安排。越详细的项目计划表就越能说明整个软件系统开发流程及资
22、源利用率,所以在实际应用中应尽可能详细地描述各个任务及任务的辅助信息。课题三 概要设计概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。项目的成功取决于设计的好坏,而概要设计则是整个设计的关键部分。概要设计的主要任务是将用户的需求划分为不同的功能,然后将这些功能细分成模块,并给模块一些规则约束,以达到各个模块之间可以相互交流的目的。概要设计关乎到系统的整体架构,因此想做好一个概要设计,不仅仅要熟悉用户的业务流程,还要具备相当丰富的设计经验。3.1 概要设计的原则概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几
23、个原则。(1)细分原则:软件系统都是由很多不同的模块组成,当设计一套软件时,要先将所有的功能分解。解决复杂问题的方法是将其分解成几个小问题,一个个来解决。(2)提高代码重用性:在面向对象设计中,首先考虑的就是代码的重用,一个好的设计,将来在升级换代时不需要太大的改动,节省了人力物力。(3)从上而下层层分析:概要设计要从整体出发,逐个剖析软件的功能,从上而下,先分析系统总的功能,然后一步步细分,直到最小的功能模块。(4)一致性原则:概要设计要求所有功能模块在定义时使用统一的规范。(5)提高独立性,减少耦合:各个模块与模块之间尽量减少关联,否则修改一个地方就会引起其他多处的变动,不符合面向对象的原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 实战 学生 管理 系统 java 120
限制150内