软件工程设计计划书Word文档格式.docx
《软件工程设计计划书Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程设计计划书Word文档格式.docx(71页珍藏版)》请在冰豆网上搜索。
如:
a.建议该系统运行的最短寿命为6年;
b.进行系统方案选择比较的时间限一星期。
2.5进行可行性研究的方法
通过调查分析数据库管理系统现阶段所具备的能力及实现的方法,确定主体结构,利用现阶段所能达到的能力,以最简洁,最容易的办法,边开发边测试,实现这个应用软件。
2.6评价尺度
在短时间内开发出的具有改善管理漏洞的较简单的管理系统。
3.技术可行性
1.系统概述
该系统的应用可以方便学生宿舍对广大住宿学生信息的管理,可以科学的管理学校宿舍,优化宿舍资源的使用等,同时方便管理员对学生的安全管理,可以使用改系统方便的查询学生信息。
开发目标系统实现后,大大提高后勤人员的服务效率。
降低后勤管理中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
后勤人员工作得到精简,信息的准确率得到极大提升。
2处理流程和数据流程
4.经济可行性
4.1支出
A.采购,开发及安装整套设施(包括房屋,数据通信设备,环境的保护设备,安全与保密设备,操作系统以及软件和数据库软件)所需的金钱若干。
B.研究开发数据库的建立以及软件的转换,和后期的维修和技术管理费用可忽略不计。
C.若系统工作正常,每次采购及维护所降低的成本若干。
D.系统升级所需费用,信息掌握情况的改进,硬件设施的提升或更替所需费用。
4.2收益
本系统方便了人员的管理,节约了人力资源的成本,有利于宿舍管理人员查询注入信息,能够更好的统计宿舍人员的入住情况。
极大地降低了管理人员人工管理学生信息的费用。
4.3投资回收周期
若系统正常工作,本系统的生命期在2~5年,最大支出为X,最小收益Y,且Y>
X,预计回收周期为2到4年。
若负荷工作,硬件配置损坏,将降低使用时间,缩短收益及使用时间。
4.4敏感度分析
设计系统周期为1周。
处理速度普遍<
1秒。
5社会因素方面的可行性:
对于当今学校公寓来说,其数据量大,各种信息管理内容复杂,查询和管理学生信息和学校内的公寓信息等,工作由人人工完成将是很累的,这不仅浪费许多人力,物力资源,而且很容易出差错有一个符合的软件对其进行智能化管理是再好不过了,节省了人力物力资源,并对其信息的把握和操作也更加方便了,对所有信息有理一个全局的把握。
5.1法律方面的可行性。
所使用的系统的研制和开发都是自行实现的,将不会侵犯他人。
该软件的开发集体和国家的利益,不会违反相关的国家政策和法律。
系统的开发仅仅是作为课设作业,因而没有太大的实用价值,将不会触犯法律。
5.2使用方面的可行性
系统的研制和开发充分考虑从用户工作流程,计算机操作水平等,尽可能提供更人性化,直观的界面,满足用户要求,尽可能的使系统更加容易使用。
系统的操作方式在用户组织内可行,需要一名懂得计算机操作的人员使用。
6综合结论
新系统说入的资金与系统投入使用后所带来的经济效益进行比较,投资效益比远大于100%,并且系统简洁易懂且功能强大。
技术、经济、操作都有可行性,可以进行开发。
需求分析
1.1编写目的
在编写《学生宿舍管理系统》软件之前,对同类型产品的市场进行了前期调查,与多位软件设计者和使用者进行了探讨和分析,之后由软件项目小组向系统分析人员与软件设计人员提出了这份需求规格说明书。
该需求规格说明书对学生宿舍管理系统软件进行了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面。
该需求规格说明书供概要设计人员阅读。
1.2项目背景
软件技术基础教程课程设计。
学生宿舍管理系统软件是一功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发,可在应用范围较广的WINDOWS系列等操作系统上使用。
1.3定义
SAMS:
StudentApartmentManagementSystem,学生宿舍管理系统。
1.概述
2.1目标
本设计要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。
系统在实现上应该具有如下功能:
1.系统应该提供学生住宿情况的基本登记。
2.系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询。
3.系统应提供增加、删除、修改学生信息的功能。
2.2运行环境
输入设备键盘/鼠标
操作系统
Windows7
2.3条件与限制
由于时间比较短,使用计算机不方便以及对于网络编程不熟悉,本学生宿舍管理系统并没有提供数据的远程访问功能。
对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,安全性能有待进一步完善。
2.数据描述
3.1静态数据
学生寝室管理系统的静态数据包括:
学生(Student):
Stu_Key
学号
Stu_Name
姓名
Stu_Sex
性别
Stu_Enr
入学日期
Stu_Major
专业
3.2动态数据
输入数据:
鼠标对按钮的点击
查询方式、查询关键字;
录入学生信息项;
输出数据:
查询关键字确定的数据库记录的子集;
统计结果及其格式化文件;
信息增加、删改结果;
内部数据:
查询操作建立的索引;
3.3数据库描述
数据库采用MicrosoftAccess数据库。
3.4数据流图
3.5学生个人信息表数据字典
专业
入学时间
字符型
宿舍类型
楼号
房间号
床铺号
宿舍电话
3.6数据采集:
通过键盘输入。
3.7用例图
3.功能需求
4.1系统功能设计
在整体设计中,我们将宿舍管理系统分为两个个大的功能:
信息查询功能、信息修改功能。
下面将具体进行介绍每个功能。
4.2信息查询功能
信息查询功能基本上包括:
按学号进行查询、按姓名进行查询、按专业查询、按床铺号查询、每宿舍类型情况查询五个部分。
4.3信息修改功能
信息修改功能包括:
学生基本信息修改等。
5运行需求
5.1用户界面
对话框。
5.2硬件接口
支持各种x86系列PC机。
5.3软件接口
运行于Windows95/98及更高版本具有WIN32API的操作系统之上。
5.4故障处理
正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。
若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
概
要
设
计
说
明
书
经过实际分析调查,一个学生宿舍管理系统主要是要方便宿舍管理人员的工作,提高其工作效率,不仅可以方便广大学生,而且还可以方便于教师和相关人员,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份概要设计说明书。
此概要设计说明书对《学生信息管理系统》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步完成后续设计与开发工作。
本说明书的预期读者为学校管理员、需求分析人员、测试人员、项目管理定义.
1.2背景
A宿舍管理系统。
B项目的任务提出者是本次课程设计辅导老师储剑波老师,项目问题的选取是由本小组人员自行决定的。
本软件是基于microsoftvisualc++6.0+acess2003开发的简易数据库管理系统,以实现学生宿舍的管理。
术语定义:
ID学号
STUDENTNAME姓名
SEX性别
STARTYEAR入学年份
MAJOR专业
ROMETYPE宿舍类型
BUILDINGNUM楼号
HOUSETEL房间电话
REMARKS备注
1.4参考资料
1.软件技术基础教程南京航空航天大学万晓东、施玉霞、孔德明编著
2.Vc++教程南京航空航天大学王珊珊编著
3.Mfc软件可视化界面制作教程
4.安装包制作教程
2总体设计
2.1需求规定
设计开发一个具备完善前台操作界面和功能强大的后台数据库管理功能的宿舍管理系统。
该系统主要是宿舍管理员系统,由管理员进入和退出系统,实现学生信息的录入,删除,查询。
系统自行实现学生信息的存储。
学生信息包含了姓名,性别,专业,学号,楼栋号,房间号,床位号,宿舍电话和备注。
有一个主界面,供选择和调用上述选项。
windowsXP,windows2000,windows7,windows8,宿舍管理机终端
2.3基本设计概念和处理流程
1.系统整体设计需要完成管理界面进入,选择用户类型,完成数
据库的连接。
2.后勤宿管主要完成宿舍片区的管理,对宿舍管理员的管理,以及新生入校宿舍分配、毕业生离校宿舍回收、宿舍单元的添加、删除、修改、查询,接受申请并审核以及完成宿舍调整等。
3.宿舍管理员主要完成所管辖所有宿舍的成员添加、删除、修改、查询。
2.宿舍单元主要完成人员查询,可查询空置宿舍床位情况,提出宿舍调整申请。
2.4结构
2.5功能器求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
功能需求
程序单元
进入
主界面服务模块
添加
添加住户服务模块
删除
删除住户服务模块
查询
查询住户服务器模块
保存
保存信息服务模块
浏览
浏览信息服务模块
2.6人工处理过程
根据用户的需求,随时单击各种按钮,以决定系统进程。
其最终用户是宿舍系统的管理员,宿舍管理员以及南京航空航天大学学生,他们都具备一定计算机使用能力,对计算机的操作十分熟练的。
同时,系统的维护人员是计算机专业人员,熟悉数据库、操作系统、网络维护工作。
3接口设计
3.1用户接口
下图是主界面,通过3个按钮实现系统的添加,删除,查询。
下图是学生信息的添加界面
下图是学生的删除界面
下图是学生的查询界面
下图是学生信息的修改界面
3.2外部接口
软件接口
硬件接口
键盘
鼠标
显示器
主模块
管理员模块
查询模块
3.3内部接口
需要实现系统之内的各个系统元素之间各个类之间的的接口,内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
4运行设计
4.1运行模块组合
进入——>
用户类型——>
后勤宿管——>
功能界面
宿舍管理员——>
宿舍单元管理员——>
4.2运行控制
4.3运行时间
初步测试每种操作运行时间均在1秒以内。
5系统数据结构设计
5.1数据库数据结构设计
序号
字段名
数据类型
说明
1
Id
文本
2
Studentname
学生姓名
3
Sex
4
Startyear
入学年份
5
Major
6
Roomtype
7
Buildingmum
数字
8
Bednum
9
Housetel
10
Remarks
备注
5.2物理结构设计要点
1.管理员信息
2.楼栋信息
3学生信息
5.3数据结构与程序的关系
由于数据的存取是通过界面的接口和数据库进行连接的,所以在实现过程中必不可少的是应用程序实现它们的连接。
常用的访问有:
查询、删除、添加、修改等。
6系统出错处理设计
6.1出错信息
查询信息不在数据库范围内,系统将静止不动。
6.2补救措施
关闭已打开窗口,重新进入该界面。
6.3系统维护设计
由于系统较小没有外加维护模块,仅靠数据库的一些基本维护措施即可。
为便于维护,应该设计了三种日志:
系统运行日志、操作日志、出错日志。
三种日志根据不同的重要程度采取存放在文件和数据库的方式,系统管理员可以很轻松的监控系统运行情况,数据表的建立和删除有数据系统管理员予以维护。
详
细
设
计
说
明
书
1.引言:
1、1编写目的:
在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。
主要的工作有:
根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何
1.添加住户:
向数据库中添加住户,并实时显示。
2.删除住户:
根据输入条件判断要删除的住户。
3.查询住户
2.总体设计:
软件结构:
功能模块分析:
主界面模块:
删除模块
数据库表的设计:
数据库文件StuDormMS.mdb
各类代码及函数代码:
CAboutDlg:
类视图:
如右图,IDD具体名为IDD_ABOUTBOX,该类关联的是软件的
“关于”对话框:
CAddUserDlg:
类视图如右图,IDD具体名为IDD_DIALOG_ADDUSER,该类对应的是”添加住户”对话框:
对话框中每个控件ID为:
学生姓名:
IDC_EDIT_STUDENTNAME
性别:
IDC_EDIT_SEX
入学时间:
IDC_EDIT_NATIONAL
学号:
IDC_EDIT_ID
专业:
IDC_EDIT_MAJOR
宿舍类型:
IDC_EDIT_ROOMTYPE
楼号:
IDC_EDIT_BUILDINGNUM
房间号:
IDC_EDIT_ROOMNUM
床铺号:
IDC_EDIT_BED
宿舍电话:
IDC_EDIT_HOMETEL
备注:
IDC_EDIT_REMARKS
在本类中添加的成员变量:
public继承:
CStringm_strMajor;
//专业
intm_nBuildingNum;
//楼号
intm_nRoomNum;
//房间号
CStringm_strRemarks;
//备注
CStringm_strHomeTel;
//宿舍电话
CStringm_strStudentname;
//学生姓名
CStringm_strId;
//学号
CStringm_strSex;
//性别
CStringm_strNationNal;
//入学时间
intm_nBedNum;
//床号
CStringm_strStudentName;
//宿舍类型
消息处理函数:
OnOK()为添加住户对话框的按下OK键的消息处理函数:
voidCAddUserDlg:
:
OnOK()
{
//判断输入信息的合法性
UpdateData(TRUE);
CEdit*p;
if(m_strStudentname=="
"
)
{
AfxMessageBox("
请填学生姓名"
);
p=(CEdit*)GetDlgItem(IDC_EDIT_STUDENTNAME);
p->
SetFocus();
return;
}
if(m_strStudentName=="
请填宿舍类型"
p=(CEdit*)GetDlgItem(IDC_EDIT_ROOMTYPE);
if(m_nBuildingNum==0)
楼号不能为零"
p=(CEdit*)GetDlgItem(IDC_EDIT_BUILDINGNUM);
if(m_nRoomNum==0)
房间号不能为零"
p=(CEdit*)GetDlgItem(IDC_EDIT_ROOMNUM);
if(m_nBedNum==0)
床铺号不能为零"
p=(CEdit*)GetDlgItem(IDC_EDIT_BED);
CMainFrame*pFrame=(CMainFrame*)AfxGetApp()->
m_pMainWnd;
CInhabitantsDoc*pDoc=(CInhabitantsDoc*)pFrame->
GetActiveDocument();
//让用户确认操作
if(this->
MessageBox("
确定添加这条记录?
"
宿舍管理系统"
MB_YESNO)==IDNO)
CDialog:
OnCancel();
//增加学生到数据库中
STUDENTuser;
user.strRoomtype=m_strStudentName;
user.nBuildingnum=m_nBuildingNum;
user.nRoomnum=m_nRoomNum;
user.nBednum=m_nBedNum;
user.strName=m_strStudentname;
user.strHouseTel=m_strHomeTel;
user.strSex=m_strSex;
user.strNationNal=m_strNationNal;
user.strMajor=m_strMajor;
user.strId=m_strId;
user.strRemarks=m_strRemarks;
switch(pDoc->
AddUser(user))
case0:
{//已经存在该学生了
CStringstr;
str.Format("
%s%d号楼%d号房间%d号床铺已有学生入住!
m_strStudentName,m_nBuildingNum,m_nRoomNum,m_nBedNum);
AfxMessageBox(str);
CEdit*p=(CEdit*)GetDlgItem(IDC_EDIT_BED);
p->
return;
break;
}
case1:
{//增加成功后刷新左边的树视图
pFrame->
m_pLeftView->
AddUserToTree(m_strStudentName,
m_nBuildingNum,m_nRoomNum,m_nBedNum);
default:
break;
CDialog:
OnOK();
}
CHouseAccessor:
类视图如右图,该类是OLEDB数据源类,定义了数据库中存储的学生信息
classCHouseAccessor
pu