开发人FJNUCSE2005038Slipper系统程序整体结构-Read.pptVIP

开发人FJNUCSE2005038Slipper系统程序整体结构-Read.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
开发人FJNUCSE2005038Slipper系统程序整体结构-Read.ppt

教务管理系统 开发文档 系统程序整体结构 后台管理系统 给管理员使用,拥有对所有数据库的访问权限和写入权限,可以管理到所有事务 教师登陆系统 给教师使用,拥有部分的数据库访问权限和写入权限,管理范围有限 学生登陆系统 给学生使用,拥有少数的数据库访问权限。 程序分析(一) 后台管理系统 学生管理(添加、删除、查看、修改) 老师管理(添加、删除、查看、修改) 课程管理(添加、删除、查看、修改) 成绩管理(添加、删除、查看、修改) 申请管理(查看、删除) 教师和学生都可以提交申请或是建议给管理员 公告管理(添加、删除、查看) 管理员可以发布公告,所有教师和学生都能接收 程序分析(二) 教师系统 查看个人所负责的课程 成绩管理(添加、删除、查看、修改) 只能对自己所负责的课程进行相关的管理操作 个人资料管理 用来修改个人资料 提交申请给管理员 可以是开课申请,或是建议,或是反馈 程序分析(三) 学生系统 资料修改 个人资料的修改 成绩查询 只有查询自己各个成绩的权限 提交申请 同样也只是申请和建议 程序结构分析(一) 基本储存单元—记录(Record) 属性:编号(ID)、标题(name) 基本方法:显示(display) 从文件读(formFile) 写到文件(toFile) 与其他记录属性的比较函数 为了实现多态,我们把几个基本方法都写成了虚函数 程序结构分析(二) 主要储存结构—表(Table) 基本组成—记录集(ListRecord) 基本方法—加记录(add) 删除记录(del) 浏览记录(display) 记录比较(compare***To) 从文件读(fromFile) 写到文件(toFile) 具体程序结构(一) 记录(Record)具体实现 学生(Student) 增加了 年龄、性别、密码 老师(Teacher) 增加了 密码 课程(Course) 成绩(Score) 增加了 学号、教师号、成绩 公告(AD) 申请(Require) 具体程序结构(二) 表(Table)的具体实现 学生表(StudentTable) 教师表(TeacherTable) 课程表(CourseTable) 成绩表(ScoreTable) 公告表(ADTable) 申请表(RequireTable) 各表都加了一些自己特定的转换函数,都对显示和文件读写的函数进行改写 具体程序结构(三) 在Table中有一个用链表储存的Record集合 所有Table都是用Record类型来操作各自的具体Record类 这里运用了多态,很大程度简化数据的操作 可以看如下一张图 Table和Record类及子类的关系 辅助函数 为了实现数据的永久保存,我们将它们保存在硬盘上—文件 但有别于数据库,这里存的形式全是以ASCII码保存的,也就是字符形式 用到了fstream里的ifream和ofream类 在程序中写了几个方便读写的方法 void writeIntToFile() void wirteCharsToFile() int readIntFromFile() char*readCharsFromFile() 界面的设计 基于控制台模式的程序,菜单选择操作是首选模式 然而这种操作模式也有两种实现方法 输入项目编号进行选择 直接设置焦点选择项目 我们小组选择了后者 同时我们部分模仿JAVA的SWING包写了: Window,Edit,Label,SelectLabel,Button 结构请见图: 组件关系系统 基组件类(Container) 属性: 子组件表ListContainer 自身的属性 X,Y,WIDTH,HEIGHT StartX,StartY 基本方法:display() 具体实现在具体类中定义 用多态简化了组件的包含关系的处理 事件处理机制 总构架 由一个总核监听,并传送激活基层组件的对应事件,并负责处理反馈,用多态实现 总原则 如果有激活状态子组件,把事件传过去 如果没有子组件,自己处理,并反馈 事件类型(只实现了有用的三个) 被激活/被反激活事件 键盘事件 过程和界面的结合 用界面组件类实现各个过程的需要 主程序菜单 三个系统的主菜单 各系统的子菜单 各系统的登陆窗口 各记录的输入、修改窗口 各种错误信息的提示窗口 系统的测试 测试各个记录的添加,删除,修改,查看 测试管理员可执行的各个操作 测试教师和学生相应操作的权限 测试恶意错误的抵制能力 测试界面组件的显示 测试界面组件的事件处理 测试系统的记录文

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档