1、(2)坚持进行阶段评审;(3)实施严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的成员应该少而精;(7)承认不断改进软件工程实践的必要性。遵循前六条基本原理就能按照现代软件工程基本原理实现软件的工程化生产1,但是,仅有前六条原理并不能保证软件开发与维护的过程能赶上时代的步伐和技术的进步,应该把承认不断改进软件工程实践的必要性作为软件工程的第七条基本原理。1.4.2面向对象分析与设计面向对象方法的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界的方法与过程,也就是说,要使得描述问题的问题空间与在计算机上解决问题的空
2、间在结构上尽可能一致。传统的结构化方法是软件工程在80年代最为流行的方法。对于能够预先确定需求的系统开发,采用传统的结构化方法非常有效;但是,对于需求模糊或随时变化的系统开发来说,这种方法并不能很好适应。因此,对于需求经常变动的系统开发来说,人们有提出了面向对象的开发方法。面向对象开发技术便于系统开发者与用户进行沟通,能够开发出用户真正需要的软件系统。从实际的角度出发,面向对象方法结合能够吸收面向对象方法所具有的稳定性好、代码可复用性高、可维护性好和代码耦合度小的优点2。本系统的整体过程以软件工程的方法为指导思想,严格定义系统开发各个阶段的任务。在每个阶段又采用了面向对象分析和设计的具体方法,
3、并辅助以UML相关图表工具对系统进行建模。1.4.3数据库理论知识1、数据库建模模型是对现实世界特征的模拟和抽象数据模型是对现实世界数据特征的抽象。一般来说数据模型分为三类,即概念模型、逻辑模型和物理模型。概念数据模型也称信息模型,它以实体联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。逻辑模型是注重用逻辑的过程描述对象系统,描述系统要做什么。物理模型是描述构建数据仓库的物理分布模型,主要包含数据仓库的软硬件配置,资源情况以及数据仓库模式。2、Oracle简介Oracle数据库系统是美国
4、甲骨文公司开发的以分布式数据库为核心的关系型数据库,是目前最流行的数据库之一。Oracle数据库是目前软件界使用最为普遍的关系型DBMS(数据库管理系统),它具有极其强大的数据管理功能,它是一个完备关系的产品,作为分布式数据库它实现了极其强大的分布式处理功能。它适用于各种机器。Oracle采用的是并行服务器模式,在并行访问处理上具有非常大的优点,在大型网络管理系统中应用非常普遍,是极其成熟完备的关系型数据库管理系统。3、HQL(Hibernate Query Language,Hibernate查询语句)HQL查询对查询条件进行了面向对象封装,符合编程人员的思维方式,提供了丰富的和灵活的查询特
5、性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。完整的HQL语句形式如下:Select/update/delete from where group by having order by asc/desc 其中的update/delete为Hibernate3中所新添加的功能,可见HQL查询非常类似于标准SQL查询。并且HQL提供了对对象对象属性的查询,比如要根据用户名查询一个用户是否存在,系统中有个用户实体类:SysUser和实体类属性userName,这时要从数据库查询数据就HQL语句可以如
6、此写:from SysUser user where user. username=:user,在把占位符的值设置进去就行,此查询返回的就是一个存储SysUser的List集合。本系统在持久化层使用了HQL技术对对象进行增删改查。1.4.4 开发工具介绍1、Java 简介Java 是一种完全面向对象、跨平台性和具有垃圾回收机制的主要面向web 的软件开发语言。它与传统的面向结构和面向对象的程序语言有极大的不同,比如它的GC(GarbageCollection,垃圾回收期),不需要像C+程序去显示调用析构函数释放创建对象所分配的存,JVM(JavaVirtualMachine ,Java虚拟机)
7、本身可以帮助程序员来释放存,这在极大的程度上减少了程序的出错率,增强了代码的健壮性。同时 JVM技术使得采用 Java 语言编写的程序可以跨平台的使用3,从 Windows 到Unix 再到 Linux,都有 Java 的身影。此外 Java 是一种纯粹的面对对象的语言这与以往的 C,或者更早的 Object Pascal 有了很大的不同,程序的结构更加清晰易懂。自从问世以来,Java 的快速发展已经让整个 Web 软件开发发生了翻天覆地的变化。随着 JAVAEE(Java Enterprise Edition,Java企业级开发平台)的推出,Java 在电子商务方面开始崭露头角,最新的 JS
8、P 技术的推出,更是让 Java 成为基于 Web 的应用程序的首选开发工具。2、JSP技术JSP(JavaServerPage)技术是由Sun公司提出、多个IT公司参与合作建立的一种动态网页开发技术标准。JSP规是Web服务器4,为JAVAEE开发实现VIEW层。3、 Java 开发框架简介(1)Spring介绍Spring 是一个开源框架,它由 Rod Johnson 创建5。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的功能。(2)Struts2技术Struts2是在WebWork框架的技术的基础上开发出来的6,全
9、新的Struts2框架。它的体系结构与Struts1的有着巨大区别。Struts2以WebWork为核心7,采用拦截器机制来处理用户的请求,这样的设计也使得Action完全摆脱了对Servlet API的耦合7,因此Struts2的测试较之Struts来说就非常简单,可以不用WEB服务器,直接使用JUnit进行单元测试。(3)Hibernate技术大型应用软件开发项目大都和大型数据库技术密切相关。虽然JAVA提供了JDBC技术访问数据库,但是JDBC访问数据库的代码非常的繁杂、容易出错并且代码耦合度高,不宜与维护,但是Hibernate框架8的出现在极大程度上改变了这种局面。Hibernate
10、主要包括:实体对象,Hibernate实体类映射文件,实体类位于ORM对象层,使用映射文件将对象与关系型数据中的表相关联;Hibernate配置文件,XML配置文件提供了更易编写的结构和更强的配置能力,可以直接对映射文件加以读取文件。整个Hibernate通过持久化层斜街应用层和Hibernate框架的交互,通过Hibernate技术9,开发的软件可以把数据库作为一个对象使用,这比直接使用JDBC操作数据库简单很多并且维护性强,对应于企业开发模式,Hibernate体现了面向它对象技术的精髓,将数据库表对象化,把数据库字段属性化,并为每个属性生成对应的getter和setter方法,应用程序要
11、对数据库操作,只需使用HSQL语句操作实体对象就可以达到之前JDBC访问的效果,整个框架图如图1.1所示:应用层(Application)持久层(Persistenct Object)Hibernate框架Hibernate propertiesXML Mapping数据库(DateBase)图 1.1 Hibernate主框架图Hibernate的配置主要是用来建立SessionFactory的,通过Configuration类来提供这些配置细节, 配置过程简单,这也是通过Hibernate统一管理的优点之一。1.5本章小结本章主要阐述了本课题的选题意义,分析了职称申报系统在国外的发展现状,
12、简单介绍了本课题的研究容与研究方法,有利于后面课题研究的进行。第二章 系统分析系统分析是系统软件定义时期的最后一个阶段,这个阶段的任务仍然不是具体地解决问题,而是准确的确定“为了解决这个问题,目标系统必须做什么”。系统分析阶段包括系统的可行性研究与需求分析两个部分2。2.1 可行性研究可行性研究是在粗略地了解了用户的需求之后,提出几种可行的解决方案,并进行多方面论证的过程。可行性研究的基本目的是用较小的成本在较短的时间确定系统是否存在可行的解法,有关用户需求的很多细节并不会被包含在可行方案中,所以在可行性论证之后,还要进行详细的需求分析。可行性分析是通过对项目的主要容和配套条件,如市场需求、资
13、源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。2.1.1 技术可行性本系统以Tomcat为WEB服务器,JAVAEE、Hibernate、Spring和Struts2实现后台程序功能,JSP、JS和HTML实现前台显示,Oracle实现数据库设计。IT行业经过这么多年的发展,以现在的web技术完全可以实现网上教
14、师职称申报系统。所以从技术上来说,本系统是完全可行的2.1.2 经济可行性网上职称申报系统较之于传统的职称申报,节省人力物力,省去了申报材料的管理,免除了繁琐的材料管理事务既减少了纸等办公用品的使用成本,也节约了聘用大量专管人员的开销。而网上职称申报系统的客户端依赖于浏览器,只要有浏览器的PC(Personal Computer,个人电脑)即可支持,所以也节约了专项客户端机器的开销。由于此网上职称申报系统的开发属于个人研究项目,所以不需要额外的成本,只需一台PC机和一些免费软件就行。以现在的经济环境,完全可以实现。2.1.3 社会可行性在现实中,早已经存在类似的网上职称申报系统,而本系统只是一
15、个个人研究项目,项目功能实现在现有的系统中进行参考,完全符合相关法律和政策的规定,所以本系统的开发,符合法律的规定。2.2 用户需求分析需求分析是理解用户需求,使软件功能与用户要求达成一致,并且估计软件风险和评估项目代价,最终共形成开发计划的一个复杂过程。需求分析是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。它的基本任务是准确的回答“系统必须做什么”的问题1。所有的开发软件都是以用户需求为驱动的,所以,软件开发过程中第一步也是最重要的一步就是搞清楚用户的需求,并对用户的需求进行准确详尽的描述。2.2.1 功能需求描述网上职称申报系统的主要用户分为个人用户、基层单位用户和管理员用户
16、。不同的用户拥有不同的权限。1、个人用户个人用户是职称申报系统的主体,它们对于系统的功能需求主要包括:(1)注册、登录、找回密码,以及基本信息修改功能。(2)申办业务类型选择。比如专业技术资格评审、专业技术资格认定、业务咨询等等,再选择具体的申报业务,比如XXX高级资格评审。(3)录入详细的申报信息,比如申报人的基本信息、专业技术资格历史情况、教育情况、工作简历、计算机应用能力(需要的话),同时能根据要求提供审核材料的电子文档上传。(4)送审。完成申报录入之后,点击送审。(5)查看评审结果。2、基层单位用户 个人的申报材料首先要提交到具有申报资格的基层单位,经过基层单位审核通过之后,再由基层单
17、位提交送审,所以基层单位是申报的主体之一,也是审核主体之一。它们对于系统的功能需求主要包括:(6)对本单位的职员提交的申请做初步的审核,如果不能通过,则直接打回,如果通过,就将申报人的信息、资料、所申请的职称和本单位对该申报人的审核意见提交到审核单位, 上传单位公示照片。(7)跟踪评审结果。3、管理员用户 管理员用户是系统的主要管理者,它负责整个系统的维护,也是申报流程的最终的审核者。它的系统功能需求主要包括:(2)查看当前申报信息。查看有多少新增申报。(3)审核申报信息。审核基础单位信息,判断该单位是否有资格进行职员的职称申报,如果没有,则该单位所有的申报工作都不能进行。(4)如果提交申报材
18、料的基层单位拥有职称申报的资格,则审核该单位提交的职员的职称申报材料和该单位岁该申报员的意见。(5)提交审核结果。2.2.2 需求建模用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述如何使用一个系统10。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素11。1、用户用例用户用例图如图2.1所示。图2.1用户用例图2、个人用户用例和基层单位用例个人用户用例和基层单位用例图如图2.2所示:图2.2个人用户用例和基层单位用例图3、管理员用户用例管理员
19、用例图如图2.3所示。图2.3管理员用户用例图2.2.3数据模型分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计12的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。1、数据实体E-R图本系统必须保证具有不同权限的用户进入此系统的时候,展示的页面菜单不同,及该改用户所拥有的权限及功能就是他所能见到的这些菜单。所以用户管理E-R图如图2.4所示。 N M 1 N图2.4 用户管理E-R图申报过程是系统的主要业务,其E-R图如图2.5所示。申报资料属于 N基层单位职称申报个人隶属申报申报时间基层单位审核结果管理员
20、审核结果 1 1 N M图2.5 申报业务E-R图下面介绍系统实体E-R图(1)系统权限实体主要包括权限ID、父权限、权限文本、权限地址等。系统权限实体图如图2.6所示。图2.6系统权限实体图(2)系统角色实体主要包括角色ID、角色描述、角色名称等。系统角色实体图如图2.7所示。系统角色角色ID角色名称角色描述 图2.7系统角色实体图(3)角色权限实体主要包括ID、角色ID、权限ID等。角色权限实体图如图2.8所示。图2.8 角色权限实体图(4)基层单位实体主要包括单位ID、单位名称、公式照片地址、单位所在地、申报资格等。基层单位实体图如图2.9所示。图2.9基层单位实体图(5)申报个人实体主
21、要包括用户ID、用户名、密码、单位ID、用户角色ID、申报资格、真实、号、email、等。用户实体图如图2.10所示。图 2.10 用户实体图职称ID职称名职称类型职称等级专业(6)职称实体主要包括。职职称ID、职称类型、职称等级、职称名。职称实体图如图2.11所示。图2.11 职称实体图7)资料实体主要包括资料ID、用户ID、资料名、资料保存路径等。资料实体图如图2.12所示。资料ID资料保存路径资料名用户ID图 2.12 申报资料实体图(8)申报记录实体,申报个人与职称之间的关联的记录。主要包括ID、申报人ID、职称ID、业务名、申报时间、最终结果和管理员审核结果等。申报记录实体图如图2.
22、13所示。申报记录申报人IDID业务名单位审核结果最终结果图 2.13 申报记录实体图2、 数据流图和数据字典数据流图也称为数据流程图(DFD,Date Flow Diagram)是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等。数据字典书关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合10。(1)用户申报数据流图如图2.14所示。图 2.14 用户申报数据流图对应的数据字典如下:1)申报业务用户信息数据流条目如表2.1所示。表2.1 申报用户信息业务数据流条目表容描述数据流名称用户信息说明通过拿到用户
23、信息,验证登录用户的合法性数据流来源用户登录数据流组成用户信息=用户名+用户密码+申报资格+真实+号+角色ID2)申报业务职称信息数据流条目如表2.2所示。表2.2 申报业务职称信息数据流条目表职称信息通过拿到职称信息,进行职称申报职称信息=职称专业+职称类型+职称等级+职称名3)申报业务申报资料信息数据流条目如表2.3所示。表2.3 申报业务申报资料信息数据流条目表申报资料信息进行资料的存储申报资料信息=申报用户ID+资料名+资料保存路径4)申报业务申报记录信息数据条目如表2.4所示。表2.4申报业务申报记录信息数据流条目表申报记录信息进行申报记录信息的存储进行申报记录信息=申报用户ID+申
24、报时间(2)申报审核数据流图如图2.15所示。图 2.15 审核数据流图1)审核业务用户信息数据流条目如表2.5所示。表2.5 审核用户信息业务数据流条目表2)审核业务申报资料信息数据流条目如表2.6所示。表2.6 审核业务申报资料信息数据流条目表审核3)申报业务审核记录信息数据条目如表2.7所示。表2.7 审核业务审核记录信息数据流条目表审核记录信息进行审核记录信息的存储审核记录信息=申报记录ID+审核时间+审核结果2.3本章小结本章节对网上职称申报系统进行了可行性研究、需求分析和物理建模。通过可行性研究得到本系统开发所需条件,需求分析得出了网上职称申报系统必须完成的功能,通过建立物理模型,可以清晰直观的对本系统的用例、活动和数据存储进行描述。 第三章 系统设计经过需求分析阶段的工作,系统必须“做什么”已经很清楚了,现在是决定怎样做的时候。总体设计的基本目的就是回答“做什么,系统应该如何实现?”这个问题,因此,又称为概要设计或初步设计。通过这个阶段的工作划分出组成系统的物理元素
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1