《OA项目介绍.docx》由会员分享,可在线阅读,更多相关《OA项目介绍.docx(14页珍藏版)》请在优知文库上搜索。
1、OA第一天.1. OA可以用在2个地力.a)政瘠b)企业C)采用OA就是把他们的流程做成一个软件.2,需求分析从界面入手,但是写程序别从界面入手.a)分析设计实践.3、JaVa三件交a)框架SSII.b)模式.学习的是它的适用领域.C)领域模型.i. 最更要的.当你获取需求以后,需要使用面向对象技术开发领域模型.4、按模块进行迭代开发.a)进一步如化需求.b)用例模式.C)分析模式(撮愈模型)致重要的.S设计模式对分析模式的细化.C)实现.所有的设计懊式都是和实现相关的.0测试.5、分析.a)帝求分析.ii. 它们必须是正蛹的.iii. 它们必须是可行的.iv. .它们必须是对工程来说是必不可
2、少的.v. .它们必须是帔标明优先次序的.V. 它们必须是不梗弼的.VI. 它们必须是能够IOUbei证实.vii,一旦需求确认以后,没有写的不能傀b)需求分析具体过程(切入点).i. 了第客户.ii. 了修业务.iii. 了解行业.iv. 了解同行产品.V.这些事情在与客户正式开始沟通之前就尽量了解.这样在与客户交流时有效的虢夕在业务上的陌生感,会尽快使客户时工程团队产生必要的信任.6、OA系统的需求.a)枇本模块i. 级织桀构.ii. 权限管理.b)核心模块.1. 公文流转.1 .例如报销:如何把一个数据.转给另外一个人.C)其他次要模块.一程定义:就是例如以前没有请假单流程.自己可以加一
3、个部署到工程.a)(MUO书.1. 是一个javascript的栏.8、hibernate.hb三2dd1.auto.create.hibernate,hb三2dd1.auto,updatea)当你创立SessionFactoh实例时,它会根据你的映射文件导出到数据库里.OA第二天.1 .如何定义接口?a)主要看客户端的需要.例如:dao层的客户端就是manager层.2、如何读宝需求?a)理解得求中的蜕念.b)例如:考勤你得了解过程.还有什么报表.现有的软件.3、组织机构.a)职能型组织柒构,大公司,分部门.C)集权型组织荣构中小型公司.一皴管一级,不分部门d)配合型俎织架构前密两种配合起来
4、.人下面有部门,部门下面有人,在某种情笈可以把他们俩看成一个钱金,进行泛化(堆承e)网状沮织架构也叫矩阵型,通电用于得国大嵬企业.i. 关联会有一个时间的限制.ii. 多对多一般会拆分成两个多对一的关联.应该把中问的关联表抽象出来迸行犷展.1 .中何表对应属来表肯定是多时一,中间像两边任何一边看趣是多对一.可以在中同表加一些自己的需要的黑姓.iii. 规则就是它们类型的多对多,也就是两个多对一.例如:1 .部局处科.他们分别的父亲都是上一级.子都是下一投.iiii.按照某种职费来赛立partyType.4,适宜的Um1.用例一般最好是少于K)步和10步左右的,才是一个粒度的,适宜的国例a)用例
5、其实也就是功能性的需求.b)要编写用例文本,参与者的动作.系统的响良,主要揩径和护展路径.C)主要路径.1. 写主要的内容.d1扩展点1. 写一些异常信息,例如除失效,取消黑作之类的e)补克说明2. 主要是用来做补充的.例如添加机构时,ID生成的规则之类.5.在ssh里防止一个Action方法里,和业务逻辑组件进行2次交互.不然会造成事物不一致.6、国限产图实际上就是在实现.画的时候是根据用例图文本里的主要路径OA第三天.1、开发流程做一点测点.首先根据领域穰区对象做立实体.因为它是被依鞍的.采取自底向上的实现.2、HibernaIC为什么要蔻制定义呢?a)只右这样,才能强制保迂在多的一端维护
6、,如果强制在一的一茹维护.则无法运行.b)最主要的是在更新的时候,如果不设置inverse,在维护的时候会更麻烦.1. 正是学生-班级,当你更新一个班级时,如果班线里只是从AC1.iOnFOm里获取数据,但是更断了以后此时学生集合是空的,它会去掉学生与班级的所有关联关盍3、切记Hibernate的get加岐的是一个代理对象.4、在测试单元美也可以继承测试父类.在setup中,开SeSSion,防止sessionC1.osed异常.因为在测试类中.并不能使用Opensession1.nView.a) 继承父类AbstractTransactiOM1Spri11ContcxtTcstSi. 帝要实
7、现getConfig1.ocations.ii. 2务理辑层对象,它会自4.泯掘类理.b) 参加spring的spring-mock.jar包.C)当一个方法调用完,它会囱动回湿事物,和关闭Session.如果想提交事物的话,调用SetComp1.eteO.5.状态图最好用在页面的流程分析.a)每一个状态代表一个页而,也就代表调用了一个ac1.ion,因为在struts中,进入一个页面都是要绘过struts.6、切记StrUtSACtionM叩PingS里的SCOPe是代表的是netionform存钻的范围.OA第四天.I、Struts配Ji文件里Action的attribute属性是用来绐F
8、orm重新力1名的,在jsp更密就可以用更新命名的名字来取值.2.没事别从form取值.在存在request里.在下一个页面直樱从form取就行了3、切记StnHS里新请求会史要提交.a)因为当你请求一个Action时,它会把你的请求做为比页面的Ur1.,你如果用新,它不会加栽页面,台重复提交你的谓求.b)要切记ACtion也可以自己顶个Forward,用来跳,转.4.模态/D.a)当使用模态窗口时,此时只能财子窗口做操作,不能对父窗口操作.b)WindoW.1.ocaIeXKXX代表父窗口.5、一般的刮除操作.a)一般的是IS开一个新窗口.可以防止了任何问题.例如传参数.刷新重复提交之类的问
9、题一6,Struts局部异常配置会根据input的路径来转发.OA第五天.I、了解tag1.ib-agcr分页标签.a)主要是帮你生成主宽下一页的连接的.b)当生成以后它会把值存在page范围.名字是$pageUr1.c)妞果想使用页码交中间的那种,例如goo1.ge,可以使用pager标卷里的PageS,生成之后的Ur1.就存在Page曷性的PageNumber里.d)当前页数也存在Pi1.geNUmbrr里,会右冲突,我们可以使用pager的export来绐它!命名.例如export:CUrrentPageNUnIber=PageNUmber*.这样之后,我们也可以实现g1.gc的分页时候
10、不能连接到本页.直接和断CurrentPageNieber和上面的PageNu三ber(中何显示本页).e)如果常要设置叁散,可以直接使用pg=para标签,可以直接MIne=MrenUd,如果不设置值.它会从request里获取parenjt1.d.0具体详细参见-tag1.ib-pagcr使用说明.txt2.分百-a)需要传一个当首页数,而且将要一个每页显示的大小.b)受询完交询的是一页的数据.3、数据的封装.抽象找出相同的,重复的过程.把需要的参数之类的东西全部定义成为法的参数.4,就取字符串包头不包足.,就取时不算最后一个,得算上第一个.5、在J2EE中,要考也多浅程影响变量的问题,如
11、果要共享变量,尽量使用Thread1.OCa1.,不会有线程平安的问题.6、如果要把Objeet转换成整形时.千万不要真接写intI=(Intger)Object.这样有时候会抱异常,因为你首先把一个ObjeCt转换成Integer.没任何错误,但是当IntegeI转换或整形时,JDK会自动解包,所以会出错Nu1.1.PointException.7、Xdoc1.et可以解决手工编写映射文件.OA第六天.I、权限控制三元素:主体(who)、资源(WhaI)、操作(HOUM2, RBAC模式.Ro1.eBaseAccessContro1.1.a)RBAC-O.永远都不允许直接把权限反于蛤用户.b
12、)RBAC-1.在RBAe-O上做的扩展.RBACV:RBACO的格峨匕扩了角色、的豪色,认为角色是4维承或级质的概影,比如总值理角色比普理济1.俄别要高.期总经理拥有普通员工的所有的权果ORBAC-2.也是在RBAC-O上进行了扩展.在进行用户和角色之间疼支一种为束.i.例:角色根另外一个角色授权有冲突.根据某种规则.不允许这个角色分配蛤这个用户.3、权限的设计.RBAC1rRBACO狼1.扩展了角色的*念.认为角色是育复承或级别的置念.比如发现的色比督通员工摄制要越.时总姓理翻If普通员工的陆目的归跟AC1.AccessContro1.1.ist.访阿柠到列卡Roteb)因为A1.C表被读
13、取的然率很大,所以要放在HibOrnaIe展存里,但是如果它里面变量是对象的话.那么里面对应的对猊也得存进媛存里.所以现在给它改变一下.C)主体类型可以取色和用户.d) ac1.Staie.如何在AC1.扩展(操作crud)呢?不要采用一个字段代表一个操作,我们可以使用一个整形,后四位标识c/r/u/d,一个整形是32位,只有0和1.0代表不允许.I代表允许.e) ac1.TriState.表示当我单位给用户授予权限时,比时用户的角色是否有效.我们也采用一个整形.这小顿外状态位用T表示针对用户的授权无效.0表示有效.一个整形32位,只有。和1.1.表示不允许.0表示允许OA第七天.I、了解Un
14、iqueResuI方法的作用,如果查词不到财象,就返回nu1.1.,如果杳询到两条,则撤出异常.2、一定要注意责任分配模式(GRAPS).3、如果一个地方要用到常量,可死,最好定义一个变量.免的以后换的时候要换好多处.4.IFE1.SE判断图个有个原则.要尽快返回.哪个先返回,就判断它.例如ac1.不等于nu1.1.提前近回,我们就IF(ac1.!=nu1.1.)5、切记操作国性,或者读取时,不应该改变黑性的状态6、UAP的存储方式,如果key一样.后面的会把前面盘急掉.7,获取用户拥有的权升读取杳找方式.a)从低到高的级别我询,然后在登询用户是否继承了走色.b)因为我们采用的是map存偌方式
15、.所以必须从低到高,例如1允许,2不是允许,2比一高,先查1的,故进InaP,在查2一看不允许,我们可以立即放到map里漫流到1.8、切记AC1.表里可以存储用户和角色.OA第八天.1、使用docu三ent.Iocation.href=ur1.”,完了以后会自动用新a)例如:我设Jt分页的自动参加暂页显示行他,我直接可以使用这个Ur1.传输到action查询全部,页数得显示在第一页.当它查询完返回到苜页会囱动刷新,意思是还会回来到当前更密,我们就没必要传输一些数据.2, X1解析.do方式支持比较小的文件.而SaXReader支持比较大的文件.3、在AJAX中.一般返回的数据就两种.数组或者JSON.a)下面,1的介绍就是对JsON数据的描述,在JAYA中,这样访问就是MAP.4、在ja