关于一个项目的简单开发流程

  前言:从11月8号开始到11月12号我们小组使用html+easyUI+ashx+异步,开发了一个简易的网 站,也就是简单的门户网站,下面我就将我们这几天开发中遇到的一些问题以及我自己的一些关于项目的开发流程的见解,当然我的见解很有限,所以希望广大博友 们能提出你们在工作中所接触到的一些流程的见解,方便我们大家来学习。下面我们就来说一下整个项目的过程

1.首先就是需求

  (1) 在整个项目中这块可以说是非常重要,没有需求或者需求不明确那么我们开发人员将无存下手,因为不知道怎么写,所以前期的需求调研是非常重要的,如果在这块没有好好整理的话将会在后面遇到很多的问题,后面我会说到我们遇到的问题。

  (2) 当然虽然我们知道需要需求分析,但是我们也没有做需求分析,因为数据库已经是建好的,而且我们是为了学习技术,只是为了编码,自己写着玩,当然从这些项目中我们都在学习进步,所以基本的需求我们都知道。

  (3)记得以前刚去公司的时候,我们主任曾经给我们提过让我写一个需求分析,项目是煤矿的《人员定位管理系统》,当 时刚一接触,头大啊,根本不知道什么需求,然后我就查资料,但是最后没有写,因为需求本来是有的,我们主任只是为了锻炼我一下,所以让我自己琢磨一下,后 来我们公司小组设计了一个分层的权限设置,权限大家都知道,好几个表嵌套,所以那次也学到了好多东西,最后公司有个OA项目,需求分析也是我写的,网址:http://www.cnblogs.com/hanyinglong/archive/2012/07/13/2589927.html,但是这些全部是我主任为了训练我,所以在这里我感谢我的主任和以前的同事,他们对我的帮助挺大的。

2.接下来就是设计数据库

  (1)当我们需求写完的时候,这时候就到搭建整个数据库的时候了,也可以说数据库是整个项目中最重要的角色了,一个优秀的数据库设计者就能从这里看出来,因为我们数据库是设计好的,所以我这里只说一下自己的感觉吧,我在数据库方面比较弱,所以见解很浅的。

  (2)我觉得主键是必须的,每个表都有其对应的主键,而且主键最好用一个不相干的字段ID来表示,这样方便我们在项目里面写代码。

  (3)其他的就是一些命名之类的最好要见名知意,不要使用汉字命名,还有数据库的设计遵循三大范式。

3.最后就是编码的实现了

  (1)首先建立解决方案项目,最后使用动软生成器生成相应的代码,然后放到解决方案中,修改bug,使动软的代码可以运行,最后建立web应用程序,整个架构下来如图所示:就是一个典型的三层架构。

    

  (2)在不使用任何技术的前提下,将小组各自的项目整合在一起,如果前期不讨论如何弄的话在整和项目的时候将会遇到 许多的问题,我想大家都是很清楚的吧,如果项目大点,那就是生不如死啊,怎么样才能是项目合并起来很方便呢,下面我就说一下我的想法吧,只是参考,大家有 更好的可以提出来我们共同学习进步。

  (3)首先我们在Web应用程序中必须建立相应的使用外部文件的文件夹,比如我们使用的JS文件我们可以放到Jquerys文件夹下面,css文件可以放到相应的style文件夹下面,还有调用的dll我们可以放到lib文件夹下面,如下图所示。

    

(4)动软生成的代码,我们一般情况下不可以直接在里面操作,因为那样的话如果数据库的结构变了,我们需要重新生成代 码,将会覆盖我们的代码或者我们一个一个的去复制黏贴,那可真就是典型的苦逼的程序员了,所以如果我们需要给DLL层的用户表里面添加一个分页的方法,那 么我们可以直接建立一个部分类LYSC_userExt,然后再实现代码,结构图和代码如图所示:高清加亮的就是我们给重新建立的。

      

      

(5)然后我主要说一下我们后台的实现,因为我们后台是分角色写的,每个人都有每个人的模块,所以后天的开发尤其能体现 出来前面所说的内容,因为后台分为用户管理,客户管理,企业文化,新闻和人才管理,所以我对应的每个角色都建立一个文件夹,比如用户对应Users,新闻 对应news,然后将该使用的easyUI文件夹行放到后台下面,然后因为我们在后台用到了富文本编辑器,所以将富文本编辑器的文件夹也放到下面,这样我 们就搭建好了整个系统的开发环境,如图所示:
      

(6)这样我们的整个环境的开发就搭建好了,然后将这个文件发给我们的每个成员,然后每个成员对应每个成员的开发角色,在其相应的文件夹下面建立html,一般处理程序和代码的书写,在最后合并的时候我们只需要拷贝过来一个成员的文件夹复制到项目里面就行了。

4.调试测试

  (1)首先我们在写代码的时候就应该适当的调试,比如那些很低级的错误,文本框的长度,邮件格式,文本框不能为空等这些本来可以避免的Bug我们应该就不要让其发生,所以我们在编写代码的时候就应该写完。

  (2)如果我们的团队有测试团队的话他们的测试将会编写测试代码来测试,那样是最好的,但是我们没有测试人员,所以,我们自己成员测试项目。

  (3)在测试中最忌讳的就是自己测试自己的代码,那样可能一些潜在的代码始终是测试不出来的,所以等项目成型之后就要将自己开发的模块分给别人测试,而你测试别人的模块,这样使用黑盒测试一下基本通过,那样一个企业的网站算是成型了,我们的网站也正在测试中。

5.效果展示图:

  (1) 用户管理

  (2)新闻管理

      

  

      

项目下载地址:本来是在博客园上传的,可是太大了,只能在CSDN里面了,http://download.csdn.net/detail/hanyinglong/4767316

转自:http://www.cnblogs.com/hanyinglong/archive/2012/11/12/2766769.html

转载于:https://www.cnblogs.com/heyonggang/archive/2012/12/14/2818283.html

一个项目的简单开发流程——需求、数据库、编码相关推荐

  1. Java程序员:一整个项目的具体开发流程介绍

    对于程序员这个"质朴"的职位来说,说的再多,也没有做的多来的实在. 就以程序员找工作为例,哪怕你简历上写了再多你上了什么课,会多少种语言,都没有别人简简单单的几个项目经验来的吸引面 ...

  2. 一个项目的整个测试流程

    最近一直在进行接口自动化的测试工作,同时对于一个项目的整个测试流程进行了梳理,希望能对你有用~~~ 需求分析: 整体流程图: 需求提取 -> 需求分析 -> 需求评审 -> 更新后的 ...

  3. 一个WEB应用的开发流程

    转载:http://www.51testing.com/html/56/n-3721856.html 先说项目开发过程中团队人员的分工协作. 一.人员安排 毕业至今的大部分项目都是独立完成,虽然也有和 ...

  4. 1.一个WEB应用的开发流程

    先说项目开发过程中团队人员的分工协作. 一.人员安排 毕业至今的大部分项目都是独立完成,虽然也有和其他同事协作的时候,但自认为对团队协作的了解和认知都还有所欠缺.很清楚团队协作的重要性,但尚未有很好的 ...

  5. 也谈基于Web的含工作流项目的一般开发流程

    该项目包含的通用模块代码等我有时间一并剥离贡献出来(基于WebSocket的通知引擎,工作流整合模块,自定义表单,基于RBAC权限设计),最近太忙了,Web项目有一段时间没碰,有点生疏的感觉,主要在忙 ...

  6. python接外包项目_微信外包项目,接口开发流程小记

    近期帮朋友做了几个用到微信公众号接口的活,所以总结下. 一.微信公众号后台配置 公众号分订阅号,服务号,企业号,可以调用的接口权限各不相同,这里就不赘述,参考官方说明. 登陆公众号后台,有接口权限,做 ...

  7. 微信外包项目,接口开发流程小记

    近期帮朋友做了几个用到微信公众号接口的活,所以总结下. 一.微信公众号后台配置 公众号分订阅号,服务号,企业号,可以调用的接口权限各不相同,这里就不赘述,参考官方说明. 登陆公众号后台,有接口权限,做 ...

  8. 记一次外包项目微信接口开发流程-spring-boot

    2019独角兽企业重金招聘Python工程师标准>>> 近期帮朋友做了几个用到微信公众号接口的活,所以总结下. 一.微信公众号后台配置 公众号分订阅号,服务号,企业号,可以调用的接口 ...

  9. 软件开发流程与数据库开发流程

    数据库设计的基本步骤  数据库设计的过程(六个阶段) 1.需求分析阶段(综合各个用户的应用需求) 2.概念结构设计阶段(形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图))  3.逻辑结 ...

最新文章

  1. php连接mysql总结_php连接数据库的三种方式的总结
  2. 获得Google搜索字符串中的关键字
  3. 【问链财经-区块链基础知识系列】 第二十一课 区块链应用于大宗商品供应链金融
  4. jquery 按钮效果 正常、移上、按下
  5. AfxInitExtensionModule和AfxTermExtensionModule
  6. 23 Python 面向对象
  7. Spring AOP的一个具体例子
  8. 深入浅出JVM-GC过程
  9. 201521123035《Java程序设计》第八周学习总结
  10. 如何利用bat在同一个IE用多个选项卡的方式打开多个网址? 如何利用bat在同一个IE用多个选项卡的方式打开多个网址? 我的网址是这样的http://www.xags.gov.cn:8003/gga
  11. 10038 mysql,关于MySql 10038错误的完美解决方法(三种)
  12. 如何导入一个项目 myeclipse
  13. 谷歌搜索363搜索引擎入口_SEO谷歌搜索引擎优化到底有啥好?
  14. c语言图书馆管理系统源码,C语言图书馆管理系统源代码
  15. MODIS数据下载流程之地理空间数据云
  16. 海马扫描Linux,海马扫描公式识别软件
  17. win7计算机备份,使用Win7自带工具对Win7系统进行备份图文详解
  18. flv怎么转换成mp4格式
  19. 分布式和非分布式_分布式防御虚假信息
  20. 计算机控制原理跟自动控制原理,上海交大考研自动控制理论和自动控制原理有什么区..._在职考研_帮考网...

热门文章

  1. java输出输入的日期_Java编写的日历,输入年月,输出这个月的日期与星期
  2. python--xlrd: xlrd.open_workbook excel.xls CompDocError解决办法
  3. java drawimage api_HTML5 Canvas API中drawImage()方法的使用实例
  4. 中标麒麟怎么安装deb包_请教,如何制作中标麒麟系统可用的安装包?
  5. Python下的云计算(OpenStack技术书籍)
  6. android 中如何监听耳机键消息
  7. 系统出错, 发生系统错误 1067, 进程意外终止. 解决方法
  8. c++语言怎么实现字符串拼接,C++ string类和字符串的访问和拼接操作
  9. 详解jdbcTemplate和namedParameterJdbcTemplate
  10. Hibernate 多对多关系实现