zoukankan      html  css  js  c++  java
  • 铁大课表 详细设计说明书

     

     

    铁大课表

    详细设计说明书

     

     

     

     

     

     

     

     

     

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

    苏海岩、王伟光、杨世超

     

    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测试计划

    看看是否可以更换图片

  • 相关阅读:
    妙味——字符串方法2
    妙味——字符串方法
    [LeetCode][JavaScript]Shortest Palindrome
    [LeetCode]Kth Largest Element in an Array
    [LeetCode][JavaScript]Word Ladder
    [LeetCode][SQL]Second Highest Salary
    [LeetCode][JavaScript]Clone Graph
    [LeetCode][JavaScript]Merge k Sorted Lists
    [LeetCode][JavaScript]Merge Two Sorted Lists
    [LeetCode][JavaScript]Valid Sudoku
  • 原文地址:https://www.cnblogs.com/caojinfeng/p/3751853.html
Copyright © 2011-2022 走看看