当前位置: 首页 > news >正文

铁大课表 详细设计说明书

 

 

铁大课表

详细设计说明书

 

 

 

 

 

 

 

 

 

第七小组:闫立新、曹锦锋、李夏蕾、

苏海岩、王伟光、杨世超

 

2014414

 

 

 

1引言... 4

1.1编写目的... 4

1.2背景... 4

1.3定义... 4

1.4参考资料... 4

2程序系统的结构... 5

3数据库模块设计说明... 2

3.1模块描述... 6

3.2 系统E-R图_______________________________________________________________6

3.3功能... 6

3.4性能... 6

3.5输人项... 6

3.6输出项... 6

3.7设计方法... 7

3.8流程逻辑... 7

3.9接口... 7

3.10注释设计... 8

3.11限制条件... 8

3.12测试计划... 8

4添加模块设计说明... 9

4.1模块描述... 9

4.2功能... 9

4.3性能... 9

4.4输人项... 9

4.5输出项... 9

4.6设计方法... 9

4.7流程逻辑... 10

4.8接口... 10

4.9注释设计... 11

4.10限制条件... 11

4.11测试计划... 14

5壁纸模块设计说明... 12

5.1程序描述... 12

5.2功能... 12

5.3性能... 12

5.4输人项... 12

5.5输出项... 12

5.6设计方法... 12

5.7流程逻辑... 13

5.8接口... 13

5.9注释设计... 13

5.10限制条件... 13

5.11测试计划... 13

4


1引言

1.1编写目的

概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,人机界面,实现对系统的初步设计。我们根据需求分析得到的数据流图,将之转化为软件结构和数据结构,建立起目标系统的逻辑模型。使软件编程人员能对目标系统有一致的认识。

1.2背景

a.  待发的软件系统的名称:铁大课表;

b.  本项目的任务提出者、开发者:闫立新、曹锦锋、李夏蕾、苏海岩、王伟光、杨世超

用户:石家庄铁道大学在校学生

实现该软件的计算中心或计算机网络:学生android手机;

c.  该软件系统同其他系统或其他机构的基本的相互来往关系:该软件系统与手机操作系统、与android内置SQLite数据库系统。

1.3定义

SDK(Software Development Kit, 即软件开发工具包 )一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。

课表:只学校对学生上课过程中的课程安排,具体指什么时候在哪儿上什么课。

1.4参考资料

  1. 《软件工程》 孙家广, 高等教育出版社;
  2. 《软件工程及软件开发应用》 施一萍,清华大学出版社;
  3. 《Android手机程序设计入门、应用到精通》孙宏明,中国水利出版社;
  4. 《疯狂android讲义》(第2版)李刚,电子工业出版社。

2程序系统的结构

 

FileDB.java

 

+create()

Link.java

 

+doWork()

+doSelect()

+doSelectterm()

+doClose()

 

ScheduleAppWidgetProvider.java

 

+onUpdate()

+onDeleted()

+onDisabled()

+onEnabled()

+onReceive()

                               

 

 

 

 

View.java

 

+onCreate()

+onPreferenceClick()

+onPreferenceChange()

 

Main.java

 

+onCreate()

+onCreateOptionsMenu()

+onOptionsItemSelected()

+onStop()

+insertView()

+onResume()

+deallayoiut()

+onStart()

Setting.java

 

+onCreate()

+onPreferenceClick()

+onPreferenceChange()

+onKeyDown()

+onPause()

R.java

 

 

SystemSet.java

 

+onCreate()

+onPreferenceChange()

+onPreferenceClick()

MySQLiteOpenHelper.java

 

+MySQLiteOpenHelper()

+onCreate()

+onInsert()

+onUpgrade()

+onSelect()

+tableis()

BuildConfig.java

 

 


 

 

 

 

 

 

 

3数据库模块设计说明

3.1模块描述

数据库模块是本系统的核心模块,学生通过界面将自己的课程信息存入数据库,并显示出来, 通过界面进行添加和修改数据库的内容,增删自己的课表。

3.2系统E-R图

 

3.3功能

保存学生通过界面添加的课程信息,通过星期几和第几节课来查询上课内容,并进行添加,删除,和修改等基本操作。

3.4性能

因为是单表查询,不用做连接或笛卡尔积,因此查询速度很快。响应时间在1秒之内。

3.5输人项

Day          星期

No           课节

Name        课程名

Address      上课地点

Homework    课堂作业

3.6输出项

满足星期,课节的所有课程属性的一组的课程信息。

3.7设计方法

采用android自带的listview的方法,并设计了相应的适配器adapter,采用在表格布局中嵌套线性布局,采用自带menu组件设计菜单,调用android的sms实现短信分享功能。通过识别手势给数据库参数以天为单位的星期数给数据库获得当前天的课程信息。

3.8流程逻辑

 

3.9接口

l  SQLiteDatabase安卓自带的本地数据库。

l  FileDb()该接口实现了数据库存取。

l  Content 该组件提供本地数据库的存取的辅助功能。

l  onInsert()插入课程信息到数据库。

l  onselect() 通过该接口实现读取数据库中的课表记录。

l  HashMap 安卓组件将课表信息存成键值对。

l  SQLiteOpenHelper用来管理数据库的创建和版本。

l  onUpgrade()允许我们再创建和升级数据库时,进行自己的操作

3.10注释设计

FileDB

用来在数据库中保存和读取课程信息

onInsert()

插入课程信息到数据库 

onSelect()

读取数据库中的所有课程信息

SQLiteOpenHelper

获得SQLiteDatabase对象,通过该对象可以对数据库进行操作,提供了onCreate()、onUpgrade()两个回调函数,允许我们再创建和升级数据库时,进行自己的操作

3.11限制条件

数据库的存储容量有一定的限制,课程信息的表超过一定容量后将不能进行存储和查询,在同时执行多次查询的时候容易引起冲突,不能满足超过一定量的查询要求。

3.12测试计划

本模块的测试主要采用多次查询和读取来测试数据库的性能,其实,用多个用户使用的同时也增加了数据库的查询量,另外多用户同时查询也是对数据库查询的一个考验和测试。

4.添加模块程序设计

4.1模块描述

在这个模块中,通过菜单选项进入添加界面,首先选择星期,在之后选择课节,之后才能添加课程名称,上课地点,和课堂作业,返回后会直接在界面上显示出来。

4.2功能

从界面添加课程信息至数据库,数据库接受课程数组,解析后将信息显示在界面上,显示课程的详细信息

4.3性能

   系统具有自己获得当前日期的功能,自动出现当天的课程,通过界面的箭头来调节星期几,并显示那天的课程。

4.4输人项

Day          星期

No           课节

Name        课程名

Address      上课地点

Homework    课堂作业

4.5输出项

满足星期,课节的所有课程属性的一组的课程信息。

4.6设计方法

  采用android自带的listview的方法,并设计了相应的适配器adapter,采用在表格布局中嵌套线性布局,采用自带menu组件设计菜单,通过给数据库参数以天为单位的星期数给数据库获得当前天的课程信息。

4.7流程逻辑

 

4.8接口

l  onSelect ()显示课表的主函数,在主界面显示课程的详细信息。

l  onOptionsItemSelected ()显示菜单的主函数,输入初始化后的菜单,显示在屏幕上。

l  onIntert()添加数据到数据库。

l  onCreateOptionsMenu()创建菜单项目。

4.9注释设计

onSelect

查询数据库中的信息并显示出来

onOptionsItemSelected

菜单项目

help()

显示帮助信息

onCreateOptionsMenu ()

创建菜单项目

 

4.10限制条件

主要是界面并不能通过滑动来进行,必须需通过上面的箭头来进行,添加页面通过菜单项目进行。

4.11测试计划

本模块的测试主要是进行添加的功能,添加不同形式的课程进行测试。

5.壁纸模块程序设计

5.1模块描述

在这个模块中,通过菜单选项进入更换壁纸的功能界面,并更换课表的背景图片。

5.2功能

更换课表的背景图片

5.3性能

   系统通过用户的触摸选择,接收到更换壁纸的选项,并选择更换何种壁纸,进行设置。

5.4输人项

num    壁纸的号码

5.5输出项

满足壁纸号码的那张背景图片

5.6设计方法

  采用android自带的LinearLayout的功能,对num进行赋值,并选择相应的壁纸。

5.7流程逻辑

 

5.8接口

l  deallayoiut ()背景图片函数。

setBackgroundResource ()更换背景图片

5.9注释设计

deallayoiut

背景图片函数

setBackgroundResource

更换背景图片

 

5.10限制条件

只有四种图片可以更换,并没有涉及太多。

5.11测试计划

看看是否可以更换图片

转载于:https://www.cnblogs.com/caojinfeng/p/3751853.html

相关文章:

  • 结合FireBreath在Chrome/FireFox的多进程模式下崩溃一例
  • Java多线程之Wait()和Notify()
  • [java面试]宇信易诚 广州分公司 java笔试题目回忆录
  • 忘记scott密码解决
  • 采集/自动登录啊都可以用这两个方法实现 asp.net
  • windows phone随笔
  • [CLR via C#]11. 事件
  • Welcome to Swift (苹果官方Swift文档初译与注解九)---58~62页(第二章)
  • 高级mask应用
  • 义隆单片机学习笔记之(四) 编程及烧录
  • ASP.NET MD5加密
  • topcoder SRM 618 DIV2 MovingRooksDiv2
  • 微信公众号自定义菜单与回车
  • 协议分析-迅雷镜象服务器下载
  • 一个硬件高手的设计经验分享
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • Android Volley源码解析
  • Android开源项目规范总结
  • git 常用命令
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Linux CTF 逆向入门
  • Python_网络编程
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • uni-app项目数字滚动
  • Vim 折腾记
  • web标准化(下)
  • 分布式任务队列Celery
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端面试之CSS3新特性
  • 想写好前端,先练好内功
  • 写代码的正确姿势
  • - 转 Ext2.0 form使用实例
  • 进程与线程(三)——进程/线程间通信
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (06)Hive——正则表达式
  • (09)Hive——CTE 公共表达式
  • (1)(1.13) SiK无线电高级配置(六)
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (二)pulsar安装在独立的docker中,python测试
  • (翻译)terry crowley: 写给程序员
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (转)关于多人操作数据的处理策略
  • (转)原始图像数据和PDF中的图像数据
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .chm格式文件如何阅读
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NET导入Excel数据