Java大型项目开发需要了解的几点常识

Java大型项目开发需要了解的几点常识

web源码admin2020-06-13 21:11:098188A+A-

  最近,一直在忙于国家数字复合出版工程的研发,这是一个5年期项目,给我最大的印象就是会议,会议

  从头到尾贯穿着我们整个工程,下面我们就以复合出版工程来为大家介绍大型项目开发所经历的几个阶段。

  作为一个大型的国家型项目,起点肯定是由一群专家经过无数次的沟通交流确定项目的功能性需求,进而形成招标书,然后由招标公司放标,在竞标公司的投标、述标和评选过程中完成的。国家数字复合出版系统工程自2010年至2014年进行需求功能整体框架的沟通,2014年10月发招标公告,2014年11月评标结束。在投标过程中,有几点心得值得跟大家说一下。

  加分项对于有加分项的如证书、荣誉、资质等等一定要提供在里面,评标时专家很难在技术方案中详细的阅读,所以一般这些加分项是专家评审的关键。彩色目录目录用彩色,更利于专家查找到他想要的东西,纸质的技术方案不同于电子版,可以Ctrl+F查找想要的东西,纸质的只能通过目录页查找,与人方便就是与己方便。技术方案内容要多技术方案的内容实不实先不说,如果内容过少,对于一个几百万的项目,几十页纸的技术方案肯定是行不通的,给专家的第一印象就是没有货。需求启动与需求分析

  2015年4月份国家数字复合出版系统工程需求启动大会在京召开,这标志着复合出版工程的正式启动。我们知道,需求是项目的原始出发点,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。

  需求分析的内容是针对待开发软件提供完整、清晰、具体的要求,确定软件必须实现哪些任务。具体分为功能性需求、非功能性需求与设计约束三个方面。

  功能性需求即软件必须完成哪些事,必须实现哪些功能,以及为了向其用户提供有用的功能所需执行的动作。功能性需求是软件需求的主体。开发人员需要亲自与用户进行交流,核实用户需求,从软件帮助用户完成事务的角度上充分描述外部行为,形成软件需求规格说明书。

  作为对功能性需求的补充,软件需求分析的内容中还应该包括一些非功能需求。主要包括软件使用时对性能方面的要求、运行环境要求。软件设计必须遵循的相关标准、规范、用户界面设计的具体细节、未来可能的扩充方案等。

  一般也称做设计限制条件,通常是对一些设计或实现方案的约束说明。例如,要求待开发软件必须使用Oracle数据库系统完成数据管理功能,运行时必须基于Linux环境等。数字复合出版系统工程要求跨平台(Linux系统和Windows系统),多版本数据库(Mysql、MSSQL和ORACLE数据库)以及兼容多种浏览器(IE、Chrome、火狐、Safari等)

  了解以上内容后就需要研发人员走访各需求单位,记录下他们的真实需求,然后体现在软件当中。形成了需求规格说明书后就需要开个评审会,需要与专家们碰碰头,看看当前需求与预先的设想有没有出入。评审结束后就可以进行下一个阶段,系统设计与开发了。

  系统设计包括概要设计和详细设计。概要设计就是根据功能需求设计软件demo,形成大致的页面和操作流程,经需求方确认后再进行详细的设计,形成设计说明书、数据库设计说明书和接口设计说明书。

  在设计一个功能点时,有时候小伙伴会提出疑问“这么这么设计不也行吗?”,我的观点是用最简单的思路来实现最复杂的功能,人的大脑能想到的情况是有限的,不要让大脑来运行本该电脑运行的算法,否则这个算法就是不能采用的。设计也一样,就要预先想到这个算法能够带来的后果。

  迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。

  对迭代和版本的区别,可理解如下: 迭代一般指某版本的生产过程,包括从需求分析到测试完成; 版本一般指某阶段软件开发的结果,一个可交付使用的产品。

  Spring MVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对Struts 2的超越。现在越来越多的开发团队选择了Spring MVC。

  Struts2也是非常优秀的MVC构架,优点非常多比如良好的结构,的思想,丰富的功能。但这里想说的是缺点,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降,应避免使用这些功能。而Struts2的多层、多实例action性能都很好。

  MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

  Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

  在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

  项目采用SVN进行管理,SVN是一个团队开发多版本控制的软件,可以对项目的文档、代码及归档版本进行有效的控制管理。

  软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

  经过测试后的软件确认可以交付使用了就需要给需求单位进行安装部署和使用并在使用过程中发现更多的需求和不足,逐渐的让软件趋于完善。关于软件的安装,小编已在其它文章中把JDK、Tomcat、Mysql、vsFTP的Shell脚本安装做了详细说明。

  用户使用手册:是详细描述软件的功能、性能和用户界面,使用户了解到如何使用该软件。

点击这里复制本文地址 免责声明:本站内容由程序自动采集于互联网,无人工干预,只作交流和学习使用,本站不储存任何资源内容,如有侵权请联系qq邮箱798244092@qq.com立刻删除,谢谢!

支持Ctrl+Enter提交

中国源码 © All Rights Reserved.  
Powered by 多多资源网 Themes by 多多资源网
联系我们| 关于我们| 留言建议| 网站管理