`
he_wen
  • 浏览: 239360 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

内部系统开发总结

 
阅读更多

内部系统开发总结

 

一、开发环境

 

    rose、Linux、resin、eclipse、maven、svn

 

    rose框架使用的个人理解的:

  • 约定大于配置,如:controller类必须放在*.controllers包下面,由于rose框架有一套完善的对包扫描服务
  • 注解优势对于dao层非常好,程序员只需要写dao接口然后在接口中方法写上sql的注解就可以,这样对于ibatis一系列的配置文件来说是非常的便捷。但是有一点劣势就是系统中大量使用注解会不会对性能产生影响呢?事务的支持不是很好
  • 在controller方法中可以支持多个url的匹配,核心思想是方法前面使用了注解来实现
  • rose的拦截器非常强大,也就是在方法执行之前可以拦截,方法执行之后也可以拦截

二、系统架构分层的思想

 

一般应用系统架构controller层、service层(如果service层共性比较多还可以抽取一个公共层)、dao层、工具类

 

对这划分三个层次个人的理解:

  • 尽量让controller层做最少的事情,因为它的职责主要是接收参数值(参数的验证)以及转发页面(页面中注入值),对于业务的逻辑以及异常处理尽量放在service层中。controller层代码量就比较少简洁,这一层设计的时候关于页面的跳转之前一定要做好准备如:出现异常的时候跳到404页面、参数验证失败跳转到405等等。
  • service层对于controller提交的参数验证如果controller层对于提交的参数已经验证那么可以不进行验证;业务逻辑的处理(包含bean之间的转换)、异常的处理(dao层抛出的异常、调用第三方服务的异常)
  • dao层只是针对于数据库的访问
  • 工具类一定要使用:常处理的就是字符串、日期、集合处理,如果系统复杂依赖的第三方jar太多,最好还是不要去依赖apache的commons-lang、commons-collections;如果不去依赖自己可以参考开源的代码,抽取出自己想要的类和方法,推荐大家可以看看里面的源代码(相信对于代码设计的把握、代码简洁、方法类的命名等都有大的收获)

这里在总结一下关于异常的处理,系统中涉及到非常多的异常,大家对于异常的处理非常的头疼有的时候还比较不好把握,在这里我在开发中总结的经验:

  1. 如果能处理异常,那么将异常记录在日志中而且记录内容要详细比如该异常是哪个类哪个方法中抛出了异常,这样记录是为了以后系统出现故障好定位
  2. 该异常不能处理那么就抛给上一层的逻辑去处理,是否需要记录日志需要针对自己合适的情况
  3. 处理异常的时候一定要注意不要把不要的代码也try住,那样会降低性能,因为异常处理最终还是在堆栈中处理
  4. 逻辑层处理异常的时候一定要针对每一个异常分别的处理,这样在系统故障就能很快的定位,关于资源的释放在finally进行
  5. 关于业务逻辑不重要的异常处理的时候可以将它包装成运行时的异常

 

三、关于权限控制设计

 

 

权限控制在企业级系统中非常的复杂,业务不一样需求不一样,不同级别的人看到不一样的菜单即操作权限而且各样的操作权限可以由管理员来定制等等

 

下面是对于提到需求的解决方案,大体的技术实现是针对于rose的拦截器、controll类和方法注解的拦截、将角色菜单存放在db中并且使用开源的Lru算法进行缓存来实现权限的控制,下面是技术的实现细节:

 

  1. 利用注解和拦截器以及db对权限进行控制,注解主要是放在controller类或者方法中,然后通过拦截器
  2. 利用管理员的身份创建角色以及为角色设置访问权限,将这些数据存放在DB中,由于拦截器经常访问该数据需要缓存,使用common-collections中的LRUMap类进行缓存数据

 

分享到:
评论

相关推荐

    超市管理系统开发项目总结

    【超市管理系统开发项目总结】 超市管理系统是针对20世纪90年代以来我国零售业发展的重要产物,随着超市规模的扩大和信息流量的增加,传统的管理方式已无法满足现代超市的运营需求。在这种背景下,引入基于计算机的...

    企业人事管理系统项目开发总结

    系统开发的核心在于建立稳定、安全的数据库架构,同时确保前端应用程序的用户友好性和功能性。 #### 二、系统功能与性能 企业人事管理系统的核心功能包括但不限于: 1. **基本信息管理**:涵盖员工个人信息、工作...

    飞机订票系统开发总结分析方案.pdf

    【飞机订票系统开发总结分析方案】 飞机订票系统是一个集成化的信息管理系统,旨在为航空公司和票务公司提供高效便捷的航班信息管理和订票服务。本文档由工程负责人何柳青编写,旨在总结该系统从开发到实现的全过程...

    学习嵌入式系统开发心得

    嵌入式系统开发是一项复杂而有趣的任务,尤其对于初学者来说,可能会感到无从下手。本文将基于作者的经验,提供一些学习嵌入式系统开发的建议和路径。 首先,了解嵌入式系统的基础知识至关重要。这包括掌握嵌入式...

    酒店管理系统项目开发总结报告.doc

    酒店管理系统项目开发总结报告 1.1 编写目的 本报告旨在全面总结酒店管理系统(Hotel Management System,简称HMS)的开发过程,包括项目的执行情况、遇到的问题、解决方案以及项目成果,为今后类似项目的开发提供...

    学院内部管理系统 C#

    总结来说,《学院内部管理系统 C#》是一个利用C#编程语言和.NET框架开发的综合管理平台,涵盖了学院日常管理的多个方面,旨在通过信息化手段提高学院的工作效率和服务质量。通过深入理解C#语言特性和.NET框架,...

    学校内部工资管理系统课程设计

    本文档的编写目的就是为了分析人工管理高校工资的流程,把人工模式抽象为可在计算机上处理的自动模式,对高校工资的科学管理进行分析与总结,便于开发小组成员对系统整体功能的认识。背景是高校规模越来越大,教职工...

    XX系统开发评审报告

    ### XX系统开发评审报告知识点解析 #### 一、评审背景及目的 - **背景概述**:随着XX系统在制造行业的广泛应用,为了进一步提升其管理效率和业务处理能力,特此组织了此次评审会议。 - **目标设定**: - 健全XX...

    国家标准文档:项目开发总结报告(GB8567-88)(doc格式)

    国家标准文档《项目开发总结报告(GB8567-88)》是指导软件开发者进行项目总结的重要参考资料,旨在提供一套规范化的报告结构,确保项目信息的完整性和一致性。这份文档详细规定了如何撰写一份有效的项目开发总结...

    企业内部邮件系统

    总结来说,【企业内部邮件系统】是一个基于C#后端、asp.net和Java前端、SQL数据库的综合通信平台。它利用了这些技术的特性,构建了一个高效、安全的内部通信环境。对于IT专业人员而言,这不仅是一个学习不同技术栈...

    设备管理系统-项目开发总结报告.doc

    本项目开发总结报告基于GB8567——88标准,详细阐述了系统开发的过程、目标、技术实现和实际成果。 1. 开发背景与目的 设备管理系统的开发是为了应对日益增多的设备应用,帮助企业有效管理和跟踪设备的状态,提升...

    学生成绩管理系统项目开发总结报告.doc

    学生成绩管理系统项目开发总结报告是对一个旨在提升教育机构对学生学习成绩管理效率的软件开发过程的回顾和反思。这篇报告由小组成员阚琳林、兰娜、李晓霞于2008年12月27日完成,其主要目的是总结在开发过程中遇到的...

    嵌入式系统开发入门.ppt

    嵌入式系统开发入门 嵌入式系统开发入门ppt文档是对嵌入式系统开发的入门级教程,对于菜鸟有一定的概念上的帮助。下面是该文档的知识点总结: 一、嵌入式系统的概念 嵌入式系统是以应用为中心和以计算机技术为...

    单片机应用系统的开发方法分析.pdf

    1. 单片机应用系统开发概述: 单片机应用系统的开发不仅包括硬件的设计与制作,还涉及相应的软件编程。系统开发的目标是确保系统运行稳定、高效,且能满足特定应用的需求。根据单片机应用系统的批量大小,开发者可能...

    软件工程--图书管理系统项目开发总结报告借鉴.pdf

    《图书管理系统项目开发总结报告》是对软件工程实践中一个典型项目的深度剖析。该报告详细记录了从项目启动到完成的全过程,旨在为其他类似项目提供借鉴和参考。以下将对报告中的关键知识点进行深入阐述。 1. 引言...

    企业内部信息交互系统

    《企业内部信息交互系统》的软件需求说明书详尽地阐述了系统的设计目标和预期功能,为开发团队提供了清晰的蓝图。通过满足这些需求,系统将极大地提升企业的运营效率,促进内部沟通与协作,为企业数字化转型提供强大...

    汉口学院内部协同办公系统开发设计方案.doc

    汉口学院内部协同办公系统开发设计方案旨在提升学院的行政效率和管理水平,实现信息化、数字化的办公环境。这一系统的设计和实施对于优化工作流程、提高工作效率、降低管理成本具有重要意义。 在第一章项目背景中,...

    图书管理系统开发文档.DOC

    一、系统开发概述 在开发图书管理系统时,遵循了软件工程的规范,采取了面向对象的设计和开发方法,这有助于提高系统的灵活性和可维护性。使用SQL SERVER 2000作为网络数据库,确保系统能够轻松与其他子系统进行...

    c++ builder 开发的医院内部系统客户端.zip

    总结,C++ Builder为医院内部系统客户端的开发提供了强大的支持,其高效的开发环境、丰富的库资源以及灵活的编程模型,使得开发者能够快速构建稳定、功能齐全的系统。通过理解并掌握上述关键点,可以提升项目开发的...

Global site tag (gtag.js) - Google Analytics