面向对象程序设计------学生选课系统(SRS)项目设计书

面向对象程序设计------学生选课系统(SRS)项目设计书
面向对象程序设计------学生选课系统(SRS)项目设计书

面向对象程序设计

------学生选课系统(SRS)项目设计书

一:项目介绍 (3)

二:需求说明 (3)

1 系统简要分析 (3)

2 应用需求分析 (3)

3 场景说明 (5)

场景1:“选修一门课程” (5)

场景2:“选修一门课程2” (5)

场景3:“退选一门课程” (5)

三:软件设计文档: (6)

1.学生选课系统(SRS)UML图: (6)

2.场景1的界面 (6)

3.场景1的协作图: (7)

4场景1的时序图: (7)

5.调和测试 (7)

四、核心代码 (8)

1.Person类: (8)

2.Student类: (8)

3.Professoer类: (10)

4.Course类: (10)

5.Section类: (11)

6. ScheduleOfClasses类: (12)

7. TranscriptEntry类: (12)

五、心得和体会 (14)

一:项目介绍

项目名称:学生选课系统(SRS)

项目大致的功能和性能要求:

该系统让学生能够在线为每学期选择课程,还要能跟踪完成学位要求的过程。当一个学生考入该大学时,他/她使用SRS制定一个学习计划,其中的课程要满足特定的学位计划,然后选定自己的导师。SRS将检验该计划是否能满足该学生获得特定学位的需要。

确定了学习计划后,在每个学期前的注册期限内,学生可以在线查看课程时间表,选择自己想听的课程。如果该课程有多位教授同时指导,还要指明希望听课的时段(周几,何时)。SRS将检验该生是否满足选中课程的选课先决条件,方法是查阅该生的在线成绩单和学位记录(学生可以随时在线查看自己的成绩单)。

假定(a)选定课程的先决条件得到满足,(b)课程满足学生的学习计划,和(c)选定课程尚有名额空余,则学生将选中该课程。

如果条件(a)和(b)得到满足,条件(c)未得到满足,则学生被放入一个“先到先得”对列中。如果出现名额空余(原因可能时有学生放弃选修,或课程选修名额增加),则该生自动选修该课程,同时系统会向该生发送一封电子邮件通知,此时如果打算不再继续选秀这门课,学生应该退选该课程;否则,就得为选修该课程付费。

退选课程可以在该门课程开学后一周之内进行。

二:需求说明

1 系统简要分析

管理员可以通过超级用户身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行管理。管理员可以对老师及同学的帐户进行管理,老师、学生不同身份的用户进入不同的界面,进行不同的操作。教师可以发布自己本学期所要教的课程,以及对学生成绩进行管理。同学可以通过查询本学期所开设课程进行选择。

2 应用需求分析

学生选课系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。学生的需求是查询院系的课程、学生选课情况及学生信息的修改;教师对选课系统学生选课情况进行操作,同时形成学生选课查看确认;选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。学生可以直接查看选课情况,学生可以根据本人学号和密

码登录系统,还可以进行本人学科成绩情况的查询和维护部分个人信息。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。

学校工作人员有修改学生选课的权限,所以需对工作人员登陆本模块进行更多的考虑。在此系统中,学校工作人员可以为学生加入选课或是登陆记录,并打印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对选课信息、教师信息、总体选课情况信息的查询和统计、工作人员和管理人员信息查看及维护。学校管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和修改学生选课的基本信息,浏览、查询、统计学生信息,但不能添加删除和修改学生的信息,这部分功能应该由院系工作人员执行,但是,删除某条学生选课基本信息记录时,应实现对该学生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。设计不同用户的操作权限和登陆方法对所有用户开放的学生选课查询和个人部分信息维护查看个人情况信息维护学生个人密码根据选课情况对数据库进行操作并生成报表根据选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信息维护工作人员和管理员信息维护学生信息处理信息的完整性。

本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、上课地点、已选人数、课程性质、开课系、课程人数;系信息管理有系号和系名。

(1)学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调用相应的选课模块。其中学生登录模块的功能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。

(2)教师信息模块完成教师的登陆,然后根据各位教师所在的系不同,教师所教的课程不同,调用所选的课程.其中教师登陆模块的功能是验证登录人员确实是本院的教师,教师启动本系统后,系统提示输入教师工号和密码,验证后进入主控操作界面。

(3)课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程的选课否则不能进入选课系统.

(4)系信息管理中学生必需选重所在的系号和系名才能进行选课,否则并不能进行选课.

3 场景说明

场景1:“选修一门课程”

一个名为Fred的学生成功选修了一门课程,事件顺序如下:

1. Fred,一名学生,登入SRS

2. 他查看本学期的课程表,决定要选修的课程。

3. Fred申请课程“对象入门”的选修资格,课程代码是OBJ101.

4. 系统检查Fred的学习计划,确保申请的课程符合他的学位目标(假设

学生不允许参加学习计划之外的课程)。

5. 系统检查他的成绩单,确保他已经修完了先修课程——如果存在的话。

6. 确认该门课程有空余选修名额。

7. 这门课程被添加到Fred的课程列表中。

从Fred的角度看来,他希望发生这些事情:在登录进入SRS后,从可选课程列表中选择课程OBJ101然后点击“添加”按钮。

场景2:“选修一门课程2”

1. Fred,一名学生,登入SRS

2. 他查看本学期的课程表,决定要选修的课程。

3. Fred申请课程“对象入门”的选修资格,课程代码是OBJ101.

4. 系统检查Fred的学习计划,确保申请的课程符合他的学位目标(假设学生不允许参加学习计划之外的课程)。

5. 系统检查他的成绩单,检查他没有修完了先修课程,他不能选修该课程。场景3:“退选一门课程”

1. Fred,一名学生,登入SRS

2. 他查看本学期的课程表,决定要退选的课程。

3. Fred 退选课程“对象入门”的选修资格,课程代码是OBJ101.

4. 从可选课程列表中选择课程OBJ101然后点击“drop”按钮。

三:软件设计文档:

1.学生选课系统(SRS)UML图:

2.场景1的界面

3.场景1的协作图:

4场景1的时序图:

5.调和测试

在这一节中,我们主要讨论了两个问题,一个是系统的项目文档,另一个是系统的测试,下面我们分别加以说明。作为一个完整的系统,项目文档是其中不可缺少的部分也是相当重要的部分。好的文档能够使用户快速了解并准确的使用系统的各项功能。减少误操作,减少错误产生的可能,这对用户和开发人员都有

很多的好处。查看问题描述的执行概要;类图;

数据字典;用例文档;重要场景和对应的消息追溯图。由于本身能力的局限性,所以做编写的代码,即使经过反复检查也难免出错所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。

四、核心代码

操作概念文档我们创建的SRS有以下功能:

1,当GUI开始运行,本学期课程表上可用的课程将会被显示.

2,在一个学生使用SRS GUI前,他必须登录。登录的动作是填写学号。

3,如果学生已经登录,将显示学生的姓名和选修的课程(也就是学生目前的课程表)。

4,在登录后,SRS GUI应该允许学生做以下动作:

从课程表中选择一门课程添加到他的课程表中

从课程表中删除一门课程

保存目前的课表到一个文件

从系统注销

基于SRS需求规格说明书的类列表

四、核心代码

1.Person类:

(1)Person类的字段:

public abstract class Person

{

private string name;

private string ssn;

}

(2)Person类的构造器;

public Person(string name, string ssn)

{

https://www.360docs.net/doc/5e18003536.html, = name;

this.Ssn = ssn;

}

(3)Person的Tostring()方法:

public abstract override string ToString();

(4)Person类的Display()方法:

public virtual void Display()

{

Console.WriteLine("Person Information:");

Console.WriteLine("\tName:" + https://www.360docs.net/doc/5e18003536.html,);

Console.WriteLine("\tSoc.Security No.:" + this.Ssn);

}

2.Student类:

(1)Student类继承自Person类:

public class Student : Person {}

(2)Student类的字段:

private string major;

private string degree;

private Transcript transcript;

private ArrayList attends;

private string password;

(3)Student类的构造器

public Student(string name,string Ssn,string major,string degree):base(name,ssn)

{

this.Major = major;

this.Degree = degree;

this .Tanscript=new Tanscript(this);

attends=new ArrayList();

}

(4)Student的Property:

public string Major {

get {

return major;

}

set {

major = value;

}

}

public string Degree {

get {

return degree;

}

set {

degree = value;

}

}

public Transcript Transcript {

get {

return transcript;

}

set {

transcript = value;

}

}

public string Password {

get {

return password;

}

set {

password = value;

}

}

(5)Display方法:

public override void Display()

{

base.Display();

Console.WriteLine("Student-Specific Information:");

Console.WriteLine("\tMajor: "+this.Major);

Console.WriteLine("\tDegree: "+this.Degree);

DisplayCourseSchedule();

PrintTranscript();

}

(6)AddSection方法:

public void AddSection(Section s) {

attends.Add(s);

}

(7) DropSection方法:

public void DropSection(Section s) {

attends.Remove(s);

}

3.Professoer类:

(1)Professor类的字段:

private string title;

private string department;

private ArrayList teaches;

(2)AgreeToTeach()方法:

public void AgreeToTeach(Section s)

{

teaches.Add(s);

s.Instructor = this;

}

4.Course类:

(1)Course类的字段:

private string courseNo;

private string courseName;

private double credits;

private ArrayList offeredAsSection;

private ArrayList prerequisites;

(2)Course类的方法:

public void AddPrerequisite(Course c)

{

prerequisites.Add(c);

}

(3)HasPrerequisites方法:

public bool HasPrerequisites() {

if ( prerequisites.Count > 0 ) {

return true;

}

else {

return false;

}

}

(4) GetPrerequisites()方法:

public IEnumerator GetPrerequisites() {

return prerequisites.GetEnumerator();

}

5.Section类:

(1)Section类的字段:

private int sectionNo;

private char dayOfWeek;

private string timeOfDay;

private string room;

private int seatingCapacity;

private Course representedCourse;

private ScheduleOfClasses offeredIn;

private Professor instructor;

(2)Enroll()方法:

public int Enroll(Student s)

{

Transcript transcript = s.Transcript;

if (s.IsEnrolledIn(this) ||

s.IsCurrentlyEnrolledInSimilar(this) ||

transcript.VerifyCompletion(this.RepresentedCourse)) {

return PREVIOUSLY_ENROLLED;

}

Course c = this.RepresentedCourse;

if (c.HasPrerequisites()) {

IEnumerator e = c.GetPrerequisites();

while ( e.MoveNext() ) {

Course pre = (Course)e.Current;

if (!transcript.VerifyCompletion(pre)) {

return PREREQ_NOT_SATISFIED;

}

}

}

if (!ConfirmSeatAvailability()) {

return SECTION_FULL;

}

if ( !enrolledStudents.ContainsKey(s.Ssn) ) {

enrolledStudents.Add(s.Ssn, s);

}

s.AddSection(this);

return SUCCESSFULLY_ENROLLED;

}

6. ScheduleOfClasses类:

(1) ScheduleOfClasses的字段:

private string semester;

private Hashtable sectionsOffered;

(2)AddSection()方法:

public void AddSection(Section s) {

string key = s.RepresentedCourse.CourseNo+ " - "+s.SectionNo; sectionsOffered.Add(key, s);

s.OfferedIn = this;

}

7. TranscriptEntry类:

(1)TranscriptEntry的字段:

private string grade;

private Student student;

private Section section;

private Transcript transcript;

(2) ValidateGrade()方法:

public static bool ValidateGrade(string grade) {

bool outcome = false;

if (grade.Equals("F") || grade.Equals("I")) {

outcome = true;

}

if (grade.StartsWith("A") || grade.StartsWith("B") ||

grade.StartsWith("C") || grade.StartsWith("D")) { if (grade.Length == 1) {

outcome = true;

}

else {

if (grade.Length > 2) {

outcome = false;

}

else {

if (grade.EndsWith("+") || grade.EndsWith("-")) {

outcome = true;

}

else {

outcome = false;

}

}

}

}

return outcome;

}

8. Transcript类:

(1)Transcript的字段:

private ArrayList transcriptEntries;

private Student studentOwner;

(2) VerifyCompletion()方法:

public bool VerifyCompletion(Course c) {

bool outcome = false;

for (int i=0; i

TranscriptEntry te = (TranscriptEntry)transcriptEntries[i]; Section s = te.Section;

if ( s.IsSectionOf(c) ) {

if ( TranscriptEntry.PassingGrade(te.Grade) ) {

outcome = true;

break;

}

}

}

return outcome;

}

五、心得与体会

通过这几周SRS项目设计,我对面向对象程序设计语言C#和SRS管理系统有了一定的了解,在一定程度上扩展了我的视野,丰富了我的知识,同时也使我学会了如何使用所学的知识去解决一些实际的问题。

不过在设计的过程中,我发现自己掌握的知识不够系统,理论知识也不够强化,在将理论投入到实践中时总是出现一些小问题。有时候通过别人的指点会突然间恍然大悟,所以我觉得自己对知识的理解和熟练程度不够。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。

团结就是力量,一个项目设计的完成包含着很多人辛勤的汗水。在和别人合作过程中,我学会了耐心的听取别人的意见,并与别人和睦相处。我相信只有通过合作,才能充分发挥自己的优点,有团队精神才能使自己更出色。这次设计为我以后的工作道路奠定了一定的基础。

基于jsp(java)学生选课系统的设计和开发

基于jsp学生选课系统的设计 姓名 系别、专业 导师姓名、职称 完成时间

基于JSP的学生选课系统 张三 内容摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 关键词:选课、课程信息发布、B/S、JSP

目录 第一章引言 第二章相关技术介绍 第一节Java技术 (2) 第二节Servlet技术 (3) 第三节Jsp技术 (4) 第四节开发软件介绍 (5) 4.1 eclipse平台 (5) 4.2 Tomcat服务器 (6) 4.3 SQL server 2000 (6) 第三章系统分析 第一节系统功能模块划分 (8) 第二节系统功能类别划分 (8) 第三节系统维护 (9) 3.1 课程基本资料维护 (9) 3.2 系部维护 (10) 3.3 管理员维护 (10) 第四节学生选课 (10) 4.1 课程预览 (10) 4.2 选课 (10) 4.3 退课 (11) 4.4 修改密码 (11) 第五节教师课程查询 (12) 5.1 查询课程情况 (12) 5.2 修改密码 (12) 第四章系统功能设计 第一节系统功能设计图 (13) 第二节数据库设计 (13) 第三节页面及功能设计 (14) 第五章总结

选课系统的设计与实现

防灾科技学院 实习报告书 防灾科技学院灾害信息工程系 2015年制

实习所用软件简介: 系统的搭建平台选用的操作系统是Windows XP:Microsoft Windows XP是微软公司推出供个人电脑使用的操作系统,包括商用及家用的台式电脑等。2011年9月底前,Windows XP是世界上使用人数最多的操作系统,它的全球市场占有率达42%。2012年8月份,统治操作系统市场长达11年之久的Windows XP最终被Windows 7超越。 基于数据库的选课系统的数据管理所选得软件是SQL Server2008:SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。SQL Server 2008 允许使用Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。 基于https://www.360docs.net/doc/5e18003536.html,的选课系统开发所选的开发工具 Visual Studio 2010:Microsoft Visual Studio 2010 是微软的一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,都能针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。 基于系统的建模选择的画图软件viso:Office Visio 2007 是一款便于IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Office Visio 2007 图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。Visio帮助创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。使用 Visio 时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。

学生选课系统

管理信息系统课程设计报告 学生选课系统 班级: 学号: 姓名: 指导教师: 2014年12月20日

目录第一章:现行系统概述 第二章:系统分析 2.1需求分析 2.2可行性研究 2.3信息系统规划 2.4系统的开发方法的选择 2.5组织结构与功能分析 2.6业务流程分析 2.7数据与数据流程分析 2.8功能/数据分析 2.9新系统逻辑方案的建立 第三章系统设计 3.1系统总体结构设计 3.2数据结构与数据库设计 3.3代码设计 3.4输入/输出设计 3.5模块功能与处理过程设计 第四章系统实施 4.1系统实施 4.2系统运行调试

第五章:结束语(结论、建议、收获、体会及小组中每个成员的工作内容) 参考文献

第一章现行系统概述 本科生选课系统是个很庞大的信息系统。目前随着学校人数和课程的激增,对教务处而言,管理和维护选课系统关系到自身的效率,选课系统的繁杂,在一定程度上会相对的增加教务处的管理负担。对学生而言,在选课阶段必须面对大量课程进行仔细筛选,而所有课程聚在一起,学生无法快速定位自己想选以及在规定时间内被要求选的课程类别。 这些问题的出现表明我们的选课系统仍然存在着问题,也需要对其进行改造,由此提高学生选课效率,为学生的学习带来更大的便利。学生选课系统作为一种现代化的教学技术,越来越受到人们重视,是一个学校不可或缺的部分。学生选课系统就是为了管理好选课信息而设计的。学生选课系统将是选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确,及时,有效的查询和修改学生选课情况。

第二章系统分析 2.1需求分析 学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。管理员可以指定每门课程的任课教师,修改课程信息,增加、修改、删除学生信息。分析一:系统应该满足以下几个方面需求: (1)某些选修课程因为前序课程或者教学管理资源的限制,要求系统能对课程选修人数、选修学生年级、专业等进行限制。 (2)选课过程需具有时效性,系统要能在短时间内响应大量学生的查询和选课要求,並及时处理。 (3)教务部门能及时掌握课程选修情况,系统界面直观,操作简单,学生不需经任何培训即可操作。 (4)系统要提供数据输出接口以供教务员作后期处理及保存。包括作为以后查询和评估使用的资料。 分析二:系统要实现的功能分为二大模块: 管理员模块: (1)负责统一管理,包括课程的查询、添加、修改和删除; (2)限制选修条件的管理,包括条件的添加、修改和删除; (3)统一管理用户,包括管理员和学生用户的管理; (4)系统公告的管理; (5)数据的管理和数据导出;

C++程序设计学生选课系统设计

EAST CHINA INSTITUTE OF TECHNOLOGY 课程设计报告课程设计题目:学生选课系统 学号1021113423 姓名彭楚涵 专业软件工程(国际教育) 班级10211134 指导教师王志波 2011 年12 月1 日

第一章:面向对象程序设计课程设计目的 (2) 第一章:算法分析 (3) 第三章:结束语 (8) 附:源代码 (9)

第一章:面向对象程序设计课程设计目的 本课程设计是在学习面向对象基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼: 1 ?能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。 2 ?提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。

第二章:算法分析课程设计标题:学生选课系统 要求:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10) 自由选课。试设计一选修课程系统,使之能提供以下功能:1?系统以菜单方式工作;2. 课程信息录入功能(课程信息用文件保存);3?课程信息浏览功能;4?查询功能(至少一种查询方式:按学分查询、按课程性质查询);5?学生选修课程。 应用程序功能的详细说明: 1. 首先根据设计要求,我定义了三个类:Class类,Control类,Menu类。Class类用 来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘初输入的信息并执行。 2. 对Class类的定义,首先我定义了一系列的设置相关课程信息的公有函数,用来将 输入的内容传给私有函数,还定义了一些常函数,旨在于防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在0~10之间。 3. 对Menu类的定义,我定义了一个获取键盘输入的函数getlnput(),用于获取数据, 并且还定义了界面友好的显示目录函数,使得用户进行操作更加方便,以及定义了一系列的显示提示信息函数,之所以将这些函数独立分开,是为了在今后的修改中更加清楚。 4. 对Control类的定义,因为其目的是用于判断并实现用户所要执行的操作,是学生 系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个按键,然后执行对应的操作,在文件录入这一方面,我定义了一个initlalization()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave保存到程序的当前目录下。 5. 最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass, 再通过controlClass.start()启动整个程序。

学生选课系统设计报告

大理学院数学与计算机学院《数据库系统设计》课程设计报告 班级:2012级计算机科学与技术1班 学号:201211514 姓名:刘秀珍 系统名称:学生选课系统 总分:

实验报告内容及撰写要求: 一、需求分析 程序的主要功能描述,可以用文字、框图、用例等方式。 参考《数据库系统设计任务书》附录中的内容来进行设计报告的撰写。 主要应当包含分析的过程及分析后得到的数据流图和数据字典。 二、数据库设计 2.1 数据库概念设计 实体关系模型设计,创建分ER图和总体ER图,并描述总体E-R图合并时的问题解决。 2.2数据库的逻辑设计 根据概念设计结果,创建数据库的逻辑模型,建立在具体DBMS下(SQL SERVER 2005)的表结构,并根据规范化理论对表结构进行优化调整。 同时,根据应用需求,创建数据库系统所需的外模式(视图)、模式和内模式(索引)等,此外,应当根据需求,建立数据完整性约束(实体完整性,参照完整性和用户自定义完整性)。 三、系统实现 3.1 数据库访问 1)数据访问类及实现代码 2)SQL语句 3.2 业务逻辑层类及代码 描述业务流程、数据处理功能的模块代码 3.3表示层的实现 可以用界面截图及其实现类及核心代码描述

四、总结

一、需求分析 1.1背景 全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。 网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个学生选课系统以供参考。 1.2系统设计要求: 设计出一个学生选课数据库系统的简要要求如下: 1)设计要求 ①建立相应的数据库及相关的表、属性、约束、规则、默认等; ②输入相应的记录(每个表不少于20条记录); ③编写进行数据管理的存储过程。 2)系统用户由系统管理员、学生用户和教师用户三类组成。 (1)系统管理员的主要功能: ①用户管理(对教师、学生信息的管理和维护); ②课程管理(对课程信息的管理和维护); ③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。

学生选课管理系统

学生选课管理系统 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #include #include #include #include //定义学生对象类型 typedef struct node { char Sno[10]; //学号 char Sname[10]; //姓名 char Ssex[3]; //性别 char Sage[3]; //年龄 char Sdept[4]; //所在系 struct node *next; }Student; //定义课程对象类型 typedef struct node2 { char Cno[10]; //课程号 char Cname[10]; //课程名 char Cpno[5]; //先行课 char Ccredit[3]; //学分 struct node2 *next; }Course; //定义选课对象类型 typedef struct node3 { char Sno[10]; char Cno[10]; int Grade; struct node3 *next; }SC; //初始化学生信息表

void InitlistA(Student *stu) { stu->next=NULL; } //初始化课程信息表 void InitlistB(Course *C) { C->next=NULL; } //初始化选课信息表 void InitlistC(SC *S) { S->next=NULL; } //求选课表的深度 int Getlength(SC *S) { int i=0; SC *p; p=S->next; while(p!=NULL) { p=p->next; i ; } return(i); } //用户输入数据建立学生信息表(尾插法) void CreatelistA(Student *stu) { Student *s,*r; int m,i;

C#课程设计学生选课系统论文.

摘要 (1) Abstract (2) 1 绪论 (3) 1.1课题背景 (3) 1.2系统设计目的与意义 (3) 2系统相关技术介绍 (4) 2.1 C#技术简介 (4) 2.2 SQL技术 (5) 2.2.1 数据库的基本概念 (5) 2.2.2 本系统中数据库的访问 (5) 3 系统分析 (6) 3.1 需求分析 (6) 3.1.1可行性分析 (6) 3.1.2 系统性能需求 (7) 3.2 系统流程图设计 (8) 3.3数据存储分析:实体联系图(E-R) (9) 4 系统总体设计 (11) 4.1 系统总体功能层次图 (11) 4.2 系统功能模块设计 (11) 4.3 数据库设计 (12) 4.4 部分源代码的设计 (13) 5 系统的具体实现及测试 (24) 5.1 登录界面 (24) 5.2 教师查询界面 (25) 5.3 学生选课界面 (25) 5.4 学生浏览、修改界面 (26) 总结 (27) 致谢 (28) 参考文献 (29)

摘要 随着在校大学生的不断增加,学生选课也成为学校对学生管理中不可缺少的一部分。以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、保密差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。随着科学技术的不断提高,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,实用技术绝对选课信息进行管理,具有手工管理所无法比拟的优点。 本文着重讨论了用https://www.360docs.net/doc/5e18003536.html,技术和SQLServer2005开发选课系统的数据库的访问技术,并给出了一些可以实现的核心代码。通过该系统,使学生可以很方便的在校园网上进行网上选课。该系统使用C#作为https://www.360docs.net/doc/5e18003536.html,的开发语言,SQLServer2005作为数据库,系统有较高的安全性和较好的性能。 关键词:学生选课、C#、https://www.360docs.net/doc/5e18003536.html,、SQLServer2005

学生选课系统(详细设计说明书)

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2程序系统的结构 (2) 3程序1 (标识符)设计说明 (3) 3.1程序描述 (12) 3.2功能 (12) 3.3性能 (12) 3.4输人项 (113) 3.5输出项 (113) 3.6 算法 (113) 3.7流程逻辑 (113) 3.8 接口 (113) 3.9存储分配 (13) 3.10注释设计 (13) 3.11限制条件 (13) 3.12测试计划 (13) 3.13尚未解决的问题 (114) 4程序2 (标识符)设计说明 (114)

详细设计说明书 1引言 1.1编写目的 为了更好的描述软件结构以及系统各组成成分之间的相互关系,因此撰写详细设计说明书。 1.2背景 a?待开发的软件系统的名称:大连交通大学学生选课系统; b ?本系统主要为方便广大学选课,避免选课高峰期选不上等问题; c.本系统的受益人为:老师、学生和系统管理人员。 1.3定义 详见概要设计说明书。 1.4参考资料 【1】张海藩,软件工程导论【M】北京:清华大学出版社2008年2月第五版 【2】王珊、萨师煊,数据库系统概论【M】北京:高等教育出版社2006年5 月第四版2程序系统的结构 该详细设计只针对学生信息管理中的信息查询和信息维护两个子功能作说明, 其程序流程图如下:

图4-2学生信息管理模块程序流程图 结束 图4-1学生信息查询模块程序流程图 Y

3程序1 (标识符)设计说明 #in clude #in clude int N1,N2,kk1,kk2,kk3; struct couse * headl; struct stude nt * head2; struct couse//课程信息结构体 { int nu ml; char name1[20]; int score; int n elepeo;//课程已选人数 int Melepeo;//课程人数上限 struct couse * n ext; }; struct stude nt//学生信息结构体 { int nu m2; char name2[20]; int nelenum[50];〃已选课程编号 int nelen;〃已选课程数量 struct stude nt * n ext; }; void Ms() { for(kk1=0;kk1<1100;kk1++) for(kk2=0;kk2<1200;kk2++) for(kk3=0;kk3<1200;kk3++); } void keyboardc()〃录入课程子函数(从键盘录入) { struct couse *p1,*p2; 2= 0; p1=p2=(struct couse*)malloc(sizeof(struct couse)); printf("课程编号\t课程名称\t学分\t课程人数上限\n"); scan f("%d%s%d%d",&p1-> num1,p1-> name1, &p1->score,&p1->Melepeo); p1- >n elepeo=0; head 仁NULL; while(p1-> nu m1!=0) { 2= N1+1; if(N1==1)head 1= p1;

学生选课系统详细设计说明书

学生选课系统详细设计说明书

一、编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架 构,主要包括系统的模块划分、程序系统的结构、各个 模块的流程以及各层次中每个程序的设计考虑。 二、背景 软件系统名称:学生选课系统 软件实现计算机:LENOVO 三、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括 学生、教师等)进行管理,包括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包 括授课教师、开课时间设定),同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对 系统公告进行更改或者系统标题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员 可设定不同人员对不同模块的访问权限,允许或者拒绝不同用户对模块的增删查改操作。 四、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己的注册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态下实现的。学生查询对于教师来说非常实用,如果教师想要某个学生的基本信息,只要登录查询就可以找到目标学生,此模块目的在于让老师更方便的掌握学生的基本信息以备不时之需,用以师生交流上非常方

学生选课管理系统需求规格说明书

学生选课系统需求规格说明书

目录 0. 文档介绍 (4) 0.1文档目的 (4) 0.2文档范围 (4) 0.3读者对象 (4) 0.4参考文档 (4) 1.产品介绍 (5) 2.产品面向的用户群体 (6) 3. 产品应当遵循的标准或规范 (7) 4.产品范围 (7) 5. 产品中的角色 (7) 6. 产品的功能性需求 (8) 6.0功能性需求分类 (8) 6.1后台管理功能需求 (8) 6.1.1管理员信息管理 (8) 6.1.2教师信息管理 (10) 6.1.3学生信息管理 (11) 6.1.4课程信息管理 (12) 6.1.5排课管理 (13) 6.1.6教室信息管理 (14) 6.2前台管理功能需求 (15) 6.2.1学生选课 (15) 6.2.2撰写教师反馈 (16) 6.2.3个人信息管理 (17) 6.2.4用户登录 (19) 7. 产品的非功能性需求 (20) 7.1用户界面需求 (20) 7.2软硬件环境需求 (20) 7.3产品质量需求 (20) 7.4其他需求 (21) 附录A:需求建模与分析报告 (22) A.1学生选课系统业务流程图 (22) A.1.1系统总体业务流程分析 (22) A.1.2学生管理业务流程图分析 (23)

A.1.3教师管理业务流程图分析 (24) A.1.4选课/退课子系统业务流程图分析 (25) A.1.5教师反馈子系统业务流程图分析 (26) A.1.6管理员管理业务流程图分析 (26) A.1.7管理员排课业务流程图: (27) A.1.8管理员退课业务流程图: (28) A.2学生选课管理系统数据流程图 (29) A.2.1顶层数据流程图 (30) A.2.2 O层数据流程图 (30) A.2.3后台管理数据流程图 (31) A2.4 前台管理数据流程图 (36) 附录B:需求确认....................................................................................... 错误!未定义书签。

学生选课管理系统 概要设计

软件工程实验报告 班级:学号:姓名: 实验二:概要设计和详细设计 学生选课管理系统设计说明书 一、实验内容 1.引言 1.1编写目的 设计说明书的书写,主要是明确系统的功能和算法,把总任务分解成多个基本的、具体的任务。将系统分成若干个模块,确定各个功能模块的具体用途总体设计是系统开发过程中关键的一步。系统的质量及一些整体特性基本上是由这一步决定的。系统越大,总体设计的影响越大。项目开发的专业人员需要了解系统的总体概要设计,并以次为行动指南,开展下一个阶段的具体工作。 读者对象:项目分析和开发人员。 1.2项目背景 学校是一个与学生信息安全密切的重要机构,在高度信息化的今天,学生对学校管理的要求也越来越高。为了方便学生查询自己的选课信息,也为了学校更好的了解学生选课信息,学校需要一个学生选课信息管理系统。 系统的名称为:学生选课管理系统。 项目的开发提出者:学校。 软件的用户为:学校的学生、教师和管理员。 1.3 定义 本学生选课管理系统在开发时注意到使用专业术语会对今后的系统使用者造成不便,故所有相关词汇使用了简洁并通俗易懂的词汇,系统使用者不会出现对此系统词汇看不懂的问题,故而在此对系统及文件使用词汇不做定义。 2.任务概述 2.1目标 明确学生选课管理系统各个模块的需求和功能。 2.2运行环境 操作系统:windows2000以上版本。 2.3需求概述

学生选课管理系统的主要功能主要功能是实现对学生信息和教师信息的管理,以及学生成绩的管理。因此,该系统需要具备的具体功能如下: 学生页面操作:包括个人信息,密码修改,查询成绩,选课,退选五个功能; 教师页面操作:包括个人信息,密码修改,修改其所授科目的学生成绩; 管理员页面操作:包含学生信息管理(增加、修改、删除、查询); 教师信息管理(增加、修改、删除、查询); 课程信息管理(增加、修改、删除、查询); 成绩管理(查询、录入、修改); 3.总体设计 3.1处理流程 系统基本流程: 学生用户登录——>主界面——>选择各项子系统 教师用户登录——>主界面——>选择各项子系统 管理员登录——>主界面——>选择各项子系统 3.2总体结构和模块外部结构 本选课系统主要是由学生管理、教师管理和管理员管理三个部分构成。其中学生管理是学生对个人信息的一些查询、选课以及退课,并不能对一些信息进行修改。而管理员管理是管理员对学校一些信息的查询和修改。可从下面的系统结构图中看到。 (图一:总体模块) 学生选课管理系统 管理员管 理 学生管理 教 师 管 理

学生选课管理系统(数据库课程设计)

数据库系统原理及其应用教程 课程设计报告 设计题目选修课程管理系统的设计与实现 指导教师

摘要 随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升。 本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还

进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。 本系统主要功能是对学生选课及相关信息进行管理。较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。 关键字:学生选课管理系统;分析;设计 目录 一、概述 (4) 1.1 设计背景 (34) 1.2 设计目的 (36) 1.3 设计内容 (39) 二、需求分析 (19) 2.1 功能分析 (7) 2.2 工作流图 (6) 2.3 数据流图 (7)

2.4 数据字典 (16) 三、概念模型设计 (18) 3.1 实体之间的联系 (18) 3.2 E-R图 (19) 四、逻辑设计 (26) 4.1 概念模型向关系模型的转换 (26) 4.2 概念模型的优化 (27) 五、源代码及查询截图 (29) 5.1 数据库的存储结构 (29) 5.2 实现 (32) 5.3 人机界面设计 (34) 5.4 系统测试 (36) 5.5 运行维护 (39) 六、总结 (40) 参考文献 (41) 一、概述 1.1设计背景 可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

网上选课系统详细设计

网上选课系统 详细设计说明书 学院:计算机科学技术学院 专业:软件工程 班级:08-2班 组长:张一帆 组员:田晓磊张雪杨景隆潘萌

1 引言 1.1编写目的 随著WWW(World Wide Web) 及Internet 的快速发展及日渐普及,学校校务行政的电脑化也迈入以网络为基础的新纪元.选课系统是大学教务系统中非常重要一环,由于牵涉到每一学生该学期的学习,加上新的课程设计中,大量的选修与更具弹性的措施,使得传统的人工作业不合时宜,半自动的语音选课亦不能满足这些新需求;网际网路的兴起,使我们有机会重新检讨选课的作业流程,以及如何运用网路其不受时空限制的特性进行选课作业流程的改善.为了提高学校教务工作的效率,更加合理的利用既有的资源,减少传统选课方式给学生带来的不便和麻烦,网上选课系统的采用被提上日程。此外,学生公寓宽带的安装使得学生能够在寝室非常方便的获取网络资源。这又为网上选课系统被广大同学接受提供了必要的资源。在以往学生常常抱怨不易找到所要资讯,以及选课期间同学因怕额满选不到理想的课,都挤在第一天选课造成塞车严重,而且若第一天有课的同学便常因抢不到理想的课而忿忿不平.此外在选课时同学们必须先查好所欲选之课程代码再来选课,为此教务处每学期要印出各系所开课表供学生查询选课资讯,即使每两人共用一册数量仍相当庞大且选课后课表便没用处,而且一旦调课或开课上的变更,无法及时异动,一方面造成纸张资源的浪费,另一方面学生即使先查好课表再去选课,也无法确定自己的课表,既不方便又费时.在预选课后教务处人员要印一次点名计分册给老师,到了加退选后因选课有异动又得再印一次最新的选课名册给任课老师,造成教务处人员的重复工作负担,对老师而言,必须仰赖教务处工作人员的处理及列印,自己无法随时掌握选课学生名单,也甚不方便.每学期到了学期末同学们最关心的成绩,必须等收到成绩单才能知道自己的成绩,若要历年成绩单也要等开学后到教务处填申请单,再去出纳组缴费过一天后才能来领取.因此,如何建立一个方便且即时的成绩管理系统,以伴随选课系统也是十分迫切的.为了建立一个方便,公平,又有效率的选课系统,我们决定规划一个植基于网际网路的网路选课系统,并实现下列几个主要的目的: (1).提升选课公平性; (2).缩短选课时间,提高效率; (3).节省课表列印经费并节省人力; (4).学生可即时上网查询单学期或历年成绩 1.2项目背景

学生选课系统课程设计

滨江学院 软件工程课程设计报告( 2007 -- 2008 年度第二学期) 课程名称:软件工程课程设计 题目:学生选课系统 院系:软件工程 班级: 学号: 姓名: 指导教师: 设计周数:两周 日期:2008 年7月4日

摘要: 本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。 关键词:学生选课数据库管理 https://www.360docs.net/doc/5e18003536.html, 一、课程设计的目的与要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统:Windows XP Pro SP2 建模工具:Rational Rose 2003 数据库系统:SQL Server2000 开发工具:Visual Studio 2005 Web服务器:IIS+https://www.360docs.net/doc/5e18003536.html, 2.0平台 2.系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。 在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实

UML网上学生选课系统程序设计

软件工程课程设计报告 (大三下期2015年) 课程名称:软件工程课程设计 题目学生选课系统 院系:软件工程 完成时间:2015.5. 8 组员:张中秋() 高蕾() 曾昭杰() UML网上学生选课系统程序设计 一、课程设计的目的与要求 UML统一建模课程是一门面向对象开发方法的设计语言。UML统一建模课程设计实验课,着重加强面向对象 建模技术。使用 UML统一建模语言,用需求模型简化业务领域;用分析模型验证用例的正确性,一致性,完备性,可行性;用设计模型标识解决方案。通过模型实现了从业务领域到软件领域的映射。通过建模,使问题可视化,形式化。通过以序列的建模和迭代活动,对于提高学生综合素质十分必要。 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 二、设计正文 1. 概述 1.1课题题目:网上学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、查看已修课程、查看已选课程、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学 生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的 修改密码等功能。 1.3系统的开发环境及运行环境: 操作系统:wi ndow7 建模工具:Ratio nal Rose 2007 2. 系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户(Student )、教师用户(Teacher)和管理员用户(Administrator ),也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进 行选课、、查看已修课程、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用 本系统提交学生的成绩;

学生选课系统概要设计说明书

学生选课系统概要设计说明书 目录 1引言 (2) 1. 1编写目的 (2) 1.2背景 (2) 1.3定义 (3) 1.4参考资料 (3) 2总体设计 (3) 2.1需求规定 (3) 2.2运行环境 (4) 2.3基本设计概念和处理流程 (5) 2.4结构 (9) 2.5功能需求与程序的关系 (9) 2.6人工处理过程 (10) 2.7尚未解决的问题 (10) 3接口设计 (10) 3.1用户接口 (10) 3.2外部接口 (10) 3.3内部接口 (11) 4运行设计 (11) 4.1运行模块组合 (11) 4.2运行控制 (11) 4.3运行时间 (13) 5系统论据结构设计 (13) 5.1逻辑结构设计要点 (13) 5.2物理结构设计要点 (13) 6系统出错处理设计 (13) 6.1出错信息 (13) 6.2补救措施 (15)

1引言 概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制概要设计说明书的内容。 1.1编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作展开的各个过程合理有序,因此以文件化的形式,把开发过程中的各项工作记录下来,作为项目团队成员以及项目干系人之间的共识与约定,项目团队开展和检查项目工作的依据,以便计划开展和确保项目开发成功。 本文档的预期读者是: 设计人员 开发人员 测试人员 用户 1.2背景 开发软件名称:学生选课系统 项目任务提出者:姚敦红

学生选课管理系统

软件项目管理 学生选课管理系统 项目名称: 组长 组员 提交时间: 2015年6月15日

学生选课管理系统 项目任务书 一、目的、要求 通过软件开发的实践训练,进一步掌握软件项目管理的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象 的系统分析与设计,软件项目管理,编码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件 开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、主要内容 1.课题题目:学生选课系统,本系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩; 管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课 程等。 2.运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计。 3.使用Rational Rose作为需求分析与设计的建模工具,包括静态建模和

动态建模,并利用对象模型自动生成数据模型,自动建立数据库。 4.采用分层模式的应用设计模式进行系统的设计实现。 5.系统要实现四个模块功能:教师模块、学生模块、管理员模块和公用模块。 6.初步建立系统原型,实现关键的功能,并对系统进行测试。 三、任务分配

学生选课管理系统 任务分解书(WBS)一.学生选课管理系统任务分解 1.1.1 项目规划 1.1.2 计划评审 1.2 需求开发 1.2.1 用户界面设计 1.2.2 用户需求评审 1.2.3 修改需求、修改用户界面 1.2.4 需求规格说明书 1.2.5 编写需求获取方法 1.2.6 编写需求跟踪矩阵 1.3 设计 1.3.1 概要设计 1.3.2 详细设计

学生网上选课系统毕业设计论文

实训报告 课题名称:学生网上选课系统

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

相关文档
最新文档