软件工程实践文档格式.docx
《软件工程实践文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程实践文档格式.docx(50页珍藏版)》请在冰点文库上搜索。
![软件工程实践文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/2a81751a-6575-472c-8007-1a1eb57697ed/2a81751a-6575-472c-8007-1a1eb57697ed1.gif)
系统必须控制某一门课程在学期间只能选一次。
在学生选课时能自动进行有关逻辑判断,如:
是否选课超过了规定的门数,是否选择了不符合预修条件的课程,是否选择的课程超过此课程最大选择人数,只有符合要求的选择才能选课成功。
学生可以更改部分个人信息如密码,电话号码等;
学生可以查询已修课程成绩和已选课程信息。
3.3教师需求
任课教师登录后,可以查看自己所教课程的课程表;
对于同一学期内有多门课程的教师,需要选择具体课程后,才能查看已选这门课程的学生信息:
期末,教师可以上传这些学生的成绩。
3.4管理员需求
系统管理员登录后,可以对学生,教师,课程,教学班级的基本信息进行添加,修改,删除等工作。
课程安排是选课的核心,只有按照实际的教学情况安排出每个学期必修和选修的课程,才能保证选课的顺利进行。
在每学期,学生选课前,各院系管理员必须在该院系培养方案中录入本学期可以开设的课程和排课安排,对于需要预修条件的课程,需要设置好预修条件。
基础部管理员负责公共课的课程开设和排课安排。
其中排课及教学班级的安排上要保证同一个教师在同一时间只能上一门课程;
同一个教室同一时间也只能开一门课程,并要设置此教学班级的最大班容量。
根据以上需求分析,系统把用户划分为3类:
管理员、教师和学生。
不同的用户在系统中的作用和权限有所不同,所需要完成的功能也不同,系统对于一个用户只允许以一种身份登录。
为了系统的保密性,任何用户必须登录后才能使用系统。
将系统需求加以总结,得出系统的需求如下:
(1)系统需要提供用户登录的用户接口。
(2)用户可以通过一台连接Internet计算机的浏览器使用系统,系统应具有友好的用户界面。
(3)系统用户类型为:
管理员、教师、学生。
(4)系统对一个用户只允许以一种身份登录。
(5)只有管理员可以维护学生、教师、课程、班级的基本信息。
(6)学生可以选课,更改部分个人信息以及选课结果查询和成绩查询。
(7)教师可以查看所教授的课程和学生信息,期末在网上录入学生成绩。
四.用例图
4.1系统用例图
该用例图中的用例分析如下:
用例名称:
学生信息的管理
基本操作流程:
1.管理员创建并分配学生用户名和密码
2.学生输入用户名和密码登录系统
3.系统验证登陆信息
4.登陆成功后学生输入个人信息
5.系统保存学生的个人信息
可选操作流程:
1a:
当新增学生或有退学者时,管理员应及时更新用户信息
2a:
输入的用户名和密码错误时登录失败
2b:
输入用户名和密码正确,成功登陆
3a:
验证通过成功登陆
查询成绩
1.老师登陆系统并登记学生成绩
2.学生登录系统查询成绩
3.系统检索学生的成绩信息并反馈给学生
老师登陆后发现无该学生成绩时,应确定该生是否退学
1b:
老师成功登陆后录入和删除和修改学生成绩
学生成功登陆系统后查询成绩
4.2管理员用例图
学生信息的修改
1.管理员登录系统并为学生分配用户名和密码
2.学生登录系统修改个人信息
3.系统更新学生信息
1a.学生登录系统修改信息,系统故障修改失败
2a.学生登录系统修改信息,修改成功并系统保存
4.3学生用例图
选课
1.管理员为学生分配用户名和密码
2.学生成功登陆系统并进入选课页面
3.选择课程
用户名密码不正确时,登录失败
成功登陆但不在选课时间内或超出选课权限时,选课失败进不到选课页面
2b.在选课时间内登录时,成功选课
4.4老师用例图
该用例图的用例分析如下:
教授学生状况的查询
1.管理员为老师分配用户名和密码
2.老师成功登录系统
3.查询教授学生的状况
1a.管理员给老师分配用户名时确保该用户存在
2a.该老师还不存在用户名时无权登陆查询
2b.老师存在用户名并且密码正确时能够成功登陆并查询学生的信息
五.类图
5.1生成代码
//
//GeneratedbyStarUML(tm)C++Add-In
//@Project:
Untitled
//@FileName:
Class1.h
//@Date:
2012/12/23星期日
//@Author:
#if!
defined(_CLASS1_H)
#define_CLASS1_H
classClass1
{
};
#endif//_CLASS1_H
Class2.h
defined(_CLASS2_H)
#define_CLASS2_H
classClass2
#endif//_CLASS2_H
Class3.h
defined(_CLASS3_H)
#define_CLASS3_H
classClass3
#endif//_CLASS3_H
Class4.h
defined(_CLASS4_H)
#define_CLASS4_H
classClass4
#endif//_CLASS4_H
Class5.h
defined(_CLASS5_H)
#define_CLASS5_H
classClass5
#endif//_CLASS5_H
Class6.h
defined(_CLASS6_H)
#define_CLASS6_H
classClass6
#endif//_CLASS6_H
Class7.h
defined(_CLASS7_H)
#define_CLASS7_H
classClass7
#endif//_CLASS7_H
Class8.h
defined(_CLASS8_H)
#define_CLASS8_H
classClass8
#endif//_CLASS8_H
Class9.h
defined(_CLASS9_H)
#define_CLASS9_H
classClass9
#endif//_CLASS9_H
Class10.h
defined(_CLASS10_H)
#define_CLASS10_H
classClass10
#endif//_CLASS10_H
Enumeration1.h
defined(_ENUMERATION1_H)
#define_ENUMERATION1_H
enumEnumeration1
#endif//_ENUMERATION1_H
Enumeration2.h
defined(_ENUMERATION2_H)
#define_ENUMERATION2_H
enumEnumeration2
#endif//_ENUMERATION2_H
成绩.h
defined(_成绩_H)
#define_成绩_H
class成绩
public:
int课程号;
int课程名;
int分数;
int绩点;
#endif//_成绩_H
成绩.h
defined(_成绩_H)
#define_成绩_H
class成绩
#endif//_成绩_H
管理员.cpp
#include"
管理员.h"
void管理员:
:
统计学生()
}
录入学生()
删除学生()
统计课程()
增加课程()
删除课程()
查询个人信息()
统计老师()
录入老师()
删除老师()
管理员.h
defined(_管理员_H)
#define_管理员_H
class管理员
int学生信息;
int课程信息;
int个人信息;
int老师信息;
void统计学生();
void录入学生();
void删除学生();
void统计课程();
void增加课程();
void删除课程();
void查询个人信息();
void统计老师();
void录入老师();
void删除老师();
#endif//_管理员_H
管理员信息.h
defined(_管理员信息_H)
#define_管理员信息_H
class管理员信息
int姓名;
int工号;
int性别;
int民族;
int籍贯;
int联系方式;
#endif//_管理员信息_H
课程.h
defined(_课程_H)
#define_课程_H
class课程
int学时;
int开课学期;
int课程性质;
#endif//_课程_H
课程表.h
defined(_课程表_H)
#define_课程表_H
class课程表
int地点;
int时间;
int任课教师;
#endif//_课程表_H
课程.h
defined(_课程_H)
#define_课程_H
class课程
#endif//_课程_H
课程表.h
defined(_课程表_H)
#define_课程表_H
class课程表
int行政班级;
#endif//_课程表_H
老师.h
defined(_老师_H)
#define_老师_H
class老师
int院系;
#endif//_老师_H
老师信息.h
de