系统概要设计说明书基于calendar格式的川大课表系统.docx
- 文档编号:6436214
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:11
- 大小:53.08KB
系统概要设计说明书基于calendar格式的川大课表系统.docx
《系统概要设计说明书基于calendar格式的川大课表系统.docx》由会员分享,可在线阅读,更多相关《系统概要设计说明书基于calendar格式的川大课表系统.docx(11页珍藏版)》请在冰豆网上搜索。
系统概要设计说明书基于calendar格式的川大课表系统
[项目名称]
基于calendar格式的川大课表
概要设计说明书
[V1.0(版本号)]
拟制人:
黄敏1043041452
赵海林1043041252
[二零一二年十二月六日]
修改记录
版本
变更原因
变更内容简述
编制/修订者
批准者
发布日期
v1.0
创建
黄敏
2012/12/6
目录
1引言2
1.1编写目的2
1.2项目背景2
1.3定义3
1.4参考资料3
2总体设计3
2.1需求规定3
2.2运行环境4
2.2.1硬件环境4
2.2.2软件环境4
2.3基本设计概念和处理流程5
2.4系统结构5
2.5功能需求与系统模块的关系5
2.6人工处理过程5
2.7尚未解决的问题5
3接口设计6
3.1用户接口6
3.2外部接口6
3.3内部接口6
4运行设计7
4.1运行模块组合7
4.2运行控制7
4.3运行时间7
5系统数据结构设计8
5.1逻辑结构设计要点8
5.2物理结构设计要点8
5.3数据结构与程序的关系9
6系统出错处理设计9
6.1出错信息9
6.2补救措施9
6.3系统维护设计10
1引言
1.1编写目的
本系统设计说明书用于描述基于android系统上的川大课表系统软件项目的整体系统设计方案。
本说明书以《系统需求规格说明书》作为依据,是系统详细设计的依据,也作为系统测试需求和系统测试计划和测试程序的重要参考。
本阶段完成系统的大致设计并明确系统的数据结构与软件结构。
本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序发的软件表示。
本系统概要说明书的阅读对象为:
项目经理,软件分析员、程序开发员、软件测试员等。
1.2项目背景
●项目的提出者、开发者和用户
任务提出者:
软件工程老师
开发者:
本小组的所有成员
用户:
所有使用android手机的人
●该软件系统与其他系统的关系
众所周知,智能手机是未来的发展趋势,它从2000年出世到现在一直处于蓬勃发展中,不过短短十几年的时间,已经有相当大得规模,更新换代的速度极快,而android手机在智能手机的市场占有率现在是一马当先的。
我们所立项目是基于android平台的川大课表系统的开发,这个专为移动设备设计的软件平台,是由Linux+Java构成的开源软件,它允许所有厂商和个人在其基础上进行开发。
它有着一个庞大且不断增长的潜在用户群,因而使得我们这款时钟软件有了强大的受众支持。
黑莓和iphone都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。
黑莓是企业用户的不二选择。
但是,作为一种消费设备,它在易用性和“新奇特性”方面难以和iphone抗衡。
Android则是一个年轻的、有待开发的平台,它具有潜力同时涵盖移动电话的两个不同的消费群体,甚至可能缩小工作和娱乐的差别。
1.3定义
SDK(SoftwareDevelopmentKit,即软件开发工具包)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
SQL(StructuredQueryLanguage)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
同时也是数据库脚本文件的扩展名。
NETBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。
该协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯,所以在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。
因为它占用系统资源少、传输效率高,所以几乎所有的局域网都是在NetBIOS协议的基础上工作的。
1.4参考资料
●《软件项目开发方法与管理》——任永昌清华大学出版社
●《Android应用开发揭秘》——杨丰盛机械工业出版社
●《管理信息系统》(第2版)——王要武电子工业出版社
2总体设计
2.1需求规定
●软件应具有一般日历的功能,同时支持当前时间显示,时,分,秒
●软件应保证用户可以通过网络来查询课表,课表应具有实时性
●软件应支持用户查看课表的详细信息
●软件应保持一定的数据精确度,与世界时间同步更新
●软件应能使用智能情景模式等进行自我设置,提供自定义选项,以更好地实现系统设置
●软件应具有一定的容错能力和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证软件功能能正常运行
●软件应能够在原始版本的基础上不断添加新功能,通过网络更新可以在原始代码中安装扩展包,实现版本升级
●软件应支持所有使用android2.2操作系统的手机、平板等移动设备,并附有帮助与操作指南
●软件的实现过程中,代码编写应符合规范,在软件设计及编写的过程中,应随时更新相关软件文档。
详细需求参见《系统需求规格说明书》
2.1运行环境
2.2.1硬件环境
本款软件的硬件平台为android2.0以上智能手机,屏幕格式是320*480的屏幕分辨率,CPU为520MHZ以上,RAM为256MB,ROM为256MB,消息和通信协议为NetBIOS。
输入输出必须保证在0-3秒之间完成。
2.2.2软件环境
本款软件基于android平台,是以LINUX为核心的手机操作系统,是标准的LINUX2.6内核。
所涉及数据库为Android自带的SQLLite,支持具有android软件的手机安装使用。
详细需求参见《系统需求规格说明书》
2.3基本设计概念和处理流程
2.4系统结构
2.5功能需求与系统模块的关系
登录模块
显示模块
数据库
情景模块
网络模块
公共模块
登录
√
√
√
√
显示课表
√
√
√
√
智能模式
√
√
√
分享数据
√
√
手势滑动
√
√
√
√
2.6人工处理过程
●由于遇到了一定的技术难题,在解析服务器传回的数据时不得不得手动解析为字符数组。
●为方便老师在选择学院时,手动添加了45个学院和部门。
2.7尚未解决的问题
●没有实现在显示课表时显示学生名字的功能。
●课表的显示以江安的时刻表为准,望江、华西的暂时未设置。
●手势滑动选择课表如果过快,星期几的显示或许会跟不上。
●没有具体针对不同分辨率的手机设置不同的显示模式。
●存在这一些不得不手工实现的问题。
3接口设计
3.1用户接口
●键盘
在登录时,输入数据将自动调用系统的键盘接口
●手势
允许用户通过手势滑动调整课表信息
●对话框
允许系统以对话框的方式向用户传达信息
●其他选项
允许用户在提供的各种按钮与选项中选择
3.2外部接口
●与硬件的接口
本系统基于android平台,使用的函数完全由androidAPI提供,与手机硬件接口由安卓平台本身封装。
●与android系统接口
本系统基于android平台,使用android提供的各种API函数,处于系统架构最上层的应用层。
●与网络系统的接口
本系统通过向服务器端发送POST命令获得网页返回结果,只需调用封装好的网络传送API函数
●与数据库的接口
本系统通过android自带的sqlite数据库对本地数据库进行查找和读写,设置了一个基本的databasehelp类来帮助实现这些功能。
3.3内部接口
●登录时由MainActivity向Courseshow跳转,由Intent进行消息的封装与传递
●webCourse主要用于和服务器的通信将结果传递给courseshow
●公共类Comfun提供静态变量和函数方便各个类使用
●Courseshow显示信息并且将信息传递给detailshow
●Coursedb和datebasehelper共同实现数据库的存取
4运行设计
4.1运行模块组合
本课表软件主要以每个activity为一个功能模块,一般一个activity完成一个特定的功能,通过主activity中事件的触发启动另外的activity,运用Intent等消息传递机制实现每个模块之间的连接与组合。
各模块之间相对独立,程序的可移植性好。
各个模块之间主要以传递数据和消息来实现模块之间的合作和数据共享。
4.2运行控制
运行控制将严格按照各模块间的函数调用关系来实现,用户通过启动软件进入本软件的主界面,将有一系列的功能选项,每个事件源将引起程序的不同响应。
在各事务中心模块中,需要对运行控制进行正确的判断,选择正确的运行控制路径。
本系统只有两种外界控制的方式。
●登录控制
第一次登录将要求学生输入学号和密码,要求老师输入姓名和选择学院,只需点击输入框,调用系统键盘便可以输入。
●手势控制
在切换课表显示天的时候,向右滑动表示显示上一天的课表,向左滑表示显示明天的课表。
屏幕的任何地方都讲获得感应。
4.3运行时间
●登录模块
程序等待用户手动输入账号密码,有一个等待时间,连接服务器,传回课程信息需要一个发送与返回的等待时间,将占用网络时间。
●显示模块
显示页面将同时显示欢迎信息、当前日期、开学周次、课表信息以及其他菜单选择信息,需要初始化的过程,将占用一定的CPU和内存。
●课程详细信息模块
详细信息需要一个activity专门显示,点击分享按钮将调用系统的短信服务,因此将占用一定的系统资源。
●智能情景模式模块:
该模块调用大量的系统sevice,在一定程度上将占用系统的资源。
5系统数据结构设计
5.1逻辑结构设计要点
系统所使用的数据结构
名称
标识符
数据项
类型
定义
作用
数组
LIST
string
字符串
List
保存课程信息
映射表
MAP
Key,value
键值关系
MAP
映射到数据库
5.2物理结构设计要点
数据项
存储位置
访问方法
存取单位
存取长度
是否私有
college
选课表
查找数据库
varchar
80
private
cnum
课程表
查找数据库
int
--
private
cname
课程表
查找数据库
varchar
80
private
corder
课程表
查找数据库
int
--
private
credit
课程表
查找数据库
float
--
private
type
课程表
查找数据库
varchar
10
private
teach
选课表
查找数据库
varchar
128
private
week
选课表
查找数据库
varchar
30
private
day
选课表
查找数据库
int
--
private
5.3数据结构与程序的关系
数据结构
公共类
课程类
数据库类
网络类
解析类
LIST
√
√
√
√
√
MAP
√
√
√
6系统出错处理设计
6.1出错信息
出错信息
输出信息形式
处理方法
软件安装时出错
对话框
询问“是否提交错误信息”
检查软件更新时出错
对话框
提示用户“更新失败”
网络异常
提示栏
提示用户“稍后再试”
登录失败
提示栏
学号密码不能为空且要存在
获取课程信息失败
提示栏
显示“获取失败,请重试“
内存不足报错
对话框
提示用户“系统内存不足”
非法操作错误
对话框
提示“非法操作!
”
信息丢失错
本地校验
提示“信息可能丢失”
软件卸载时出错
对话框
提示错误信息“软件卸载出错”
6.2补救措施
●提示用户周期性地把用户保存的重要信息保存至外存,作为备份。
课表程序一旦开启了自动更新时间的功能,就会定时启动联网服务检查教务处是否有更新。
在此期间发现系统有更新后,将在用户下次开启课表软件的时候弹出对话框提示用户系统有更新,并询问是否更新。
一旦用户选择更新则更新数据库,选择否则不做任何操作。
●如遇未知错误导致时钟软件安装时出错,则系统将保存错误信息,恢复原寄存器内容,释放内存已使用的空间。
并弹出对话框提示用户错误信息“软件安装出错”,询问“是否提交错误信息”。
如果用户选择了提交,则启动联网服务程序,向官网发送收集到的错误信息。
●当用户尚未验证身份就希望访问隐私信息,系统就会自动转至身份验证界面。
●当系统内存不足以运行当前提交的程序时,将提示用户错误信息,程序将自动退出。
●当检查软件更新时出错时,系统将CPU及各个寄存器当前的数据压栈保存,强制终止正在运行的更新程序。
●当课表软件意外地访问到了系统文件,收到操作系统的拒绝信息时,将终止当前操作,并恢复操作之前的各寄存器。
●当课表程序被意外终止时,强制退出前系统将CPU及各个寄存器当前的数据压栈保存,当用户再次启动课表程序时,提示用户上次退出是意外终止,是否还原至上次的页面。
如果用户选择是,则将保存的寄存器信息还原。
选择否则开启主页面。
6.3系统维护设计
●联网服务模块
当课表系统的其他维护模块需要连接网络更新时间或发送错误报告时,将启用该联网服务模块。
该模块将保存请求信息,等到开机启动时检测信号,条件满足则启动联网程序,响应其他模块的联网请求。
●数据库更新模块
在我们的课表软件中加入了数据库更新模块,该模块的功能是根据用户的设置(循环周期)定期启用联网服务,在线更新数据库。
一旦发现数据库有更新将会提示用户是否更新数据库。
●系统升级模块
本系统依赖于教务处个人信息系统的更新,当教务处的系统升级后,我们的客服端课表软件也要做相应的升级,不然无法使用,因此要时常检查服务器端是否有更新。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 概要 设计 说明书 基于 calendar 格式 课表
![提示](https://static.bdocx.com/images/bang_tan.gif)