设计模式大作业
课程名称: 软件设计模式
设计题目:公司经费申请
院 系: 计算机科学与信息工程学院
学生姓名:
学 号:
专业班级: 软件工程13-1
**** * *
2016年6月
软 件 设 计 模 式 任 务 书
| ||||||||||||||||||||||||||||||||||||||||||||||||
一、系统目标
1. 设计目的
通过本课程设计,加深对软件设计课程的理解,熟练掌握和巩固所学的各种设计模式,培养自我动手、查阅技术文献、资料、手册以及编写技术文献的能力。通过运用设计模式来解决实际系统中遇到的问题,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
2. 需求描述
本系统的主要目的在与应用设计模式解决公司经费申请问题,可以了解申请经费的具体流程为申请人先填写申请单,然后交给领导审批,如果申请批准下来,领导会通知申请人审批通过,然后申请人去财务领取费用,财务部给于其拨款,如果没有批准下来,领导会通知申请人审批未通过。不同级别的领导,对于审批的额度是不一样的,比如,项目经理只能审批500元以内的申请;部门经理能审批1000元以内的申请;而总经理可以审核3000元
以内的申请,否则不通过。系统中总共用到三种设计模式,分别是模板方法模式,职责链模式,观察者模式。
模板方法模式定义了一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。申请经费的具体流程是固定的,写申请单,审核,得到通知这三个过程,只是审核过程不同。职责链模式鉴于不同级别的领导,对于审批的额度是不一样,使其各自的职责权限更加清晰明了。观察者模式是一种一对多依赖关系,一个对象状态发生改变时,其相应依赖对象得到通知并自动更新。
二、 系统模块选择
1. 需求分析
根据问题的描述,可以确定系统的大致业务逻辑。如下:需要申请活动费用,按照固定工作流程进行申请,给出申请金额,由领导根据各自的职责权限进行审核,并将结果告知申请人,财务部根据结果给予拨款。将结果返回到客户端,呈现给用户。
2. 选用设计模式
根据需求分析,该公司经费申请可以采用到三种设计模式,分别是模板方法模式,职责链模式,观察者模式。
(1) 模板方法模式
采用模板方法模式的原因是它定义了一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。公司申请活动经费的流程是固定的,由申请人先填写申请单,然后交给领导审批,最后得到审批结果,作出相应行动。用模板方法模式使其结构清晰,提高了代码的复用性。模式结构图如图1-1:
>李金铭老公
发布评论