软考高级-系统分析师-案例分析-系统维护与设计模式

系分-案例分析-系统维护与设计模式

软件维护

  1. 正确性维护(改正性维护)
    • 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就称为改正性维护。
  2. 适应性维护
    • 在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就称为适应性维护。
  3. 完善性维护
    • 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为完善性维护。
  4. 预防性维护
    • 这是指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好的基础。通常,预防性维护可定义为“把今天的方法学用于昨天的系统以满足明天的需要。”也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试

案例-软件维护

项目组发现与相应的消防控制器通信的子模块重用了企业之前淘汰的某款软件中实现相应功能的源代码,而现有技术人员没有参加过该代码的开发工作,并且重用的这部分代码开发不规范,其数据和代码结构设计都很差,相应的文档极不完整,维护记录也很简略。 针对上述情况,项目组一致认为在原有代码基础上进行修改维护难度很大,因此决定采用软件工程的方法对该子模块进行重新设计、编码和测试,请从可行性和该模块后续可维护性两个方面简要分析采取这种方案的原因。

答:目前的模块无文档,且已属于淘汰模块,重新开发比维护成本更低、效果更好,同时有利于后期的维护。(一方面是开发人员对新开发的模块有很高的熟悉程度,另一方面新开发会有完善的文档)。

设计模式

在这里插入图片描述

速记技巧:
创建型:创工原单建抽(创公园,但见愁) 类模式:工厂方法
结构型:结享外组适代装桥(姐想外租,世代装桥) 类模式:适配器模式
行为型:行状责中模访解备观策命迭(形状折中模访,戒备观测鸣笛) 类模式:解释器模式、模板方法模式

创建型模式定义特点
工厂方法模式 factory method定义一个创建对象的接口,但由子类决定需要实例化哪一个类。使得子类实例化的过程推迟动态生产对象
抽象工厂模式 abstract factory提供一个接口,可以创建一系列相关或相互依赖的对象,而不需指定它们具体的业类生产成系列对象
构建器模式 builder将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示复杂对象构造
原型模式 prototype用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象克隆对象
单例模式 singleton保证一个类只有一个实例,并提供一个访问它的全局访问点单实例
结构型模式定义特点
适配器模式 Adapter将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作转换接口
桥接模式 Bridge将类的抽象部分和它的实现部分分离开来,使它们可以独立变化继承树拆分
组合模式 Composite将对象组合成树形结构以表示整体-部分的层次结构,使得用户对单个对象和组合对象的使用具有一致性。树形目录结构
装饰模式 decorator动态地给一个对象添加一些额外的职责。它提供了用子类扩展功能的一个灵活的替代,比派生一个子类更加灵活。附加职责
外观模式 facade定义一个高层接口,为子系统中一组接口提供一个一致的外观,从而简化了该子系统的使用。对外统一接口
享元模式 flyweight提供支持大量细粒度对象共享的有效方法,如一篇文章中的同一个文字对象共享。
代理模式 proxy为其他对象提供一种代理以控制这个对象访问快捷方式
行为型模式定义特点
职责链模式 chain of Responsibility通过给多个对象处理请求的机会,减少请求的发送者与接收者之间的耦合。将接受对象链接起来,在链中传递请求,直到有一个对象处理这个请求传递职责
命令模式 Command将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。日志记录可撤销
解释器模式 interpreter给定一种语言,定义它的文法表示,并定义一个解释器,用来根据文法表示来解释语言中的句子虚拟机的机制
迭代器模式 iterator提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示数据集
中介者模式 mediator用一个中介对象来封装一系列的对象交互。它使各对象不需要的相互调用,从而达到低耦合,还可以独立地改变对象间的交互不直接引用
备忘录模式 memento在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,从而可以在以后将该对象恢复到原先保存的状态游戏存档
观察者模式 observer定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,原有依赖于它的对象都得通知并自动更新联动
状态模式 state允许一个对象在其内部状态发生改变时改变它的行为状态变成类
策略模式 strategy定义一系列算法,把它们一个个封装起来,并且使它们之间可以相互替换,从而让算法可以独立于使用它的用户而变化多方案切换
模板方法模式 template method定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义算法的某些特定步骤
访问者模式 visitor表示一个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作

案例-设计模式

设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200 字以内文字说明三者的作用。

  • 创建型模式主要用于创建对象,为设计类实例化新对象提供指南。
  • 结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。
  • 行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值