我写项目的步骤。抛砖引玉。

简介: 相信各位高手都会有自己习惯或者独特的写项目的方式,不知道是否可以拿出来和大家分享一下。 我先说一下我的,就当作是一块大砖头吧。 1、需求调研、分析 2、功能节点设计 3、数据库设计 4、使用“管理程序”建立数据库、表。

相信各位高手都会有自己习惯或者独特的写项目的方式,不知道是否可以拿出来和大家分享一下。
我先说一下我的,就当作是一块大砖头吧。

1、需求调研、分析
2、功能节点设计
3、数据库设计
4、使用“管理程序”建立数据库、表。
5、使用“管理程序”添加字段(包括表)的描述信息。
6、使用“管理程序”设置分页控件需要的属性和添加修改删除等使用的表名 。
7、使用“管理程序”设置显示、查询、表单、导出到Excel等使用的字段。
8、其他的不能套用“控件”的功能。

1、需求调研、分析
      这个就不多说了。其实这个都是项目经理负责的,一般我都没有参与,只有做到细节的时候,而且在弄不明白的时候,才是我来直接问客户。

2、功能节点设计
      根据客户的需求设计项目需要实现的功能,也就是功能树的内容。比如添加产品信息、维护员工信息等。这个是和“通用权限”挂钩的,内容会保存在 [项目—功能结点]  里面。这个表也是整个项目的核心,不仅权限、功能树会用到,后面的步骤也都是需要的。

3、数据库设计
      这个我习惯使用 Excel来设计,看字段的内容是很方便的。当然看表关联还是有点困难,不过在设计的时候,表之间的关系都是在我的脑子里的。如果在设计之后能够及时补充一个关系图就可以了。
      Excel的结构是这样的。

标识 序号 字段名 中文名 类型 大小 默认值 说明 关联字段
d01 0 Help_Info 帮助信息          
cd01 1 InfoID 序号 int 4 n1 主键,自增长
cd01 2 FunctionID 节点ID int 4 n1
cd01 3 Title 标题 nvarchar 100 _
cd01 4 Content 内容 ntext 16 _
cd01 5 ViewCount 浏览次数 int 4 n0


4、使用“管理程序”建立数据库、表。

      上面的Excel 并不是写完了就“用不到了”,而是时时都会用到的。如果说表设计完毕之后,还要在SQL Server 里面手动键表,是不是很郁闷呢?于是我写了个小的程序(b/s结构的,以下叫做“管理程序”),这个程序可以读取Excel表里面的表和字段信息,然后生成 “Creat Table  ” 这样的SQL语句,然后执行这个SQL语句就可以键表了。
      表的主建、自增、默认值等,都可以“自动”生成。

[查看表和字段的信息]

[键表的SQL语句]


5、使用“管理程序”添加字段(包括表)的描述信息。
      这个就有点特殊了。我需要做一个“映射”,就是要把字段和UI控件对应起来。
      比如说有一个“人员姓名”的字段,那么这个字段在添加数据的时候使用哪种控件(文本框)?控件的描述(宽度、是否验证、最大字符数等信息)信息是甚么?就是说会有一个对应关系。
      比如 “人员姓名”字段 要对应一个文本框,而这个文本框的宽度是10px,最大字符数(maxlength)是10,必填。“性别”字段要对应一个下拉列表框(或者RadioBoxList),要加入两个选项“男”、“女”。
      做这些的目的,是要在“表单控件”里面使用。这个表单控件并不是系统带的那个,而是我自己写的。“表单控件”需要这些信息来自动描绘具体的控件(比如文本框、下拉列表框等),然后收集用户输入的数据、进行验证(前台的js验证,和后台的数据类型是否符合要求的验证),然后组合成SQL语句,通过“ 数据访问函数库”提交给数据库,当然也支持使用存储过程的方式添加数据。

[浏览页面里的按钮的设置]


6、使用“管理程序”设置分页控件需要的属性和添加、修改、删除等使用的表名 。
      这个是给 分页控件服务的,目的就是要给分页控件赋属性。还有就是记录一下,在添加、修改、删除的时候使用哪个表。

[设置分页控件的属性]



7、使用“管理程序”设置显示、查询、表单、导出到Excel等使用的字段。
      只有第五步还是不够的,因为不知道哪个表单(页面)需要哪个字段,这里就是做这个用的。
      简单的说就是,哪个表单需要哪个字段、谁在前面谁在后面、显示成一列还是多列、是否需要写点说明等。
      类似的还有查询控件需要哪些字段(就是通过哪些字段来查询数据),使用什么查询方式(==''、like '%%'、between  '' and ''、in (1,2,3))等,谁在前面谁在后面,拍成几列等信息。
      当然还有有一个在列表页面里面显示哪些字段的情况,和上面也是类似的设置。最后就是如果需要导出到Excel文件的时候,也可以类似的设置。

[设置表单里需要的字段]


[设置查询需要的字段]


[设置显示哪些字段]


8、其他的不能套用“控件”的功能。

      做完了以上几步之后,简单的单表操作都可以“自动”完成了。主从表的话,可以分成多个功能结点的方式来实现,就是表单页里面再加一个列表页面(子表、从表)。一次添加多个表的情况,可以使用存储过程的方式来添加。
      这样项目的五成道八成都可以完成了。根据项目的复杂程度来定。
      按照8/2原则来说,用两成的时间完成了八成的“代码量”,然后再用八成的时间去攻克两成的有难度的功能。

      当然现在还没有完全的达到8:2 的比例。但是列表和查询已经非常的简单了,几乎点几下鼠标就可以完成。

      对了,还要补充一下,目前我做的项目,还没有太多的业务流、审批流等,所以对这方面的支持还是很弱的。这个也没有办法,审批流这一类的都是使用OA里面的“自定义审批功能”来实现了。我也没有得到“炼手”的机会。

  =============

      这个只是一个 抛砖引玉,先扔一块大砖头出来。相信大家都会有自己的工作方式和习惯,希望能够多多交流,取长补短,希望能够越具体越好。后面我会说一下我的表单控件的思路。

      这里是没有是实体类的,但并不是绝对的没有( 或者说是使用了实体类的思路),我把实体类分成了两个部分,一个部分变成了“字段和UI控件的对应”;另一部分根据具体的情况,在需要的时候才会使用,但是也不是只使用class 这种方式,也许会使用用户控件等方式。
      
   我的总体思路是以面向过程为主,面向对象为辅。如果使用面向对象可以更好的实现功能的话,我才会使用。对于单表的CRUD,我觉得还是我的方法更快捷,更容易维护。

相关文章
|
2月前
|
负载均衡 数据库 开发工具
|
3月前
|
C# 开发者 Windows
勇敢迈出第一步:手把手教你如何在WPF开源项目中贡献你的第一行代码,从选择项目到提交PR的全过程解析与实战技巧分享
【8月更文挑战第31天】本文指导您如何在Windows Presentation Foundation(WPF)相关的开源项目中贡献代码。无论您是初学者还是有经验的开发者,参与这类项目都能加深对WPF框架的理解并拓展职业履历。文章推荐了一些适合入门的项目如MvvmLight和MahApps.Metro,并详细介绍了从选择项目、设置开发环境到提交代码的全过程。通过具体示例,如添加按钮点击事件处理程序,帮助您迈出第一步。此外,还强调了提交Pull Request时保持专业沟通的重要性。参与开源不仅能提升技能,还能促进社区交流。
44 0
|
6月前
|
数据可视化 测试技术 API
阅读源码有哪些好方式与好步骤
阅读源码是理解软件工作原理的关键。首先,了解背景、目的和技术栈。从文件头部的文档注释开始,逐步深入到复杂代码。利用Git、调试器和分析工具辅助理解。保持批判性思维,质疑代码设计并验证理解。拆分代码块,画图展示结构,使用版本控制追踪变更。搜索、阅读文档、API和单元测试以深化理解。参与讨论,做笔记,回顾历史版本,了解上下文,并通过实践加强领悟。每个人的方法可能不同,关键是持续学习和适应。
58 1
|
6月前
|
小程序 开发工具 git
uniapp项目实践第三章:初始化项目
uniapp项目实践第三章:初始化项目
96 0
编程学习之路第一步
编程学习之路第一步
35 0
|
SQL JSON 机器人
pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程
pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程
|
应用服务中间件
主要介绍了解决IDEA控制台乱码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
主要介绍了解决IDEA控制台乱码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
115 0
|
Oracle IDE Java
最详细的Android开发环境配置经验分享(包含配置过程中可能出现的问题及解决办法。繁琐的配置步骤是否是你头疼呢,详细配置步骤你值得拥有!)
最详细的Android开发环境配置经验分享(包含配置过程中可能出现的问题及解决办法。繁琐的配置步骤是否是你头疼呢,详细配置步骤你值得拥有!)
407 0
最详细的Android开发环境配置经验分享(包含配置过程中可能出现的问题及解决办法。繁琐的配置步骤是否是你头疼呢,详细配置步骤你值得拥有!)
分体式测斜探头安装注意要点
分体式测斜探头采用高端 MEMS 技术的双轴高精度倾角仪,主要用于坝体、边坡、路基、基坑、岩体滑坡及大型建筑倾斜、土体内部水平位移变形测量。该仪器可重复使用,并可方便地实现倾斜测量的自动化监测。产品安装方便、使用简单、抗外界电磁干扰、承受振动冲击能力强,是军工装备、工业自动化、测量测绘等行业倾角测量的最佳选择。
分体式测斜探头安装注意要点