`
brucewei777
  • 浏览: 84928 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个动态网站开发后的小回顾

阅读更多
    应各方面的要求,本着继往开来,总结教训,共同进步的理念,作为平台开发的一员,我在这里将这个项目的开发过程做个总结。希望项目结束后,我们收获的不仅仅是一个软件。

    这个系统最初是被叫做网管系统的,但是后来加入了较多的业务图表展示。再后来,为了给市场推广和接待客户,又给系统添加了比较炫的flash和GoogleEarth。本来是给内部员工管理用的,但是马上也打算推向客户。最近由于面对不同的用户,被迫需要维护三个版本。

    给A客户看了,A提了些个想法,领导就说这是市场需求,上;给B客户看了,B也提了些个想法,同样,领导说这也是市场需求,上。这种剧烈的变化对开发人员来说实在是不小的挑战。

   面对这种不规范的开发环境,开发人员唯一能做的就是……硬着头皮扛。除此之外,你不会跟领导说什么软件开发方法论吧。你无法判断哪些客户的意见是真正的需求。有客户,开发人员才有用武之地。

    项目的开始阶段还不错,有需求设计文档,有站立会议,还有单元测试,月底还会有领导检查测试覆盖率。但是没过多长时间,开发有些变味了。首先是团队个别成员对站立会议有些抵触,认为过于形式,不排除某些成员由于压力太大,负责的功能好几天没有进展,因此不太情愿继续重复问题。对我而言,我能知道其它与我相关的模块的进度,进而拿捏自己的进度,或者听听别人的意见,进而看看对我的模块有什么影响,状态好的话,我还能给别人出出主意。

    在某一天,领导觉得项目进度有些慢了,给了个时间点,要求必须实现某些功能。然后小领导组织大家开会商量解决办法,讨论结果是,在时间点内实现功能,先不考虑其它诸如权限、日志、输入验证等非业务功能。于是单元测试没有了,在开发过程中遇到的问题、解决方法和变更也来不及文档化。成员们开始因为各自的原因随意地更改接口,之前调通的功能又出现故障,这样的情形后来还出现多次,无形中增加了成本。

    企业内部系统的开发与给别人开发项目是有区别的,领导希望从开发人员手里出来就是一个健壮可用、性能良好、扩展性很强的软件。这不是我说的。但是我切实体会到这一点。你无法跟领导说,我们完成了软件,但是还需要三四个测试人员测试一两个月。而且第一用户就是你的同事,出现了问题或者新需求,你每天都有不小的工作量。

    再后来,领导发现这是一个对外宣传的平台,有客户来,或者市场要出去宣传,的确需要这么一个平台来展现我们的工作成果,于是,这个系统又加了些新功能,说实话,我很高兴我做的东西能代表我们部门,但是从软件开发的角度来看,又很纠结。有些界面要求不要交互,内容要自动播放,有的界面要求能对用户的点击做出响应。而且要求中英文,交付速度要快。

    总的看来,进度的压力似乎是软件开发规范化的最大障碍,一旦进度优先,什么方法,什么规范,先站一边。而在市场看来,机会就那么一闪,没人给你时间,不管你是作坊还是工厂,到点拿出了东西,接下来,有钱赚,什么都好说。

    作为小组的一员,我负责除数据库之外所有代码的编写。

    从现在的统计来看,我们的项目有177个JAVA文件,143个JSP文件,237个数据表,101个数据库存储过程。应该是一个规模中偏小的WEB程序吧。

    在开发过程中,遇到了很多问题。有技术上的也有技术之外的。

    能完成这样一个项目,和成员的通力合作是分不开的。但是我们仍然有改进的余地。以后要注意沟通的质量。确保自己听到的是别人想说的,确保别人听到的是自己想说的。
   
    通常来说,一个WEB程序分为多语言功能、权限管理、日志、数据库模型映射、页面展示和主体业务六大部分。其中除了主体业务之外,其它五个部分差别是不大的,这也是各种框架层出不穷的原因。

    多语言对系统影响较小,但是对其认真的规划也是很重要的。一般来说,静态页面可以有cn和en两个文件夹来存放两种语言的内容,如果再多一种语言,只要再添加一个文件夹即可。但是对于动态页面,由于动态页面都是根据数据库数据生成的,如果把和语言相关的内容也放到数据库里,以后扩展语言的话会对系统造成很大变动。通常都是将语言相关的内容放到properties文件中,新的语言只要求新的properties文件。

    在信誉平台里,和语言相关的内容分布在前端和后端的所有环节。目前的中英文实现属于笨方法,有80%的功能是中英文各做一套。幸亏目前的规模不算太大。如果再增加一个语言的话,还真要好好琢磨怎么加。

    页面展示就是当页面跳转比较复杂的时候,容易让开发人员头晕,也是应该事先好好规划。

    还有输入验证这个功能目前也没有完善。

    技术问题能记起来的就是中文乱码问题,传输JSON字符串,其实技术问题不是什么大问题,又不是搞科研或者什么高精尖,解决方法都是可以找到的。

    权限管理和日志这块涉及的比较浅显,还是需求不明确。

    最后,主体业务这块,我们似乎过于想快速的将页面开发完,忽略了每个页面的实际意义。当页面开发完之后,发现有些页面似乎“价值”不大。一个产品一定要有一个产品的价值。否则,再辛苦,都是白费力气。

    开发过程的不规范是有目共睹的。希望能从这些回顾中吸取教训。
分享到:
评论

相关推荐

    ASP[1].NET+2.0动态网站开发教程

    1.1 网站发展历史的简要回顾 1.1.1 从静态网页发展到动态网页 1.1.2 动态网页发展的几个阶段 1.1.3 ASP的技术特点 1.1.4 新一代ASP.NET技术 1.2 .NET框架的体系结构 1.3 XML:可扩展标记语言 ...

    matlab开发-动态分配策略回顾

    本篇将回顾几种常见的动态策略,包括凸管理(Convex Management)、凹管理(Concave Management)、恒定比例投资组合保险(CPPI)和优化基础投资比例策略(OBPI)。 1. 凸管理与凹管理: 凸管理与凹管理是基于投资...

    PHP+MYSQL动态网站开发(完整免金币版)

    本书的出版不仅为学习者提供了一个学习和实践的平台,也为动态网站开发领域培养了一批又一批的人才。有了这本书的帮助,即使是编程新手,也能够迅速上手,并在网站开发的道路上越走越远。通过学习PHP和MySQL,学习者...

    asp动态网站开发资料

    这个“asp动态网站开发资料”可能包含了一个基于ASP技术构建的完整网站系统,它与SQL Server数据库结合,提供数据存储和检索功能。 SQL Server是微软公司推出的一款关系型数据库管理系统,广泛应用于企业级数据管理...

    Flash动态网站开发[文].pdf

    本文详细介绍了如何开发、调试和部署这些应用程序,旨在帮助读者构建一个完整的知识体系。 首先,文章强调了动态网站开发的重要性,特别是在用户体验和商业效率方面。Flash作为富媒体应用程序的关键,为用户提供了...

    SpringBoot开发之JavaWeb回顾

    在Spring Boot框架中进行JavaWeb开发,是对传统Java Web应用的一种简化和优化。Spring Boot以其“开箱即用”的特性,极大地提高了开发效率,减少了配置工作。本篇将回顾JavaWeb开发的一些核心概念和Spring Boot如何...

    ASP.NET3.5网站开发实例教程

    ASP.NET3.5作为.NET框架的一个重要组成部分,引入了许多新特性,如LINQ、ADO.NET Entity Framework等,极大地提升了Web应用程序的开发效率和性能。 ### VWD2008开发环境 Visual Web Developer 2008(简称VWD2008)...

    微信小程序开发-狼人杀小游戏案例源码.zip

    在这个“微信小程序开发-狼人杀小游戏案例源码.zip”压缩包中,你将获得一个实际的狼人杀小游戏的完整源代码,这对于学习微信小程序开发以及游戏开发具有很高的参考价值。 首先,我们要了解微信小程序的基本结构。...

    网站开发前端+服务端+api文档

    网站开发是一个涵盖广泛的技术领域,包括前端开发、后端服务端开发以及API接口设计与实现。这个压缩包文件提供了一些核心资源,对于进行网站开发的人员来说是非常宝贵的参考资料。 首先,我们来看看`[Java参考文档]...

    讲Java回顾及开发环境建立.ppt

    《Java回顾及开发环境建立》 Java,作为一种强大的、跨平台的编程语言,自1995年发布以来,已经成为软件开发领域的中坚力量。本课程旨在对Java进行深入回顾,并指导学员构建Java开发环境,为后续的高级开发技术学习...

    ASP.NET 2.0动态网站开发基础教程(C# 2005篇)PPT

    ASP.NET 2.0是微软推出的用于构建动态网站和Web应用程序的框架,它基于.NET Framework,为开发者提供了强大而高效的应用...对于初学者来说,这是一个不可多得的学习资源,同时也适合有一定基础的开发者回顾和巩固知识。

    matlab开发-统计BitragEcoIntegration和多变量回顾Steinuhlenbeck

    在MATLAB开发中,"统计BitragEcoIntegration和多变量回顾Steinuhlenbeck"涉及到的是金融市场中的两个重要概念,以及如何利用编程工具进行数据分析和建模。这两个概念是经济一体化(Economic Integration)和Ornstein...

    getcolor 开发小工具

    然而,精确地获取和应用颜色却往往是一个繁琐的过程,直到像"getcolor"这样的开发小工具出现,这一问题得到了有效的解决。 "getcolor 开发小工具"以其精巧的特性,为网页开发者提供了一个便捷的解决方案。这个工具...

    php4.0与mysql动态网站编程.

    《PHP4.0与MySQL动态网站编程》是一个深入讲解如何使用PHP4.0版本和MySQL数据库构建动态网站的教程。这个教程可能包含了从基础到高级的全方面内容,旨在帮助开发者掌握这两种关键技术的结合,从而在Web开发领域实现...

    JavaSE回顾小项目--坦克大战

    总的来说,"JavaSE回顾小项目--坦克大战"不仅是一个娱乐性强的游戏,更是JavaSE技术的实践展示,它涵盖了面向对象编程、多线程、I/O流等核心知识点,是学习和掌握JavaSE技术的绝佳案例。通过该项目,开发者可以提升...

    动态同学录(ASP开发)

    【标题】:“动态同学录(ASP开发)” 这个项目是一个基于ASP(Active Server Pages)技术构建的动态同学录系统。...对于有经验的开发者,这是一个回顾经典技术或研究ASP与现代Web开发框架差异的好例子。

    动态图大全带文案自动采集动态图内容支持收藏微信小程序源码

    正如标题所言,这款小程序专注于动态图的展示,并且提供了一个便捷的收藏功能,让用户可以将自己钟爱的动态图轻松保存下来,以便随时回顾。但它的特点远不止于此。用户每次打开或刷新小程序界面时,都能看到一个全新...

    敏捷软件开发.pdf

    敏捷方法论强调了交付功能性的软件增量的重要性,认为每个迭代都应该产出一个可运行的、潜在可交付的产品版本。这样可以确保整个开发过程中,利益相关者能够频繁看到进展,并及时提出反馈。 本书还讨论了水晶方法集...

    项目开发说明书

    周杰伦网站开发说明书是一个详细的文档,旨在为团队成员和相关人员提供关于“周杰伦中文网”项目的重要信息。这份文档由宋天天于2014年11月23日制定,并经过汪洋的评审,旨在确保项目的顺利进行。 **1. 项目提出** ...

    中外旅游规划、开发的回顾与展望.pptx

    规划方法从静态、确定性转向动态、概率性和不确定性,涵盖了社会、经济等多个层面。旅游心理学和旅游社会学等理论开始在规划中占据重要地位。 4. **快速发展阶段(80年代—90年代)** 旅游规划在发达国家和发展中...

Global site tag (gtag.js) - Google Analytics