如何实现基于框架的选课系统的质量属性

选择的系统:学生选课系统;

为了实现系统的质量属性,我们需要设计使用设计模式,构架模式创建设计战术,下面为每一个质量属性说明了一些战术
1:可用性战术
  可用性是系统正常运行时间的比例,主要关注错误检测,错误恢复,以及错误预防。我以选课系统为例,分析可用性战术
  1)错误检测

  用于识别错误的三个战术是:信号/响应 ,心跳,异常
    <1>选课系统自动发出一个命令,希望在预定义时间内收到一个来自审查组件的响应。这种战术采用工作组件主动询问的方式,可以应用在共同负责某项任务的一组组件内
    <2>心跳:某个工作组件定期向监视组件报告,发送心跳信息,报告自己正常。这种方式检视组件财采用被动方式,当心跳失败,即监视组件收听不到工作组件的心跳信  息,则认定工作组件出现了故障。比如说我的选课系统定期向服务器发送一次选课日志。该消息不仅起到了心跳的作用而且还传送了重要的数据
    <3>异常:当出现异常情况时则说明发生了故障。因此识别错误的一个方法就是遇到了异常。比如说学生信息数据库出现了异常,如没有找到数据,或返回多行匹配数据
  2)恢复:监测和修复
  由于错误恢复的战术有七种:表决,主动冗余,被动冗余,备件,shadow操作,状态在回步,检查点/回滚
    <1>shadow操作:在选课系统中,出现故障的组件可以以“影子”模式(“Shadow模式”)运行,这样可以在选课系统恢复前模仿工作组件的行为。
    <2>状态再同步
    <3>检查点/回滚:用检查点记录所创建的一致状态,当遇到故障时可以使用上次正确的检查点状态。例如我们可以利用检查点的恢复策略进行选课系统的数据库恢复,当               选课系统出现故障时,恢复子系统将根据食物的不同状态采取不同的恢复策略

  3)错误预防
  用于错误预防的战术有三种,从服务中删除,事务,进程监视器
    <1>进程监视器:监视进程中存在的错误,比如说当系统发现出现两个具有相同ID 的学生出现时,应立即作出响应举措

2:易用性战术:
  1)系统主动:选课系统自动为用户提示哪门课比较难选上,哪一门课比较容易选上
  2)将用户接口与应用的其余部分分离开来:如单独维护用户的接口代码,这样可以是变更局部化

3:可修改性战术
  1)局部化修改:
    <1>维持语义的一致性:使选课系统中各个模块的依赖性降低,确保模块中的责任都能协同工作
    <2>预计期望的变更:提前尽可能多的预测选课系统中可能会出现的变更,比如说如果在线人数过多会不会导致服务器崩溃
  2)防止连锁反应:
    使用仲裁者:在A与B之间插入仲裁者,以管理A与B之间依赖的相关活动。
    仲裁者可以是数据(语法):如存储库,可以充当数据的生产者和使用者之间的仲裁者。
    存储库可以把A产生的语法转换为符合B的语法。应用到我的选课系统中就是,存储 库把用户通过键盘输入的数据转换成数据库可以识别的语言

4:性能战术:
  1)资源需求:事件流是需求的源。需求的两个要素:资源流中事件之间的时间间隔,每个请求所消耗的资源。比如说用户提交选课结果,和最终结果显示到用户屏幕上所需   要消耗的时间。减少等待时间的一个战术就是减少处理一个事件流所需要的资源。我们 可以改进关键算法,进行学生进行课程查找时,采用二分查找法可以大大减少查找时间。
  减少或控制需求的其他战术包括控制资源的使用:限制执行时间:如读取硬件数据,要求必须在指定的最长时间内返回。
  对于迭代式算法,限制迭代次数。
  限制队列的大小:控制处理时间数量。例:限制学生在线人数的大小,不接受过多 学生同时在线。
  2)资源管理:维持数据或计算的多个副本:维持多个学生信息和课程信息副本可以减少相同的计 算。
  增加可用资源:提高CPU速度、增加内存等。

  3)资源仲裁:
    <1>同等看待每一个学生发出的请求,并一次处理
    <2>动态优先级调度:运行时分配优先级。分配的策略为:
     轮转:对学生选课请求进行排序,在允许的时候,把课程资源分配给排序中的下一 个请求。

5:安全性战术:
  1)抵抗攻击:
  对学生用户进行身份验证
  对用户进行授权
  维护学生信息和课程信息数据库的机密性:对传输数据进行加密。
  维护完整性:对数据提供检验。
  限制暴露的信息:如选课服务只能在连接校园网的主机上获得
  限制校园网以外的电脑访问
  2)检测攻击
  入侵检测系统的功能:
  监控用户和系统的活动
  查找非法用户和合法用户的越权操作
  检测系统配置的正确性和安全漏洞
  评估关键系统和数据的完整性
  识别攻击的活动模式并向网管人员报警
  对用户的非正常活动进行统计分析,发现入侵行为的规律
  操作系统审计跟踪管理,识别违规的用户活动
  检查系统程序和数据的一致性与正确性
  3)攻击恢复:从攻击中恢复的战术包括与恢复状态相关的战术和识别攻击者相关的战 术。
    <1>恢复状态:与恢复状态相关的战术与可用性一致,如冗余,但主要是对密码、 访问控制列表和用户资料数据进行冗余。
    <2>维持审计追踪:用于识别攻击者的战术是“维持审计追踪”。审计追踪就是应用 到系统中的数据的所有事务和识别信息的一个副本,可以使用它来识别攻击者的操     作,支持认可和系统恢复

6:可测试性战术:
  1)输入/输出
    <1>特化访问路线/接口:具有特化的测试接口允许通过测试工具并独立于其正常操 作,来捕获或指定选课系统组件变量的值。
    <2>内部监视:组件可以根据选课系统的内部状态实现战术,以支持测试过程。
    <3>内部监视器:组件可以维持状态、性能负载、容量、安全性或其他可通过接口 访问的信息。当选课系统的监视状态被激活时可以记录事件。

 

posted @ 2016-05-14 23:05  老张哈哈哈  阅读(534)  评论(0编辑  收藏  举报