没头没尾--项目开发笔记:对应开发方式的变化

原创 2002年11月25日 09:30:00

标题:没头没尾--项目开发笔记:对应开发方式的变化

关键词:分布式开发 C# 项目分工 UML IDEF

       1122号:有点激动,有点沮丧

多谢各位朋友的意见!其实没有写这个项目笔记之前,有很多的问题我都没意识到。写的过程中从前从后可以体会出有很多的过程我们的团队是在糊涂的过程中就走过来了。过程中少的很多部分都是根据以前开发的经验来填充,以及团队中个别牛人的能力来填充。朋友们如果有什么意思与好的建议,欢迎讨论。

其实现在已经可以发现我所说的开发过程有一些问题。不过我想既然是笔记。那还是主要记录事实的好,所以过程的对错也就可能对现在也没有什么太大的帮助。大家就当成是经验与教训吧。不过还是欢迎讨论,为解决问题找到好的想法。

接着上次昨天的说。项目在试图采用UMLIDEF没有结果之后,加上我们花了大多的时候去讨论框架本身(这件事回头再说,讨论的过程非常的麻烦,并且得到的成果比较有限,我们也从框架的讨论中得到了一些总结)。也围绕着需求的文档反反复复的讨论过很多的次。正准备按照以前的开发过程来进一步的进行下一步的开发时,一个契机出现了。

哈,说这是个契机实在有点可笑。事实上是领导们提交给客户的计划中有一项条款是有一个非常短的时间内要交一个详细设计。这个事情项目组是在离提交给客户详细设计的前二周才突然知道的。这下子麻烦了,我还没搞定设计应该采用是什么形式,写什么呀。急急忙忙的找到了我们的需求,从侧面了解到详细设计这个东东客户也不是很在意,只是合同的条款上有这一条,要不什么前期款之类的东东没办法拿回来之类的。然后我根据我以前开发ASP时候的经验,我与需求人员可不可以用一个可以连接起来的应用程序的纯粹页面作为详细设计来配合需求人员与客户讲解需求。讨价还价的结果还不错。最后是同意采用这种方式来进行处理。

由于前期工作的情况,以及我们框架本身的特点,加上这个“契机”,我定义出了以下的开发过程度采用以下的开发模式:

1.         完成数据库设计,完成界面显示

l     主要工作

完成界面的工作以配合需求人员去客户处进行系统讲解。根据需求完成对象的设计与数据库的设计。

l     对应完成框架中的部分

1)        界面中模板文件的生成

2)        界面中重载控件的生成

3)        界面的主要程序的调度界面的生成

4)        数据库表的生成,部分数据库存储过程的生成。以及对应的dataaccess.base层与commondata层的数据文件生成

l     效果

需求人员可以使用我们制作出的界面与用户进行沟通,并进一步的明确用户的需要。并可以提前去实现与客户的交流。数据库的设计与准备文件将会根据数据库的表准备出dataaccess.basecommondata两层。(部分的准备存储过程,这个也是我们特殊的开发过程制约的。)

2.         完成界面逻辑

l     主要工作

提供工具生成数据库表从dataaccess.template直至webservice层的方法,将所有已经提供出的数据库表提供出SelectAll();AddItem();UpdateItem();DeleteItem()等等方法。以及已经定义出的存储过程的方法从Webservice上的调用。并将界面端所有控件对应的动作都做出响应。只实现最为简单的增加,修改与删除。

l     对应完成框架中的部分

                                                 i.    使用自己做的工具完成dataaccess.template,dataaccess,businessrules,businessfacade,webservice的代码架子。其中dataaccess.template,dataaccess,businessrules按照数据库的表结构来进行组织;而businessfacade,webservice按照已经定上一个步骤中的客户端的业务结构来进行组织。

                                               ii.    实现界面的逻辑。对应所有界面上的运作都需要完成从Web Service取得数据以及回传的数据(定义好接口)的实现。以及界面的简单信息校验。

                                              iii.    生成的文件的基础上根据界面的响应来进行修改,对应加入businessrules,businessfacade,webservice的方法。

                                             iv.    新加方法时对应加入dataaccess的新方法。

l     效果

一个从界面上来说可以跑的程序。但并非从业务上可以跑的程序。只是完成了界面上所有对数据的简单操作(增删改)。

3.         完成业务逻辑

l     主要工作

最后大部分工作是真正的业务核心。通过以上两个步骤,我们已经实现了将除去业务的部分完成。这部分的工作就是具体去判断业务过程中除了去实现最基础的新增,修改,删除之后还需要实现的其它业务。比如删除一个商品的时候要去判断是不是这条商品已经被使用过等这些的业务流程。

l     操作框架中的部分

1)        businessrules,针对特殊业务加入方法以及调用。

2)        对应上一层的方法加入dataaccess以及存储过程的调用。

l     效果

最终完成。

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

其中涉及到非常多的来这三个阶段中的人员的分工安排。以及每一个过程的实现都将会同时将我们的需求,测试,以及客户反馈带入新的阶段。

目前项目的工作在第二步的过程中。我想下几篇将会讨论定义这个开发模式时的思考以及具体实现过程中的问题。也会讨论我们在其中自己开发的一些小工具的思路。

 

 

明后天要去上课了。北京这么冷,早上八点就要上课,痛苦!

 

(这里有一些事情要补允说明一下:需求人员在我们这个团队中的角色非常的复杂。他们要做先期的需求调研。要做用户UI的审批,要做测试,要做售后技术支持。特殊的身份使我们的需求人员对于业务的了解非常的熟悉,与客户之间的关系很紧密。但是也有点过份的插手到开发过程之中。所以我这里的需求人员与朋友们做项目中的需求人员可能会有不同。)

Web开发模式演变史

前不久徐飞写了一篇很好的文章:Web 应用的组件化开发。本文尝试从历史发展角度,说说各种研发模式的优劣。 一、简单明快的早期时代 可称之为 Web 1.0 时代,非常适合创业型小项...
  • z742182637
  • z742182637
  • 2016年07月28日 15:45
  • 1190

小型团队快速开发方法

这篇文章写的时候,正处于我探索小型团队快速开发方法的初期,虽然看了不少资料,但终究没有真正把文章中的开发方法真正实现过。因此,本文是我对小型团队快速开发方法的计划,并没有经过实践检验。现在看来,存在不...
  • a2261504394
  • a2261504394
  • 2014年11月11日 09:11
  • 390

如何选择合适的项目开发方式

先引用名言:任何优劣都是没有意义的,只有在适合的情况下采取合适的方式才能收获最大的利益。 谈一下自己对于项目团队的看法:...
  • u014369857
  • u014369857
  • 2016年06月29日 22:26
  • 578

mybatis教程--原始方式和mapper方式开发dao详解

mybatis开发dao的两种方式 一、原始的dao开发方式 所谓的原始的dao的开发方式,其实就是和hibernate的开发方式类似的,需要dao的接口和dao的实现类,这个就是原始的开发方式...
  • sihai12345
  • sihai12345
  • 2017年04月21日 11:03
  • 620

APP三种开发模式

1.1.     APP三种开发模式 智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝、京东等)、金融(各手机行业、P2P借贷等)、医疗(智慧医疗)、交通(滴滴、Uber等)、教育(...
  • helloxiaoliang
  • helloxiaoliang
  • 2016年08月15日 16:03
  • 6829

三种TDD开发模式

首先了解一下这三个开发模式都是什么意思: TDD:测试驱动开发(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD...
  • IBelieve1974
  • IBelieve1974
  • 2017年01月19日 11:38
  • 1464

APP三种开发模式理解及主流APP的研究

APP三种开发模式理解及主流APP的研究: Native APP:用纯代码编写,开发成本高,更新麻烦,优点是速度快,性能高,用户体验效果好。 Web App:直接加载web端网页,web App不...
  • qq_32973011
  • qq_32973011
  • 2017年05月17日 15:48
  • 1357

Android开发模式之MVC,MVP和MVVM的简单介绍与区别

相信大家对MVC,MVP和MVVM都不陌生,作为三个最耳熟能详的Android框架,它们的应用可以是非常广泛的,但是对于一些新手来说,可能对于区分它们三个都有困难,更别说在实际的项目中应用了,有些时候...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年09月26日 16:06
  • 4499

【2015-1-14】STM32学习之库开发好处

什么是库开发模式? 在学习51单片机的时候,我们一般都是通过直接配置寄存器来控制芯片的工作方式,如当我们使用定时器、中断等。配置的时候我们一般都需要查看芯片的数据手册,如需要需要把相应的寄存器的相应位...
  • u010141432
  • u010141432
  • 2015年01月14日 19:38
  • 1236

基于Ajax+SpringMVC+Spring+MySQL框架的云笔记项目cloud_note知识点总结

笔记管理系统,用户可以管理笔记信息,可以查看其他用户分享的笔记。
  • yuanxindev
  • yuanxindev
  • 2017年06月20日 21:43
  • 540
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:没头没尾--项目开发笔记:对应开发方式的变化
举报原因:
原因补充:

(最多只允许输入30个字)