软件工程项目概要设计

学校排课系统 项目

项目管理

概要设计文档


修改历史


目录

1.简介... 4

2.引言... 4

2.1编写目的... 4

2.2项目背景... 4

2.3定义... 5

2.3.1专门术语... 5

2.3.2 缩写... 5

2.4参考文献... 5

3.任务概述... 6

3.1任务目标... 6

3.2运行环境... 6

3.3需求概述... 6

3.4条件与限制... 6

3.5处理流程... 7

3.5.1客户机端程序流程... 7

3.5.2数据库及服务器程序... 8

4.总体设计... 9

4.1学生、教师信息... 9

4.2学生选课、教师任课信息... 9

4.4课程信息... 9

4.5课程表... 9

4.6权限管理... 9

5.接口设计... 10

5.1外部接口... 10

5.1.1用户界面... 10

5.1.2软件接口... 10

5.1.3硬件接口... 10

5.2内部接口... 10

6.运行设计... 11

6.1数据库数据结构设计... 11


 

1.简介

本文档为学校排课系统项目概要分析文档,主要用于描述学校排课系统项目应提供的功能模块和各个功能模块应提供的功能。

主要帮助用户和相关软件开发设计人员确认软件需求,定义软件开发范围。同时为项目的测试用例设计提供帮助。

2.引言

2.1编写目的

在本学校排课系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对学校调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。

本阶段已在系统的需求分析的基础上,对学校排课系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。

在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。

2.2项目背景

学校排课系统将由两部分组成:供学生和老师使用的前台程序,以及后台管理员使用的后台数据库服务器。本系统与其他系统的关系如下:

2.3定义

2.3.1专门术语

SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。

SQL:一种用于访问查询数据库的语言。

事务流:数据进入模块后可能有多种路径进行处理。

主键:数据库表中的关键域。值互不相同。

外部主键:数据库表中与其他表主键关联的域。

ROLLBACK: 数据库的错误恢复机制。

2.3.2 缩写

系统:若未特别指出,统指学校排课系统。

SQL: Structured Query Language(结构化查询语言)。

ATM: Asynchronous Transfer Mode (异步传输模式)。

2.4参考文献

参考资料

以下列出在概要设计过程中所使用到的有关资料:

3.任务概述

3.1任务目标

开发一个学校排课系统

3.2运行环境

(a)开发运行环境:J2EE开发技术,工作流开发技术。

(b)运行环境:jdk 6.0、tomcat、sqlserver(oracle)

数据库:MS SQL Server 2005企业版;

系统将由两部分程序组成,安装在客户机上的客户程序及管理员使用的数据服务器程序。根据调研得知所有计算机配置均在Pentium 133级别以上,客户程序应能够在Pentium 133级别以上, Win NT环境下运行。

3.3需求概述

每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。

假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。

3.4条件与限制

要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

(1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。

(2)学院中层干部的主讲课时不能超过4学时/周。

(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。

(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。

(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。

3.5处理流程

下面将使用(结构化设计)面向数据流的方法对学校排课系统的处理流程进行分析

系统可分为两大部分:一、客户机上的程序,二、服务器上的程序。以下将分别对系统的这两大部分进行流程分析:

3.5.1客户机端程序流程

输入信息为:用户资料,课程信息,时间信息,教师信息,包括学生登录和教师登录。

输出信息为:课程安排,教室安排,教师任课安排,课程时间安排,班级课程表。

顶层流程图:

 

信息录入,查询,删除

      登录查询                 登录查询

学生、教师登录流程图:

 

         登录                            查询

                                              

管理员登录流程图:

                             登录

在客户端系统的功能实现上,可以分为以下几个部分:

1.            学生、教师和管理员信息的查询,修改(注:学生和教师只能对自己的信息进行部分操作,管理员有权进行删除。)

2.            学生选课、教师任课:学生只能选择所在年级、所在专业所对应的课程;每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。

3.            课程信息的储存(课程号、学时、学分、任课教师、授课年级、授课教室等)

3.5.2数据库及服务器程序

数据库及服务器程序主要有SQL Server 20## 完成

4.总体设计

4.1学生、教师信息

l  学生基本信息:学号、姓名、出生年月、政治面貌、年级、专业、学习经历、奖惩情况等

l  教师基本信息:工号、姓名、出生年月、政治面貌、学历、职称、工作经历等

4.2学生选课、教师任课信息

l  学生选课信息:学号、待选课程、以选课程、各课程的相关信息(关联到课程信息)

l  教师任课信息:工号、所授课程、所授课程信息(关联到课程信息)

4.4课程信息

l  课程基本:课号、学时、面向年级、面向专业、课程类型、学分

l  课程开设信息:课号、课程名、年级、专业、课程类型、学时、学分、任课教师、        开设时间、授课教室

4.5课程表

4.6权限管理

l  系统用户添加:用户名、别名(系统登录名)、密码(存储时加密处理)、用户类型(系统管理员/操作员)、所在部门、职务、性别、联系电话、电子邮箱、备注等基本信息的录入。

l  用户删除:能够对已添加的用户进行删除操作;

l  用户信息编辑:能够对已添加的用户信息进行修改

l  权限管理:系统管理员对操作员授权(学生、教师、管理员)


5.接口设计

5.1外部接口

5.1.1用户界面

在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,用Java实现。

总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用

5.1.2软件接口

服务器程序使用Java、SQL、用JDBC将Java与SQL连接,对数据库进行访问

服务器程序上可使用SQL SERVER 的对数据库的备分命令,以做到对数据的保存。

5.1.3硬件接口

输入和输出都用对于键盘、鼠标和显示器、打印机的标准化输入、输出。

5.2内部接口

内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。


6.运行设计

6.1数据库数据结构设计

DBMS 的使用上系统将采用 SQL SERVER, 系统主要需要维护5张数据表:

1、 用户信息表

注:ID:数据库自行分配

用户名:学号或工号(管理员另行分配)

用户权限:学生、教师、管理员

2、 学生信息表

3、 教师信息表

4、管理员信息表

注:管理员ID为其登陆用户名

5、课程信息

注:为了减少数据冗余,该表可以拆分成两张表,视情况而定


 

第二篇:软件工程概要设计

“概要设计说明书”编写规范

软件的概要设计又称为软件系统(程序系统)的设计,本文件应说明软件系统即程序系统设计的总体考虑,包括系统的基本处理流程、软件系统的组织结构、模块划分、功能分配、数据结构、接口、运行、 出错处理和系统维护等方面的设计,为详细设计提供基础。

1 引言

1.1 编写目的

说明编写本设计说明书的目的,指出预期的读者。

1.2 背景

a. 说明待开发软件系统的名称。

b. 列出开发此软件系统的提出者、开发者、和用户。

1.3 基线

说明本系统设计的设计基线。

1.4 范围

说明本设计说明书所涉及的设计内容范围。

1.5 定义

列出本设计说明书中用到的专门术语和外文字母组词的原词组。

1.6 参考资料

a. 属于项目的其他已发表的文件;

b. 本设计说明书中引用到的文件、资料,包括所用到的软件开发标准。 列出这些文件资料的标题、编号、发表日期、出版单位和查找来源。

2 总体设计

2.1 概述

2.1.1 需求规定

说明本系统主要的输入、处理、输出的功能和性能要求等。

2.2.2 运行环境

说明本系统运行的硬件环境和支持环境。

2.2 设计

2.2.1 设计构思

说明对本系统设计的构思、采用的关键技术、主要算法和关键数据结构。

2.2.2 系统流程

a. 用流程图示出本系统的主要控制流程和处理流程;

b. 用流程图示出本系统主要的数据通路,并说明处理的主要阶段。

2.2.3 结构设计

a. 系统元素

确定本系统的元素及其功能,用一览表说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,按层次给出它们的标识符和功能。

b. 系统层次结构

用框图分层次地给出各个系统元素之间的控制和被控制的关系。

2.2.4 功能需求与程序的关系

用功能需求与程序的矩阵图表形式 ,示出各项功能的实现与各系统元素之间的分配关系。

3 系统数据结构设计

3.1 数据结构

列出本系统所使用的主要数据结构,包括名称、标识符及数据项等。

3.2 数据结构与系统元素之间的关系

用数据结构与系统元素之间的矩阵图表形式,示出各个数据结构与访问这些数据结构的系统元素之间的关系。

4 接口设计

4.1 用户接口

说明本系统向用户提供的命令、语法结构及系统回答信息等。

4.2 外部接口

说明本系统的软件同硬件和支持软件之间的接口。

4.3 内部接口

说明本系统内部相关模块之间的接口。

5 运行设计

5.1 系统初始化

说明本系统初始化过程。

5.2 运行模块组合

说明本系统每项外界运行需经过哪些内部模块的组合和支持软件。

5.3 运行控制

说明每项外界运行的控制方式、方法和操作步骤。

5.4 运行时间

说明每项运行模块组合预计占用各种资源的时间。

5.5 运行安全

说明系统安全运行的控制。

6 信息结构设计(当有相关需求或软件规格定义有要求时)

按逻辑结构和物理结构给出本软件有关信息的设计要点。

6.1 逻辑结构设计

6.1.1 图形设计

6.1.2 中文(包括单个汉字、短语、词组。)设计

6.2 物理结构设计

6.2.1 图形设计

6.2.2 中文(包括单个汉字、短语、词组。)设计

6.3 信息结构与程序的关系

用信息结构与系统元素之间的矩阵图表形式,示出各个信息结构与访问这些信息结构的系统元素之间的关系。

7 出错处理和维护

7.1 出错信息

用一览表列出本系统各种可能出错或故障的信息形式及其含义。

7.2 补救措施

说明系统故障出现后可能采取的变通措施,包括:

a. 后备技术——当系统原始数据一旦丢失时,启用副本的建立和启动技术; b. 降效技术——使用另一效率稍低的方法以求得所需结果的某些部份,如手工操作和人工记录数据;

c. 恢复及再启动技术——让系统从故障点恢复执行或系统从新启动运行的方法等。

7.3 系统维护

说明专门安排用于系统检测与维护的检测点和系统检测维护的专用模块等。 8 尚待解决的问题

说明本设计中尚未解决而系统完成之前应该解决的问题。

附加说明:

* 本规范根据国家标准GB/T 8566—1995的规定,参照国家标准GB 8567—88而制定;

* 编写本文档时,要求具有本规范规定的所有条目。如果某条目内容在其他地方已说明或无内容可填写,应声明或填写“无内容可填写” ,并在可能的情况下说明理由。 * 编制文档时,文档排印格式按“文档排版印刷格式约定”编制。

相关推荐