《ESM的详细设计_0.docx》由会员分享,可在线阅读,更多相关《ESM的详细设计_0.docx(6页珍藏版)》请在优知文库上搜索。
1、ESM的具体设计ESM的具体设计BSM具体设计一、总则:具体设计是在架构的基础上时概要设计的细化,即对架构中的类的具体描述,产生设计模型,它可以干脆指导编码。具体设计主要表达:?各个类的存放路径:?静态的设计类图;?对各个类的具体描述,包括:属性和方法的说明,关键方法的实现伪代码;?各用例的操作依次、系统执行依次的描述;?配置文件的描述等。以卜为各模块的具体设计二、组织结构管理模块12(二)数据库具体设计数据库名:ESMDB可以表达岗位之间的树形上卜级关系,所以,增加字段positionl)po3表之间的关系图(PDM)(建表后,可由工具导出得到)(三)功能实现逻辑1、新建岗位(用例ID:ES
2、M-ZZJG-1)(八)功能描述:超级用户新建岗位。(b)操作依次:(这个图将有助于配置文件struts.xml的编写)4注:这个图的画法是用类图画,在属性栏中手工输入url:xxxxxxx,然后关闭类的方法栏:右击类OPiiOnS选中SUPPreSSOPerationS项,如下图所示:(c)主要页面:5 post_query.jsppost_add.jsp系统执行逻辑设计:6 2、删除岗位(用例ID:ESM-ZZJG-2)功能描述:超级用户删除岗位。操作依次:主要页面:7 post_query.jsp系统执行逻辑设计:3、更新岗位(用例ID:ESM-ZZJG-3)功能描述:超级用户更新岗位。
3、操作依次:8 主要页面:post_query.jsppost_add.jsp9系统执行逻辑设计:4、查询岗位(用例ID:ESM-ZZJG-4)功能描述:用户查询岗位。操作依次:主要页面:10post_query.jsp系统执行逻辑设计:5、添加岗位上下级关系(用例ID:ESM-ZZJG-5)功能描述:超级用户添加岗位上下级关系。操作依次:H主要页面:post_reIationship_add.jsppost_re1ationship_add_updown.jsp12系统执行逻辑设计:6、删除岗位上下级关系(用例ID:ESM-ZZJG-6)功能描述:超级用户删除岗位上下级关系。操作依次:主要页面
4、:13 post_reIationship_delete.Jsppost_relationship_deleteupdown.jsp系统执行逻辑设计:14 7、查询岗位上下级关系(用例ID:ESM-ZZJG-7)功能描述:用户查询岗位上下级关系。操作依次:查询下级15查询上级说明:考虑到数据库中仅保存上级向位的状况,查询上级与查询下级是不同的弊法,故在业务层须要分开为两个方法,所以,在Action也分别用两个方法去调用业务层的对应方法。假如只用一个execute。方法,则在execute。中要推断用户点击的是查询下级还是查询上级,进而对应业务层中的不同方法。主要页面:post_relation
5、ship_query.jsp16post_reIationshipqucry_down.jspPoSt_relationship_query一up.jsp系统执行逻辑设计:17查询下级查询上级(四)类的具体描述18关键算法实现描述:(可选,单纯增、删、改、查的算法不用描述)(其它Action类)19关键算法实现描述:(1)、添加岗位上下级关系publicBooleanAddUpDown(PositionVOa,PositionVOb)将a传递给Positionap;将b传递给Positionbp;if(a将作为上级,b将作为下级)ZzjgDao.addUp(ap,bp):elseif(b将作为
6、上级,a将作为下级)ZzjgDao.addUp(bp,ap);(2)、/删除岗位上下级关系publicBooleanDeleteUpDown(PositionVOa,PositionVOb)将a传递给Positionap;将b传递给Positionbp:if(a是上级,b是下级)ZzjgDao.deIetel1PO(bp);elseif(b是上级,a是下级)ZzjgDao.deIeteUp(ap);(3)、查询下级岗位public1.istltjPositionVOgt;QueryDown(PositionVOa)查询a的下级岗位将a传递给Positionap;ZzjgDao.query)ow
7、n(Positionap)将结果再传递给一个泛型为It;PoSitiOnVogt;的对象集合,返回它!(4)、查询上级岗位publicPositionVOQueryUp(PositionVOa)/查询a的上级岗位将a传递给Positionap;ZzjgDao.queryUp(ap);将结果再传递给一个PoSiIiOnVO对象,返回它2010、关键算法实现描述:(1)、/添加上级PUbIiCBooleanaddUp(PositionxPositiony)/x将是y的上级在y的PositionUp字段中填写X的岗位名;(2)、删除上级publicBooleandeletelp(Positiony)
8、将删除y的上级在y的posiIionUp字段中填写空值(3)、查询下级public1.istlt:Positiongt;queryDown(Positionx)/将查询x的下级查找全部对象,它们的PositionUp字段值为X的岗位名:(4)、查询上级publicPositionqucryUp(Positionx)(将查询X的上级Stringupname=查找X对象的position(Jp字段值:findByI)(upna11e);按主键查找21(五)模块类图22三、其它模块(略)系统实现的依次是:从底层到高层,即:建立数据库编写连接类编写DAO类(包括Po和V0)编写业务接口类编写业务实现类编写Aetion类及StrUtS配置文件编写页面。下次讲软件工程实践时,举例:编写客户端程序,调用已经编写好的低层代码类,进行编程调试。是否肯定要用JUnit的测试程序做为客户端程序?还是写一个Main()程序就行?要试一下。23