《JAVA基于SSH的OA系统的设计.doc》由会员分享,可在线阅读,更多相关《JAVA基于SSH的OA系统的设计.doc(57页珍藏版)》请在三一办公上搜索。
1、 编 号: 审定成绩: XXXX大学毕业设计(论文)设计(论文)题目:JAVA基于SSH的OA系统的设计学 院 名 称 :计算机学院学 生 姓 名 :X X专 业 :计算机科学与技术班 级 :学 号 :指 导 教 师 :X X X答辩组 负责人 :填表时间: 2008 年 5 月XXXX大学教务处基于SSH的OA系统的设计陆嘉俊(浙江海洋学院 数理与信息学院, 浙江 舟山 316004)摘 要办公自动化管理系统简称OA系统,该系统的开发目的是为了知识化管理企业内部。实现网络办公自动化,这将为企业,政府部门节省大量的人力资源,节省大量的办公费用,实现文件管理自动化,规范工作流程,大幅度提高办公效
2、率。随着网络的高速发展,网络OA系统逐渐受到关注。一些大型企业集团(例如联想、海尔)正致力实现高层次的网络办公自动化,中小型企业也存在一个很大的低成本网络OA系统的需求。本系统实现了公共信息、组织管理、公文流转、权限管理。系统开发选用java、jsp、html语言,采用了xml、ajax、jstl、jbpm、Struts、Spring、Hibernate等技术,使用Tomcat作为Web服务器,MySQL作为系统的数据库服务器。论文共分为概述、开发及运行环境、需求分析、总体设计、详细设计、系统模块页面和代码实现、系统测试和评价,总结八部分。在系统详细设计中充分利用类图、用例图、用例描述、顺序图
3、、状态图对系统设计进行详细地说明。【关键词】OA, Web,jbpm,java, hibernateThe Design of OA System Based on SSHLuJiaJun(School of mathematics,physics and information,Zhejiang Ocean University 316004)AbstractOA is the abbreviation for Office automation. It targets at informationalizing the process of Enterprise Management. I
4、t will help governments, large corporations cut down capital and human resources, standardize the work flow and improve the work efficency by implementing the net OA. With the rapid development of computer and network technology, OA has been coming to highlights around the world.The whole system is
5、implemented with J2EE and based on B/S model. The application server is Tomcat and the datebase is MySql. The main technology used in the project includes xml、ajax、jstl、jbpm、Struts、Spring、Hibernate, etc.The thesis consists of eight parts including outlines, development and operating environment, dem
6、and analysis, the outline design, detailed design, implement, testing and evaluation. The system designment process is completely illustrated through Class Diagram、Usercase Diagram、Sequence Digram、State Diagram which are integrated in Rational Rose.【Keywords】:OA, Web, jbpm,java,hibernate目录摘 要IABSTRA
7、CTII1 概述11.1项目背景11.2开发定义11.3 STRUTS + SPRING + HIBERNATE技术11.4工作流引擎JBoss JBPM22 开发及运行环境42.1 IDE MYECLIPSE简介42.2 MYSQL简介42.3服务器TOMCAT简介42.4运行环境53 需求分析63.1 系统简介63.2 功能需求64 总体设计84.1 系统结构模块设计84.2 数据库结构的设计105 详细设计165.1 组织管理模块设计165.1.1 机构管理165.1.2 人员管理175.2 权限管理模块设计195.2.1 模块管理195.2.2 角色管理205.2.3 用户管理215.
8、2.4 密码修改235.2.5 用户登陆235.2.6 即时认证245.3 公文流转模块设计245.3.1 流程管理245.3.2 公文管理265.4 个人办公模块设计315.4.1 我的办公桌315.4.2 我的便签325.4.3 通讯录336 系统模块页面和代码实现356.1 系统登陆356.2组织管理366.3 权限管理406.4 公文流转446.5 公共信息487 对系统的测试和评价507.1 系统测试507.2系统存在的问题50总 结51参考文献521 概述1.1项目背景企业信息化建设经过这么多年的发展,取得了比较大的成果与效益,但是,随着应用与需求的不断增长和多样性,信息系统也需要
9、走专业化、多样性的建设之路。这是经济社会发展的必然结果。作为信息系统的一部分:OA系统的建设经过不断的发展与创新,已经走向协作与知识管理相结合的发展阶段,同时兼顾用户多样性和个性化的要求,实现真正的网上办公与移动办公,充分辅助现代企业提高现代化的办公效率。OA系统的发展经历以下几个阶段1:第一阶段:OA系统的开始,也是现代办公的雏形。随着PC技术的进步,诸如WPS、CCED等字处理软件比较普遍的使用,再加上各种各样打印机、复印机的出现,在办公室随时完成各类文件的编辑、打印就成为现实,这也是第一代办公自动化系统(OA)的特点。第二阶段:协作性OA系统的发展。这一阶段可以借助OA系统实现各类文档的
10、传阅与审批等协作性的工作。由于这一阶段的OA系统在操作方面的局限性,使得OA系统在企事业单位的高层得不到充分的推广,也就没有实现OA系统最本质的功能-辅助领导进行决策的功能。第三阶段:协作与知识型OA系统的发展。OA系统在这一阶段得到了广泛的推广应用。OA系统作为信息化系统的一部分,它与ERP、CRM等业务系统有着本质的区别,OA系统主要的功能是辅助决策与办公,它是将人的思想电子化,并且能够快速的传播给其他相关的人,同时,能够及时的收集到所有人的反馈意见。在决策时,可以借助OA系统查询各类有帮助的信息,使得自己的决策尽可能的客观、公正、准确。1.2开发定义OA系统主要实现个人办公、组织管理、公
11、共信息、公文流转、权限管理。OA系统实现真正的网上办公与移动办公,充分辅助现代企业提高现代化的办公效率。本系统适用于企业和政府办公的自动化管理。1.3 Struts + Spring + Hibernate技术Struts是一套用于构建JAVA WEB 应用程序的框架。它有自己的控制器组件,并可以融合许多先进的技术来提供后台模型与前端视图。Struts是一个MVC框架,实现了Model-View-Controller设计模式的概念,它将这些概念映射到web应用程序的组件和概念中,从而解决了jsp页面职责过重的问题。Struts属于呈现层2。Spring封装了许多特性,主要用于管理对象之间的关系
12、。Spring提供了IOC(控制的反转)和依赖注入特性,并真正地允许你从程序逻辑中分离出依赖关系和配置。Spring的AOP封装提供了符合AOP Alliance规范的面向切面的编程(aspect-oriented programming)实现,利用AOP能够减弱系统代码的功能耦合3。Hibernate是一个主流O/R映射框架。Hibernate建立在面向对象的设计思想之上,ORM(Object Rational Mapping)是其基本特性。ORM为系统设计提供了更加自然的实现方式。Hibernate以优良的设计大大提高了数据库访问层的开发效率,并且通过对数据访问中各种资源和数据的缓存调度,
13、实现了更佳的性能4。1.4工作流引擎JBoss JBPMJBoss jBPM为设计及开发工作流和业务流程管理系统提供了一个先进的平台。由API、特定领域的语言和图形建模工具组成的框架让开发人员和业务分析人员能够使用通用平台进行沟通及操作。工作流管理和业务流程管理(BPM)正在迅速成为企业获得软件敏捷性和适应性的重要方法。JBoss jBPM是一个面向流程的工作流/BPM框架和工具集,它使业务分析人员能够与软件组件进行交互、有助于获得有效的业务解决方案。许多企业在积极寻求一种结构化方法,以便设计业务动作/事务,并且优先使用自动化流程加以执行。业务流程管理(BPM)和工作流管理使用动作、任务和流程
14、等概念,提供了解决这个问题的办法。业务流程管理一词通常是指企业通过一系列活动,以能够适应动态变化的环境的方式,自动管理及优化流程。这些活动通常寻求来自软件工程和工具的帮助。因而,BPM一词往往直接用来指软件工程技术和工具。JBoss jBPM3.0提供了这样的功能:使用业务流程执行语言(BPEL)、灵活而且可插入的应用编程接口(API)、本地流程定义语言以及图形建模工具,利用基于行业标准的编制机制开发新的自动化业务流程和工作流。JBoss jBPM是采用开放源代码(LGPL许可证)的框架,包括了Java API、工具和定义语言,可以充当Web应用或者独立的Java应用。JBoss jBPM相当
15、于业务分析人员和开发人员之间的中介,为他们提供了名为jPDL的通用流程定义语言。jBPM倚赖性很小,可以很容易的作为java库来使用。可以用在吞吐量极为关键的J2EE 群应用服务器环境中。jBPM的持久化层用Hibernate实现,可以同任何数据库配置,可以部署在任何应用服务器上5。2 开发及运行环境2.1 IDE MyEclipse简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools
16、,JDT)。MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错6。2.2 MySQL简介MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL使用C和C+编写,经过众多不同的编译器测试,支持众多的系统平台;使用GNU Automake、Autoconf和Libtool进行移植;提供了用于C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API;实现了多线程,如果有多个CPU,它能方便地使用这些CPU;提供了事务性和非事务性存储引擎;使用了极快的“
17、B树”磁盘表(MyISAM)和索引压缩;通过使用优化的“单扫描多连接”,能实现极快的连接服务器;MySQL可单独运行在客户端/服务器联网环境下,也可作为库提供,可嵌入(链接)到独立的应用程序中。2.3服务器Tomcat简介Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它
18、的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。Tomcat也可以与其它一些软件集成起来实现更多的功能。如与JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用。2.4运行环境软件环境:WEB服务器:Windows 2000/2003/NT4.0、weblogic9.0数据库服务器:windows 2000/2003/NT4.
19、0、oracle10g客户端:windows2000/2003/xp/98、IE6.0硬件环境数据库服务器、WEB服务器最低配置:C41.7G CPU、 512M内存、10G剩余硬盘空间建议配置:P4 3.0G CPU、1024M内存、40G剩余硬盘空间客户端最低配置:奔腾233 CPU、64M内存、100M剩余硬盘空间建议配置:C41.7G CPU、256M内存、1G剩余硬盘空间3 需求分析3.1 系统简介办公自动化系统,是高效率、低成本、跨区域管理的办公自动化解决方案,集中了成熟的数据技术与管理思想,能有效提高企业的内部管理和工作效率,降低经营成本。基于Intranet/Internet技
20、术,采用B/S体系机构的办公自动化系统使得信息在部门内部和部门之间传递效率极大提高,信息传递过程中耗费降到最低。办公人员得以从繁杂的日常办公事务处理中解放出来,参与更多的富于思考性和创造性的工作。3.2 功能需求本系统具有的功能包括个人办公、公共信息、组织管理、公文流转、权限管理。具体需求如下:1、 个人办公能显示个人办公桌,办公桌上显示各种未查阅信息和能到达各种管理功能的快捷连接;个人办公还应实现管理便签、通讯录等功能。2、 公共信息主要实现新闻、通知、期刊、知识和规章制度的发布和管理,使企业的信息和知识快速传播和转移。3、 组织管理实现公司组织架构管理和公司人员管理。4、 公文流转实现流程
21、管理和公文管理。文档流转事实上是对工作流以及工作流中的文档进行管理,对于大多数企业来说,核心的管理就是工作流和文档的管理。 流程的本质就是很多人在一起完成一件事情,一般的企业都会有很多流程,如:请假流程、报销流程、收文/发文流程等。流程可能会经过不同的中间环节,在中间环节上,由相关人员进行处理,这些处理过程需要进行记录。在公文流转中能够实现流程的定义并在工作流程的执行过程中能够实现根据流程创建公文、查阅公文和审批公文。5、 权限管理实现系统模块、系统角色、用户帐号和用户权限的管理。权限管理能够给每个公司员工分配一个帐号,用户帐号可以分配角色,也可以授予权限。a、用户(User)可以拥有多个角色
22、(Role),角色可以被分配给多个用户。b、权限的意思就是对某个资源的某个操作。所谓资源,即系统的模块;所谓操作,包括:增加、删除、修改、查询等操作。c、权限管理系统的总体功能分为:授权与认证。d、授权,指将权限授予角色或用户:a)如果用户User1拥有角色Role1、角色Role2,那么,缺省的情况下,用户User1将拥有被分配给角色Role1和角色Role2的所有权限(即默认情况下,用户User1继承其拥有的角色所具有的所有权限);b)如果用户拥有多个角色,那么用户的权限是这些角色权限的合集;c)如果用户拥有多个角色,而且角色之间的授权有冲突(比如对同一个资源的同一个操作,一个角色为“允许
23、”,另外一个角色为“不允许”),将以优先级别高的角色为准(所谓优先级别,也就是对于这个用户所拥有的角色而言,是有顺序的,同一个角色在不同的用户那里可能拥有不同的优先级);d)除了可以对角色进行授权外,也可以针对用户进行授权,也就是说,将权限授予用户。针对某个资源的所有操作,我们可以设置这些权限对用户来说是“继承”或“不继承”:i、继承:意思是用户将使用其所拥有的角色的权限,而不使用其单独设置的权限;ii、不继承:意思是用户将使用其单独设置的权限,而不使用其所拥有的角色的权限;e、认证,指用户访问资源的某些操作时,根据授权,判断是否允许用户的访问:a)在用户访问的时候,需要进行即时的判断(是否有
24、权访问);b)应该提供查询的功能,可以查询某个用户所拥有的所有权限。4 总体设计4.1 系统结构模块设计本系统主要包括以下几个功能模块:公文管理流程管理人员管理机构管理信息管理我的办公桌通讯录我的便签模块管理角色管理用户管理密码修改OA系统公文流转组织管理公共信息个人办公权限管理图4-1 系统功能模块图功能模块设计的具体说明:1、 个人办公我的办公桌显示到达各个功能模块的链接,显示登陆用户的能够查看的最新信息;我的便签模块实现添加便签、修改便签、删除便签、查看便签等功能;通信录模块能够添加通信信息、删除通信信息、修改通信信息、浏览通信信息和查询通信信息。2、 公共信息授权登陆用户能够发布公共信
25、息、删除公共信息、修改公共信息,普通登陆用户能够查看公共信息。3、 组织管理组织管理的设计首先选择要采用的组织架构。组织架构的形式可以分为:集权型组织架构、职能型组织架构、混合型组织架构和网状型组织架构7。集权型组织架构只有人的概念,这种组织架构适合与小型公司,比较少见。职能型组织架构按照职能来划分部门,按照部门划分公司员工,适合于中型公司,这是最常用的组织架构形式。混合型组织架构是集权型和职能型相结合的组织架构,人下面可以挂部门也可以挂人,部门下面可以挂部门也可以挂人。混合型也是比较常见的组织架构。网状组织架构是最复杂的组织架构形式。网状组织架构是对混合型组织架构的进一步抽象,抽象出所谓的责
26、任模式。这种组织架构适合于大型公司。在OA系统我们选择职能型的组织架构,机构下可以挂子机构也可以挂员工。机构设计为树型结构。组织管理能够实现授权登陆用户能够添加机构信息、人员信息,删除机构信息、人员信息,修改机构信息、人员信息,普通登陆用户能构查看机构信息、人员信息。4、 公文流转在这个功能模块中,我们将使用工作流引擎JBPM。利用JBPM的流程设计器设计流程,授权登陆用户能够上传流程文件、流程图片,删除流程,普通登陆用户能够查看流程定义文件、流程定义图片,创建公文,审批公文,查看未审公文。5、 权限管理通过权限管理,系统能够控制不同用户对模块的访问权限,而且要控制到CRUD(增删改查)的操作
27、级别。能通过角色对用户进行统一授权,在特殊情况下,也能够单独对用户进行授权。权限设计有很多种设计方法,但是核心都是一样的。权限设计的核心是三元组的概念(who、what、how)。who是主体,what是客体、how就是负担在客体上面的一种操作。根据系统需求,在OA系统中,我们采用ACL模型(Access Control List),ACL中包含用户(User)、资源(Resource)、资源操作(Operation)三个关键要素。通过将资源以及资源操作授权给用户而使用户获取对资源进行操作的权限。但是ACL是个比较简单的模型,并未提出对于权限的继承和权限的排斥的解决方案,所以OA系统采用重构后
28、的ACL模型,解决系统用户权限继承角色权限,以及权限排斥的问题。权限管理实现授权登陆用户能够添加模块信息、删除模块信息,添加角色、删除角色、给角色授权,给用户分配帐号、删除帐号、修改帐号信息,给用户分配角色、给特权用户授权、查看用户信息,普通登陆用户能够查看模块信息、角色信息、修改用户密码。本系统采用了分层开发,但是对三层架构做了修改,将持久层合并在业务逻辑层中,系统分为呈现层、业务逻辑层。呈现层使用jsp和jstl15表示。系统层次如图4-2所示:图4-24.2 数据库结构的设计1、系统开发中先根据系统需求建立领域模型,根据领域模型构造出实例对象,最后采用O/R映射工具Hibernate,从
29、对象模型导出关系模型。领域模型如图4-3所示:图4-3 系统模型图2、数据库表的生成根据领域模型创建实体类,创建出实体类之间的关联关系。通过工具xdoclet生成实体类的映射文件和hibernate配置文件。利用hibernate的工具类倒出数据库表,系统的表结构如下所示:表4-1 t_organization(机构表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment机构idserialNumbervarchar(255)YESNULL机构编号orgNamevarchar(255)YESNULL机构名称descript
30、ionvarchar(255)YESNULL描述parentIdint(11)YESMULNULL父机构ID表4-2 t_employee (员工表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment员工idempNamevarchar(255)YESNULL员工姓名gendervarchar(255)YESNULL性别ageint(11)YESNULL年龄telephonevarchar(255)YESNULL电话addressvarchar(255)YESNULL地址emailvarchar(255)YESNULLe
31、maildutyvarchar(255)YESNULL职务orgIdint(11)YESMULNULL机构IDremarkvarchar(255)YESNULL备注表4-3 t_note (便签表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment便签idtitlevarchar(255)YESNULL便签标题contentvarchar(255)YESNULL便签内容createTimedatetimeYESNULL便签日期createorIdint(11)YESMULNULL创建者ID表4-4 t_addressLi
32、st (通信录表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment通讯录idnamevarchar(255)YESNULL名字mobilePhonevarchar(255)YESNULL手机电话homePhonevarchar(255)YESNULL家庭电话officePhonevarchar(255)YESNULL办公室电话emailvarchar(255)YESNULLemailMSNvarchar(255)YESNULLMSNemailCodevarchar(255)YESNULL邮编addressvarchar
33、(255)YESNULL地址remarkvarchar(255)YESNULL备注creatorIdint(11)YESMULNULL创建者ID表4-5 t_user (用户表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment用户idusernamevarchar(255)YESNULL用户名passwordvarchar(255)YESNULL密码createTimedatetimeYESNULL创建时间expireTimedatetimeYESNULL失效时间empint(11)YESUNINULL员工ID表4-6
34、 t_role (角色表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment角色idroleNamevarchar(255)YESNULL角色名表4-7 t_users_roles (用户角色第三方表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_incrementiduserIdint(11)YESMULNULL用户IDroleIdint(11)YESMULNULL角色IDorderNoint(11)YESNULL角色级别,该字段用于解决权限冲突问题表4-8
35、t_acl (acl列表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_incrementidprincipalTypevarchar(255)YESNULL主体类型(Role、User)principalIdint(11)YESNULL主体idmoduleIdint(11)YESNULL模块idaclStateint(11)YESNULL访问控制状态aclTriStateint(11)YESNULL是否继承,该字段用于解决权限继承问题表4-9 t_module (模块表)FieldTypeNullKeyDefaultExtra描述i
36、dint(11)NOPRINULLauto_increment模块idmoduleNamevarchar(255)YESNULL模块名称urlvarchar(255)YESNULL模块的urlorderNoint(11)YESNULL排序号码serialNumbervarchar(255)YESNULL模块编号parentIdint(11)YESMULNULL父模块ID表4-10 t_workflow (流程表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment流程idworkflowNamevarchar(255)YE
37、SNULL流程名称processDeflongblobYESNULL流程定义processImagelongblobYESNULL流程图片表4-11 t_document (公文表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment公文idtitlevarchar(255)YESNULL公文标题contentlongblobYESNULL公文内容annexlongblobYESNULL公文附件descriptionvarchar(255)YESNULL公文描述createTimedatetimeYESNULL创建时间pr
38、ocessInstanceIdbigint(20)YESNULL流程实例IDstatusvarchar(255)YESNULL公文状态createorIdint(11)YESMULNULL创建者ID表4-12 t_approveinfo (审批信息表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment审批信息idapproveTimedatetimeYESNULL审批时间commentvarchar(255)YESNULL审批内容documentIdint(11)YESMULNULL公文IDapproverIdint(1
39、1)YESMULNULL审批者ID表4-13 t_information (信息表)FieldTypeNullKeyDefaultExtra描述idint(11)NOPRINULLauto_increment信息idtitlevarchar(255)YESNULL信息标题cotentvarchar(255)YESNULL信息内容annexlongblobYESNULL信息附件createTimedatetimeYESNULL信息发布时间3、数据库的操作Hibernate是现在非常流行的持久化框架,使用Hibernate进行持久化数据是一个非常好的选择。在Hibernate中Session负责完
40、成对象的持久化操作,Session在Hibernate中相当于JDBC Connection中的Connection。创建Session的步骤:1)根据传入的Hibernate配置文件hibernate.properties或者hibernate.cfg.xml创建Configuration类的实例:Configuration config = new Configuration().configure();2)根据Configuration类实例创建Session的工厂SessionFactory的实例SessionFactory sessionFactory = config.buildS
41、essionFactory();3)创建Session的实例:Session session = sessionFactory.openSession();上述数据库操作要频繁地创建SessionFatory实例,管理session的打开和关闭,但是创建SessionFactory非常耗费系统资源,这种操作不应该是首选方法。在Spring中封装了一个实现Hibernate相关接口的的基类HibernateDaoSupport,在这个类中提供了数据访问模板HibernateTemplate进行持久化操作。外部类只要继承基类HibernateDaoSupport,并利用Spring的依赖注入特性向
42、其注入SessionFactory就能使用Spring的HibernateTemplate。使用Spring的HibernateTemplate进行持久化操作,就能避免了SessionFactory的频繁创建以及避免了对Session的人工管理。所以在本系统种采用Spring的HibernateTemplate进行数据库访问。5、事务管理系统采用了Spring中的声明式事务管理。Spring提供了全面的事务支持,Spring的声明式事务管理是通过Spring的AOP实现的。在配置文件中配置事务管理器、事务传播特性、切入点就能通过Spring替你管理事务。这将使你可以从每个业务方法中重复的事务划分代码中解放出来,真正专注于为你的应用添加有价值的业务逻辑代码。5 详细设计经过概要设计阶段的工作,我们已经确定了系统软件的模块结构的描述,但这些模块仍处于黑盒子级。本设计阶段的主要