一、本周工作总结
根据上周在课堂展示中老师给出的意见和建议,经过讨论决定将“学生课程管理系统软件”的系统定位为教务处辅助软件,适用于小范围有需要的人群,我们小组对传统教务处系统中一些比较繁琐或者需要复杂的权限才能使用的功能进行简化,使系统可以在一个小范围中比较简单地进行上手使用。
我们小组将用户分为三类:管理员、教师和学生,并在原有设计的基础上,删去了管理员的权限管理和课程审核的功能,使得软件的功能得到简化,更符合小范围人群的需求。
各个用户权限的简述如下:
1.管理员:拥有系统最高权限,通过对数据库的修改,可以对用户的信息进行管理,包括用户信息的增、删、改等。
2.教师:拥有开设课程和对该课程的成绩进行录入的权限,同时能够对自己账户信息进行修改。
3.学生:拥有查课、选课、退课和成绩查询权限,能够对自己账户信息进行修改。
图1 系统框架
图2 界面设计图
系统功能详解(改)
系统的用例图如下:
图3 用例图
管理员功能
用户管理
审核用户信息。
查看用户信息并进行修改。
教师功能
课程管理
能够选择开设课程并添加课程信息
成绩管理
查看课程成绩信息
录入课程成绩
修改课程成绩账户管理
注册账号
登录系统
修改本用户信息
学生功能
课程管理
查看当前可选课程
将自己加入特定课程
退出所选课程成绩管理
查看所选课程成绩信息
账户管理
注册账号
登录系统
修改本用户信息
二、小组会议记录
本周小组会议于2018年5月31日开展,本次小组会议主要对本周的工作进度进行汇报总结。根据上周对系统功能的改进,在本次小组会议中,本周有任务的同学对自己的工作进度进行了详细的汇报。
代码组
相较于C++,采用C#编写界面主要有如下优点:
1. 集成大量类库,开发效率高,开发周期短。主要用于开发Windows应用软件,企业管理,网络应用等领域。
2. 可利用除界面代码以外的C++代码。但是需要通过C++\CLI, COM组件,PInvoke等形式。
3. .Net内封装了大量网络应用,数据库方面的类库,直接调用非常方便,支持串口,TCP编程等。
4. 界面编程可使用Winform,WPF。其中WPF属于新一代界面引擎,无需通过GDI+画图, 直接与显卡DirectX交互,渲染速度很快。WPF是微软专门为界面编程打造的类库。
5. WPF中有更丰富的Windows控件,修改也比较方便。有些直接改Xaml的样式即可。
由于有C语言和C++的学习基础,由于C#在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承),因此在有C语言和C++的基础上进行学习,两位同学的学习进度相对较快,并已经进行了界面的整体布局和初步设计,确定了软件的整体风格。如下图所示:
图4 登陆界面
图5 菜单栏
数据库组
SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。
1.非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
2.统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。
三位同学在本周进行了原软件设计的需求功能变更,在原软件需求的基础上对一些功能进行了增删,使软件系统的实用性更佳强大,同时,三位同学在本周开始了数据库的学习,了解了数据库的基本用法和创建数据库、管理数据库的操作。
图6 数据库
文档组
进行小组博客的维护,对相关工作进行详细记录。
三、后续工作计划
下周的主要工作是由代码组编写代码。使系统实现点击不同的选项,在右侧面板中显示不同的界面;完成注册登入、课程管理、用户信息管理等核心功能的代码的初步设计。每个人将自己完成的代码嵌入GitHub仓库。同时,数据库组继续学习数据库的相关知识,争取在下下周实现课程管理系统的基本功能。文档组进行文档整理,包括需求规格说明书,项目设计文档等。