首页 > 代码库 > 铁大课表 概要设计说明书
铁大课表 概要设计说明书
铁大课表
概要设计说明书
第七小组:闫立新、曹锦锋、李夏蕾、
苏海岩、王伟光、杨世超
2014年4月8日
1引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料
2总体设计
2.1需求规定
2.2运行环境
2.3基本设计概念和处理流程
2.4结构
2.5功能器求与程序的关系
2.6人工处理过程
2.7尚未问决的问题
3接口设计
3.1用户接口
3.2外部接口
3.3内部接口
4运行设计
4.1运行模块组合
4.2运行控制
4.3运行时间
5系统数据结构设计
5.1逻辑结构设计要点
5.2物理结构设计要点
5.3数据结构与程序的关系
6系统出错处理设计
6.1出错信息
6.2补救措施
6.3系统维护设计
1引言
1.1编写目的
概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,人机界面,实现对系统的初步设计。我们根据需求分析得到的数据流图,将之转化为软件结构和数据结构,建立起目标系统的逻辑模型。使软件编程人员能对目标系统有一致的认识。
1.2背景
<!--[if !supportLists]-->a.<!--[endif]-->所建议开发的软件系统的名称:铁大课表;
<!--[if !supportLists]-->b.<!--[endif]-->本项目的任务提出者、开发者:闫立新、曹锦锋、李夏蕾、苏海岩、王伟光、 杨世超
用户:石家庄铁道大学在校学生
实现该软件的计算中心或计算机网络:学生android手机;
<!--[if !supportLists]-->c.<!--[endif]-->该软件系统同其他系统或其他机构的基本的相互来往关系:该软件系统与手机操作系统、与android内置SQLite数据库系统。
1.3定义
课表:只学校对学生上课过程中的课程安排,具体指什么时候在哪儿上什么课。
Curriculum schedule课程表
1.4参考资料
<!--[if !supportLists]-->a. <!--[endif]-->《软件工程》 孙家广, 高等教育出版社;
<!--[if !supportLists]-->b. <!--[endif]-->《软件工程及软件开发应用》 施一萍,清华大学出版社;
<!--[if !supportLists]-->c. <!--[endif]-->《Android手机程序设计入门、应用到精通》孙宏明,中国水利出版社;
<!--[if !supportLists]-->d. <!--[endif]-->《疯狂android讲义》(第2版)李刚,电子工业出版社。
2总体设计
2.1需求规定
<!--[if !supportLists]-->a. <!--[endif]-->软件应支持用户查看课表的详细信息;
<!--[if !supportLists]-->b. <!--[endif]-->软件支持记录随堂记事或者作业;
<!--[if !supportLists]-->c. <!--[endif]-->灵活地对作业以及课程信息(课程名称,上课地点等)的编辑,更新;
<!--[if !supportLists]-->d. <!--[endif]-->软件应具有一定的容错能力和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证软件功能能正常运行;
<!--[if !supportLists]-->e. <!--[endif]-->软件应能够在原始版本的基础上不断添加新功能;
<!--[if !supportLists]-->f. <!--[endif]-->软件应支持所有使用android 4.0操作系统的手机、平板等移动设备;
<!--[if !supportLists]-->g. <!--[endif]-->软件的实现过程中,代码编写应符合规范,在软件设计及编写的过程中,应随时更新相关软件文档。
2.2运行环境
2.2.1硬件环境
本款软件的硬件平台为android4.0以上手机,CPU为1G Hz以上,RAM为256MB以上,ROM为256MB以上。输入输出必须保证在0-3秒之间完成。
2.2.2软件环境
本款软件基于android平台,是以LINUX为核心的手机操作系统,是标准的LINUX2.6内核。所涉及数据库为Android自带的SQLite数据库,支持具有android软件的手机安装使用。
2.3基本设计概念和处理流程
开始 |
选择星期 |
查看课表 |
选择课程添加或查看相应的作业 |
结束 |
添加完善课表信息 |
2.4结构
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.
铁大课表系统 |
显 示 模 块 |
数 据 库 模 块 |
课表 / 作业 添 加 模 块 |
公 共 模 块 |
清空 所有 数据 模块 |
2.5功能器求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
| 显示模块 | 数据库模块 | 添加模块 | 清空数据模块 |
添加课表 |
| √ | √ |
|
添加作业 |
| √ | √ |
|
显示课表/作业 | √ | √ |
|
|
清空表中数据 |
| √ |
| √ |
2.6人工处理过程
<!--[if !supportLists]-->a. <!--[endif]-->由于学校不提供教务处访问接口,不能通过用户登录自动导入课表,用户不得不手动添加自己的课表;
<!--[if !supportLists]-->b. <!--[endif]-->作业具有灵活性,随堂的作业也需要通过手动输入。
2.7尚未问决的问题
<!--[if !supportLists]-->a. <!--[endif]-->没有具体针对不同分辨率的手机设置不同的显示模式;
<!--[if !supportLists]-->b. <!--[endif]-->存在这一些不得不手工实现的问题。
3接口设计
3.1用户接口
<!--[if !supportLists]-->a. <!--[endif]-->键盘:在用户输入课表或添加作业时,系统自动弹出键盘;
<!--[if !supportLists]-->b. <!--[endif]-->对话框:允许系统一对话框的方式向用户传达信息;
<!--[if !supportLists]-->c. <!--[endif]-->其他选项:允许用户在提供的各种按钮和选项中选择。
3.2外部接口
<!--[if !supportLists]-->a. <!--[endif]-->与硬件的借口:本软件基于android平台,使用的函数完全由android API提供,与手机硬件接口由android平台本身封装;
<!--[if !supportLists]-->b. <!--[endif]-->与android系统接口:本软件基于android平台,使用android提供的各种API函数,处于系统架构最上层的应用层;
<!--[if !supportLists]-->c. <!--[endif]-->与数据库的接口:本软件通过android自带的SQLite数据库对本地数据库进行查找和读写,设置了一个基本的SQLiteDatabase类来帮助实现这些功能。
3.3内部接口
<!--[if !supportLists]-->a. <!--[endif]-->第一次打开软件时通过调用OnCreate类创建数据库表;
<!--[if !supportLists]-->b. <!--[endif]-->MySQLiteOpenHelper和SQLiteDatabase共同实现数据库的存取;
<!--[if !supportLists]-->c. <!--[endif]-->通过调用delete函数清除表中的数据。
4运行设计
4.1运行模块组合
本课表软件主要以每个activity为一个功能模块,一般一个activity完成一个特定的功能,通过主activity中事件的触发启动另外的activity,运用intent等消息传递机制实现每个模块之间的链接与组合。各模块之间相对独立,程序的可移植性好。各个模块之间主要以传递数据和消息来实现模块之间的合作与数据共享。
4.2运行控制
运行控制将严格按照个模块间的函数调用关系来实现,用户通过启动软件进入本软件的主界面,将有一系列的功能选项,每个事件源将引起程序的不同响应。各事务中心模块中,需要对运行控制进行正确的判断,选择正确的运行控制路径。本软件系统只用两种外界控制方式:
<!--[if !supportLists]-->a. <!--[endif]-->按键控制:在切换课表星期数时,点击上面的“←”和“→”进行选择;
<!--[if !supportLists]-->b. <!--[endif]-->输入控制:点击菜单键进行课表的编辑或作业的编辑。
4.3运行时间
<!--[if !supportLists]-->a. <!--[endif]-->显示模块:显示页面将同时显示欢迎信息、当前日期、开学周次、课表信息以及其他菜单选择信息,需要初始化的过程,将占用一定的CPU和内存;
<!--[if !supportLists]-->b. <!--[endif]-->课程详细信息模块:详细信息需要一个activity专门显示,点击分享按钮将调用系统的短信服务,因此将占用一定的系统资源。
5系统数据结构设计
5.1逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
5.2物理结构设计要点
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
5.3数据结构与程序的关系
说明各个数据结构与访问这些数据结构的形式:
6系统出错处理设计
6.1出错信息
用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施
说明故障出现后可能采取的变通措施,包括:
<!--[if !supportLists]-->a. <!--[endif]-->后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
<!--[if !supportLists]-->b. <!--[endif]-->降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
<!--[if !supportLists]-->c. <!--[endif]-->恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
6.3系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。各个程序之间的对应关系,可采用如下的矩阵图的形式;
铁大课表
概要设计说明书
第七小组:闫立新、曹锦锋、李夏蕾、
苏海岩、王伟光、杨世超
2014年4月8日
1引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料
2总体设计
2.1需求规定
2.2运行环境
2.3基本设计概念和处理流程
2.4结构
2.5功能器求与程序的关系
2.6人工处理过程
2.7尚未问决的问题
3接口设计
3.1用户接口
3.2外部接口
3.3内部接口
4运行设计
4.1运行模块组合
4.2运行控制
4.3运行时间
5系统数据结构设计
5.1逻辑结构设计要点
5.2物理结构设计要点
5.3数据结构与程序的关系
6系统出错处理设计
6.1出错信息
6.2补救措施
6.3系统维护设计
1引言
1.1编写目的
概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,人机界面,实现对系统的初步设计。我们根据需求分析得到的数据流图,将之转化为软件结构和数据结构,建立起目标系统的逻辑模型。使软件编程人员能对目标系统有一致的认识。
1.2背景
<!--[if !supportLists]-->a.<!--[endif]-->所建议开发的软件系统的名称:铁大课表;
<!--[if !supportLists]-->b.<!--[endif]-->本项目的任务提出者、开发者:闫立新、曹锦锋、李夏蕾、苏海岩、王伟光、 杨世超
用户:石家庄铁道大学在校学生
实现该软件的计算中心或计算机网络:学生android手机;
<!--[if !supportLists]-->c.<!--[endif]-->该软件系统同其他系统或其他机构的基本的相互来往关系:该软件系统与手机操作系统、与android内置SQLite数据库系统。
1.3定义
课表:只学校对学生上课过程中的课程安排,具体指什么时候在哪儿上什么课。
Curriculum schedule课程表
1.4参考资料
<!--[if !supportLists]-->a. <!--[endif]-->《软件工程》 孙家广, 高等教育出版社;
<!--[if !supportLists]-->b. <!--[endif]-->《软件工程及软件开发应用》 施一萍,清华大学出版社;
<!--[if !supportLists]-->c. <!--[endif]-->《Android手机程序设计入门、应用到精通》孙宏明,中国水利出版社;
<!--[if !supportLists]-->d. <!--[endif]-->《疯狂android讲义》(第2版)李刚,电子工业出版社。
2总体设计
2.1需求规定
<!--[if !supportLists]-->a. <!--[endif]-->软件应支持用户查看课表的详细信息;
<!--[if !supportLists]-->b. <!--[endif]-->软件支持记录随堂记事或者作业;
<!--[if !supportLists]-->c. <!--[endif]-->灵活地对作业以及课程信息(课程名称,上课地点等)的编辑,更新;
<!--[if !supportLists]-->d. <!--[endif]-->软件应具有一定的容错能力和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证软件功能能正常运行;
<!--[if !supportLists]-->e. <!--[endif]-->软件应能够在原始版本的基础上不断添加新功能;
<!--[if !supportLists]-->f. <!--[endif]-->软件应支持所有使用android 4.0操作系统的手机、平板等移动设备;
<!--[if !supportLists]-->g. <!--[endif]-->软件的实现过程中,代码编写应符合规范,在软件设计及编写的过程中,应随时更新相关软件文档。
2.2运行环境
2.2.1硬件环境
本款软件的硬件平台为android4.0以上手机,CPU为1G Hz以上,RAM为256MB以上,ROM为256MB以上。输入输出必须保证在0-3秒之间完成。
2.2.2软件环境
本款软件基于android平台,是以LINUX为核心的手机操作系统,是标准的LINUX2.6内核。所涉及数据库为Android自带的SQLite数据库,支持具有android软件的手机安装使用。
2.3基本设计概念和处理流程
开始 |
选择星期 |
查看课表 |
选择课程添加或查看相应的作业 |
结束 |
添加完善课表信息 |
2.4结构
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.
铁大课表系统 |
显 示 模 块 |
数 据 库 模 块 |
课表 / 作业 添 加 模 块 |
公 共 模 块 |
清空 所有 数据 模块 |
2.5功能器求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
| 显示模块 | 数据库模块 | 添加模块 | 清空数据模块 |
添加课表 |
| √ | √ |
|
添加作业 |
| √ | √ |
|
显示课表/作业 | √ | √ |
|
|
清空表中数据 |
| √ |
| √ |
2.6人工处理过程
<!--[if !supportLists]-->a. <!--[endif]-->由于学校不提供教务处访问接口,不能通过用户登录自动导入课表,用户不得不手动添加自己的课表;
<!--[if !supportLists]-->b. <!--[endif]-->作业具有灵活性,随堂的作业也需要通过手动输入。
2.7尚未问决的问题
<!--[if !supportLists]-->a. <!--[endif]-->没有具体针对不同分辨率的手机设置不同的显示模式;
<!--[if !supportLists]-->b. <!--[endif]-->存在这一些不得不手工实现的问题。
3接口设计
3.1用户接口
<!--[if !supportLists]-->a. <!--[endif]-->键盘:在用户输入课表或添加作业时,系统自动弹出键盘;
<!--[if !supportLists]-->b. <!--[endif]-->对话框:允许系统一对话框的方式向用户传达信息;
<!--[if !supportLists]-->c. <!--[endif]-->其他选项:允许用户在提供的各种按钮和选项中选择。
3.2外部接口
<!--[if !supportLists]-->a. <!--[endif]-->与硬件的借口:本软件基于android平台,使用的函数完全由android API提供,与手机硬件接口由android平台本身封装;
<!--[if !supportLists]-->b. <!--[endif]-->与android系统接口:本软件基于android平台,使用android提供的各种API函数,处于系统架构最上层的应用层;
<!--[if !supportLists]-->c. <!--[endif]-->与数据库的接口:本软件通过android自带的SQLite数据库对本地数据库进行查找和读写,设置了一个基本的SQLiteDatabase类来帮助实现这些功能。
3.3内部接口
<!--[if !supportLists]-->a. <!--[endif]-->第一次打开软件时通过调用OnCreate类创建数据库表;
<!--[if !supportLists]-->b. <!--[endif]-->MySQLiteOpenHelper和SQLiteDatabase共同实现数据库的存取;
<!--[if !supportLists]-->c. <!--[endif]-->通过调用delete函数清除表中的数据。
4运行设计
4.1运行模块组合
本课表软件主要以每个activity为一个功能模块,一般一个activity完成一个特定的功能,通过主activity中事件的触发启动另外的activity,运用intent等消息传递机制实现每个模块之间的链接与组合。各模块之间相对独立,程序的可移植性好。各个模块之间主要以传递数据和消息来实现模块之间的合作与数据共享。
4.2运行控制
运行控制将严格按照个模块间的函数调用关系来实现,用户通过启动软件进入本软件的主界面,将有一系列的功能选项,每个事件源将引起程序的不同响应。各事务中心模块中,需要对运行控制进行正确的判断,选择正确的运行控制路径。本软件系统只用两种外界控制方式:
<!--[if !supportLists]-->a. <!--[endif]-->按键控制:在切换课表星期数时,点击上面的“←”和“→”进行选择;
<!--[if !supportLists]-->b. <!--[endif]-->输入控制:点击菜单键进行课表的编辑或作业的编辑。
4.3运行时间
<!--[if !supportLists]-->a. <!--[endif]-->显示模块:显示页面将同时显示欢迎信息、当前日期、开学周次、课表信息以及其他菜单选择信息,需要初始化的过程,将占用一定的CPU和内存;
<!--[if !supportLists]-->b. <!--[endif]-->课程详细信息模块:详细信息需要一个activity专门显示,点击分享按钮将调用系统的短信服务,因此将占用一定的系统资源。
5系统数据结构设计
5.1逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
5.2物理结构设计要点
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
5.3数据结构与程序的关系
说明各个数据结构与访问这些数据结构的形式:
6系统出错处理设计
6.1出错信息
用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施
说明故障出现后可能采取的变通措施,包括:
<!--[if !supportLists]-->a. <!--[endif]-->后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
<!--[if !supportLists]-->b. <!--[endif]-->降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
<!--[if !supportLists]-->c. <!--[endif]-->恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
6.3系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。各个程序之间的对应关系,可采用如下的矩阵图的形式;