组员 | 分工 |
---|---|
2052402 王珈懿(组长) | ppt,报告,代码 |
2052407 周均丽 | 汇报,报告,代码 |
2031208 叶梦婷 | ppt,报告,代码 |
2033119 李韶卿 | ppt,报告,代码 |
自我评分: 87
初入大学校园的同学们往往会不适应走班上课的模式,同时大学上课教室通常较为分散,时间也不集中,同学经常会忘记自己上课的时间或教室地点。学校自动生成的课程表往往是根据web页面进行设计的,但时常打开电脑确认课表不仅花费的时间长,同时也不便携,不够方便。因此我们设计了一款手机端的课程表软件,帮助同学们记录自己的课程信息,可以随时随地确认自己的课程情况,为同学们的学习提供便利。
本系统是基于Android Studio平台和SQLite数据库开发的一款课程表软件,通过多种布局的嵌套实现了课程表的基础布局,通过Activity组件的应用实现了课程的添加和显示功能,通过SQLite数据库的使用实现了将课程的添加、删除和修改信息保存到数据库。在本系统中,用户可以实现自定义课程表,将课程名、上课时间、授课教师、教室地点等信息储存到课程表中,并对课程进行删除、更新等操作,使课程信息显示更直观,能有效地减少用户非主观因素缺课漏课的情况。
相比较于高中的固定教室教学模式,大学教育显然有着课程种类多、课程地点分散、课程时间不集中的特点,很多刚上大学的同学短时间内都很难适应新的教学模式,而大一又是整个大学学习生涯打下坚实基础的重要阶段,对同学们至关重要,因此这也促进了课程表软件的开发。对于高年级同学来说,每天都有着不同的作业、不同的实验,穿梭于教室、图书馆和实验室之间,有时候难免会忘了当前要上的课程。该软件有利于学生对自己课程的规划和管理,有助于学生更好地把控自己的校园时间,在完成课程学习的基础上更好地利用空余时间提升自己。同时在打下良好学习基础的前提下,学生在后续的学习中也能够更好地完成学习目标,有利于总体能力的提升。由此可见,这款软件的开发有着非常积极的影响,能够促进大学生积极学习,为将来打下基础。
该软件通过售卖使用权来赢利,针对免费用户设有课程设定上限,如果升级为会员则可以无限量添加课程。 在软件开发设计阶段,我们应该以软件的研究开发为主,而不是以降低研究开发费用为根本目的。要努力研制出适应市场需要、功能比较齐全但又不至于过剩的产品,并对其是否具有竞争性进行可行性分析。此阶段中,研究和开发成本有可能提高,是为了开拓市场和创新所应付出的代价。在此阶段要非常重视质量成本,努力降低由于质量损失而导致发生的成本。在追求产品生命周期研究开发阶段的成本最小化时,要充分考虑到质量成本,寻求二者的最佳结合点。在保证可以接受的质量成本的前提下,努力降低研究开发阶段的成本。 在软件生产制造阶段,产品由构想变为现实,虽然在此阶段产品成本降低的潜力已经不大,但我们要通过自身的努力能够达到的成本作为控制的最佳成本,以此为公司树立标杆成本。 在软件营销阶段,该软件主要的受众群体为大学生,因此我们需要在校园墙、校友群以及一些使用群体多为大学生的软件进行推广,在初创阶段可以较多地投入广告宣传费用;成熟期时由于其已建立了一定的声誉和在市场中占有一定的份额,可以适当减少宣传费用的投入,衰退期时要注重短期收益,对每一笔支出要考虑成本和收益原则来决定是否采取投入。 在软件使用维护阶段,必须将用户的使用成本考虑进去,努力降低由于质量问题而造成的各种损失。此时应对为提高用户满意度而支出的大量维护成本进行有效管理,在提高产品质量的基础上降低维护费用支出,并建立有效的信息反馈机制,保证客户需求能够得以及时满足。在软件废弃或升级时,应对用户的追加成本及公司的替换成本进行核算,以保证软件生命周期的成本能够得到全面反映,准确核算软件赢利能力。
功能序号 | 功能名称 | 功能说明及设计模块 | 完成人和比例 |
---|---|---|---|
1 | 课程管理 | 包含课程信息的创建、修改等。涉及模块1、2、3 | 王珈懿100% |
2 | 课程保存 | 将课程信息的变更保存到SQLite数据库。涉及模块1、2、3 | 周均丽100% |
3 | 课程汇总显示 | 将所有课程信息汇总于主界面中显示。涉及模块1、2、3 | 叶梦婷100% |
4 | 课程查看 | 查看已创建课程的具体信息。涉及模块4 | 李韶卿100% |
视图/表名 | 类型 | 功能说明 |
---|---|---|
Courses | 基本表 | 集中保存课程信息 |
用户查询 | 查询 | 显示用户查询课程的所有信息 |
基本表:[courses]
字段 | 类型 | 长度 | 约束 | 备注 |
---|---|---|---|---|
课程id | 整型 | 主键 | ||
课程名 | 文本 | 20 | ||
教师名 | 文本 | 10 | ||
教室号 | 文本 | 10 | ||
星期 | 整型 | |||
课程开始时间 | 整型 | |||
课程结束时间 | 整型 |
查询:[用户查询]
字段 | 类型 | 长度 | 约束 | 备注 |
---|---|---|---|---|
课程id | 整型 | 主键 | ||
课程名 | 文本 | 20 | ||
教师名 | 文本 | 10 | ||
教室号 | 文本 | 10 | ||
星期 | 整型 | |||
课程开始时间 | 整型 | |||
课程结束时间 | 整型 |
1)技术选择
2)工具使用
知识点 | 实现的功能与涉及到的模块 | 涉及到的文件 |
---|---|---|
1.菜单 | 显示项目名称、提供增加课程信息选项 涉及模块1 | toolbar.xml、MainActivity |
2.字符串与尺寸资源 | 实现页面布局、对相关显示进行解释、对错误输入进行提示 涉及模块 1、2、3、4 | activity_add_course.xml、activity_main.xml、acvtivity_see_course.xml、course_card.xml、left_view.xml、AddCourseActivity、MainActivity、SeeCourseActivity、string.xml |
3.操作栏 | ||
4.Fragment | ||
5.手势 | ||
6.广播消息 | ||
7.多线程 | ||
8.服务 | ||
9.进程间通信 | 实现对输入数据的读取及数据库数据的存储 涉及模块1、2、3、4 | AddCourseActivity、MainActivity、SeeCourseActivity |
10.文件存储 | ||
11.Sqlite数据库 | 实现课程信息的存储与查询 涉及模块1、2、3、4 | DatabaseHelper、SeeCourseActivity、MainActivity |
12.ContentProvider | ||
13.位置与地图 | ||
14.Wiget | 实现页面布局、相关控件的触发功能 涉及模块1、2、3、4 | AddCourseActivity、MainActivity、SeeCourseActivity |
15.传感器 | ||
16.图形与多媒体 | 实现不同页面的背景、功能图标、项目图标显示 涉及模块1、2、3、4 | activity_add_course.xml、activity_main.xml、acvtivity_see_course.xml、AndroidManifest.xml |
17.网络基础(Socket、TCP/IP、http协议) | ||
18.Webkit与浏览器 | ||
19.JSON与网络API | ||
20.设计模式 | ||
21.权限 | ||
22.WebService | ||
23.xml文件解析 | ||
24.其他资源的访问 | ||
25.蓝牙与NFC | ||
26.框架和库 | ||
27.NDK | ||
28.其他(请注明) |
系统模块编号 | 系统模块名称 | 函数声明 | 作用 |
---|---|---|---|
1 | 添加课程信息 | okButton.setOnClickListener(new View.OnClickListener()、onCreate(SQLiteDatabase db)、saveData(Course course) | 读入用户输入的课程信息,创建数据库,将课程信息数据存入数据库 |
2 | 修改课程信息 | ReviseBtn.setOnClickListener(new View.OnClickListener()、okButton.setOnClickListener(new View.OnClickListener() | 创建课程数据修改事件,将修改内容保存至数据库 |
3 | 删除课程信息 | delBtn.setOnClickListener(new View.OnClickListener() | 创建课程数据删除事件、删除指定课程信息 |
4 | 查询课程信息 | createItemCourseView(final Course course) 、loadData() | 加载数据库数据、创建单个课程视图,显示欲查询的课程信息 |
控件 | 名称和功能 |
---|---|
![]() |
activity_add_course:用户手动输入或选择课程的基本信息,点击新建按钮可新建课程。 |
![]() |
toolbar:课程表的工具条,“+”键可打开新建课程界面。 |
![]() |
course_card:每个课程的卡片视图,可在主界面添加。 |
![]() |
activity_main:课程表的主界面,显示星期几和节数,存放所有课程卡片和左侧时间卡片。 |
![]() |
activity_see_course:可查看课程的详细信息,两个按钮用来修改或删除课程。 |
![]() |
left_view:显示课程的节数、开始时间和结束时间。 |
本课程表软件是面向学生以及老师群体的应用软件,使用操作十分方便简单。
步骤 | 截图 |
---|---|
首先通过点击蓝色的“+”号创建新课程。 | ![]() |
接下来在创建课程页面输入课程信息。 | ![]() |
然后添加的课程将会显示在课程表主页面中,点击课程即可查看课程的具体信息。 | ![]() |
在课程具体信息页面中可以通过点击“删除”或“修改”按钮对该课程进行相应操作。 | ![]() |
删除后课程将会从课程表主界面消失;更改后,新的课程信息会再次保存到课程表主界面。 |
通过此次课程表的设计,深深的感觉自己的知识经验匮乏;也正是通过此次大作业,不断进行尝试、排错、修改,从修改中获得更多的经验,这是在学习理论知识时绝对学习不到的经验。不仅让我对Android的内容有了更加深入的学习,也对sqlite数据库有了更加熟练的应用。还培养了我的逻辑思维能力,为以后的学习打下了坚实的基础。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。