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

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

  前言:从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)新闻管理

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

魔兽世界中招:一条命令行就能劫持你的游戏!

最近出现了一种涉及社工技术的新型游戏攻击骗局,攻击者利用了魔兽世界(World of Warcraft,WoW)游戏插件中一个隐藏的功能。 新型攻击 想象一下这...

4628
来自专栏美团技术团队

sysbench在美团点评中的应用

如何快速入门数据库?以我个人经验来看,数据库功能和性能测试是一条不错的捷径。当然从公司层面,数据库测试还有更多实用的功能。这方面,美团点评使用的是知名工具sys...

3774
来自专栏杨建荣的学习笔记

平台设计中的脚本管理

前期揉入了一些功能,因为主要是面向基础功能,所以进度略慢,如果要想一下子有种井喷的效果,那就是脚本化和流程化大显身手的时候了。 如果尽可能减少开发和业务同学之间...

4024
来自专栏机器人网

Python很火,最受欢迎的 7 种编程语言在商用情况?

Elixir Elixir 是一个相当年轻的语言,自然几乎所有的项目都是基于最新版本的。40% 的项目使用的是今年发布的Elixir 1.4 及以上版本,该版本...

3663
来自专栏恰童鞋骚年

《大型网站技术架构》读书笔记之七:随需应变之网站的可扩展架构

此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。

1083
来自专栏数据之美

网站数据统计分析之二:前端日志采集是与非

在上一篇《网站数据统计分析之一:日志收集原理及其实现》中,咱们详细的介绍了整个日志采集的原理与流程。但是不是这样在真实的业务环境中就万事大吉了呢?事实往往并非如...

5177
来自专栏携程技术中心

干货 | 高吞吐消息网关的探索与思考

作者简介 刘惊惊,唯品会业务架构部高级架构师。主要负责用户线,营销线的业务架构,也参与库存系统的重构改造。 一、背景介绍 唯品会是一家立足于“全球精选,正品特卖...

3454
来自专栏逍遥剑客的游戏开发

Nebula3中的Visibility系统

1702
来自专栏成猿之路

新百度云大文件下载神器,速度超级给力!

1712
来自专栏Linyb极客之路

面对峰值响应冲击,解决高并发的三大策略

在写这篇博客的前2天,听说某系统在25人的用户量下就宕机了,实在让人震惊,所以捋了下互联网交易系统我们可以采取哪些技术来解决互联网平台下大数据量高并发的问题。

2193

扫码关注云+社区

领取腾讯云代金券