课程表小管家需求分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程表小管家项目需求分析说明书
唐潇
目录
1系统概述 (2)
2系统需求分析 (3)
2.1需求概述 (3)
2.1.1目标 (3)
2.1.2运行环境 (4)
2.1.3用户的特点 (4)
2.1.4约束条件 (4)
2.2需求规格 (4)
2.2.1软件系统总体功能/对象结构 (4)
2.2.2软件子系统功能/对象结构 (6)
2.2.3描述约定 (6)
3 详细需求说明 (7)
3.1功能需求描述 (7)
3.1.1课表管理模块 (7)
3.1.2 学习记事模块 (8)
3.1.3 闹钟提醒模块 (8)
3.2数据需求规格说明 (9)
3.2.1数据的逻辑描述 (9)
3.2.2静态数据 (9)
3.2.3动态输入数据 (9)
1系统概述
课表小管家基于Android2.3开发,可以运行于2.3及以上版本手机。

本软件是一款课表管理软件,实现的功能主要有3大部分。

①课表管理,用户可以对课表进行查看、添加、
修改以及删除的操作。

②学习记事,该模块主要是方便用户做随笔小记,主要功能有添加、查看、编辑和删除。

③闹钟提醒,用户可以设定提醒闹钟,系统到时间了就提醒用户有课要上需要查看课表,主要实现了提醒的添加和删除。

2系统需求分析
2.1需求概述
2.1.1目标
随着人们在移动环境下生活工作频率的不断增加,手机的用途也日益丰富。

现在,对于用户来讲,手机不仅意味着一种打电话,发短信的沟通工具,而是日常生活,娱乐,工作的一部分。

对于大学生来说,手机软件也是学习的好帮手,每天课程作业、实验繁忙,一些同学经常有忘记当天课程或作业的烦恼,这款软件的目标就在于解决同学的这种烦恼。

本软件的主要功能有:
(1)记录课程表信息。

(2)记录随堂记事,并可以自己设置闹钟提醒,上课提醒,交作业提醒等等;若您想在其他时间查看某天(某门课程)的作业,也可以打开应用,查看当天及一周的课程列表。

(3)灵活地对作业以及课程信息(课程名称,老师,教室,时间段等)的编辑,更新。

系统流程如下图:
图2-1系统流程图
2.1.2运行环境
客户端操作系统:Android;
客户端硬件设备:Android手机等移动终端;
JDK版本1.6以上;
Android SDK版本2.2以上
开发环境:windows7 / windows XP
开发软件:eclipse
2.1.3用户的特点
安卓系统移动终端使用者。

2.1.4约束条件
由于学生的课表是变化且不可能有一样的课表,所以对课表的存储需要客户自己手动输入,本软件还未能实现课表导入机制;由于时间有限,对课程提醒的功能还有待优化,比如增加作业实验提醒等更丰富的功能。

2.2需求规格
2.2.1软件系统总体功能/对象结构
本软件系统总体要体现的功能如下用例图,为用户的课表和课程管理提供
图2-2 系统用例图
图2-3 系统层次图
2.2.2软件子系统功能/对象结构
本软件实现的系统结构如下图:
图2-4 系统结构图
2.2.3描述约定
包命名
命名规则:全部小写,域名用.分隔。

本程序包含了3个包,分别是timetable.student ,timetable.database 和timetable.service 。

命名符合了java 包命名的基本规则,又按照各文件实现的作用进行了具体分类,使各模块功能一目了然。

类命名
命名规则:类名采用大小写混合的方式,每个单词的首字母大写,词组的每个单词首字母也使用大写,类名简洁而富于描述。

例如: class TimeTable; class AddClass; 方法的命名
命名规则:方法名使用动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。

例如: getClass();showNote(); 变量命名
命名规则:变量采用小写命名,单词之间以下划线或美元符号开头,变量名简短且富于描述。

例如:boolean update; Button note_edit; Button note_back;
常量命名
命名规则:类常量的声明,全部大写,单词间用下划线隔开。

例如:static final int WHICH_TAB= 0;
static final int ADD_CLASS = 0;
layout 命名
命名规则:layout xml 的命名全部单词小写,使用模块名+功能名称来命名。

例如:shownote.xml; addnote.xml;
注释
每个源文件在开头都有一个注释,列出了项目名、作者、类名、日期和版权声明。

如下:
/*
*项目名称:CourseManager
* @author team16
*类名称:${type_name}
* 2012 9~11
* copyright@team16
*/
方法注释都采用/**XXX*/的形式,方便自动生成文档。

关键代码都采取//XXXX的形式来标注。

3 详细需求说明
3.1功能需求描述
3.1.1课表管理模块
本模块是要建立一个课表管理功能的模块,方便用户查看和编辑课程信息。

用户只要输入课程的上课时间、课程名称、任课教师、授课地点信息,便可以帮助用户管理课程信息,随时查看一周的课程并在对话框中查看到更具体的课程信息。

当输入为空,还会提醒用户出错不会成功保存课程从而确保课程信息的完整性。

当用户不需要课程或是课程有变动时,还可以编辑删除该课程。

图3-1 课表管理模块IPO图
3.1.2 学习记事模块
学习记事模块,旨在帮助用户记录上课的其他信息,丰富课程信息记录与查看,例如课程作业,老师上课的要点记事等较繁复的信息。

可记录多条记事,可随时查看随时编辑,当记事不需要时还可以删除记事。

输入处理输出
图3-2 学习记事模块IPO图
3.1.3 闹钟提醒模块
闹钟提醒模块,是为了对一些重要的课程信息做有对话、有震动铃声的提醒,用户可以自行设置提醒时间,上课时间提醒或是交作业时间提醒等等。

添加的闹钟可以删除。

输入处理输出
图3-3 闹钟提醒模块IPO图
3.2数据需求规格说明
3.2.1数据的逻辑描述
系统总共包含timetable.student,timetable.database和timetable.service3个包,timetable.database主要包含于数据库操作相关的类,timetable.service主要包括广播服务相关的类,timetable.student则包含实现其他功能的类。

系统的数据库包里面主要包含Constants,NoteData,Tdata,TimeTableData等几个类。

服务包里主要包括AlarmAlert,AlarmSet,CallAlarm,TipHelper几个类。

其他包里包括AddClass,AddNote,ExpendableListAdapter,main,Note,ShowNote和TimeTable等几个类。

3.2.2静态数据
TimeTableData类包含两个静态变量DATABASE_NAME和DATABASE_VERSION用来标注数据库名和数据库版本,该类继承自SQLiteOpenHelper类用于管理课表数据,首先通过构造函数生成data help对象,在用数据库语言创建数据库表,通过onUpgrade方法来实现数据库的更新操作。

NoteData类包含两个静态变量DATABASE_NAME和DATABASE_VERSION用来标注数据库名和数据库版本,该类继承自SQLiteOpenHelper类用于管理记事数据,首先通过构造函数生成data help对象,在用数据库语言创建数据库表,通过onUpgrade方法来实现数据库的更新操作。

3.2.3动态输入数据
Tdata类用于对课表数据的管理,包含课表中各字段,用ID表示在表中的ID号,day
标识星期数,module标识课程名,lecturer标识教师,room标识上课教室,timeStart和timeEnd 标识开始和结束时间。

每个属性都对应一个get方法,返回该属性。

相关文档
最新文档