如何设计网站工作流程?


18

我已经思考了很长时间,却没有找到最佳答案。

首先,我是一位热爱编程的医生,但从未真正地学习过它,除了在家学习和在业余时间玩代码很多年之外。

目前,我正在尝试建立一个小型项目来管理我的诊所,为此,我首先创建了一个我希望能够做的选择列表。

例:

  1. 活跃的患者记录。
  2. 具有不同角色(例如,患者,护士,博士)的身份验证
  3. 预约时间表(包括日历,定期接种疫苗/手术等,并带有提醒)
  4. 允许医生创建自己的插件。
  5. 仪表板,供医生查看其统计信息

然后,我开始使用codeigniter / mysql / php / jquery并开始编码。

我在开发过程中的步骤:-

  1. 第一个数据库。

在此处输入图片说明

首先创建所有需要的表。

  1. 创建了我所有的模型来处理这些表(1个主模型,在处理基本读/写/更新/验证的同时还考虑了我的表关系

之后,我开始为视图和控制器编码。我首先创建了视图HTML,然后创建了将处理该视图的控制器,并开始编写函数以使视图交互有效。

编写约会视图时的示例(控制器booking.php):

在此处输入图片说明

当用户单击时,创建此布局并使表td可单击:jquery get(booking / add_ Patient_form)并弹出它

用户保存时:发布到预订/保存-保存约会,然后重新加载index()函数

等。我继续执行创建视图的相同步骤,然后创建其控制器-包含该视图所需的所有逻辑-完成整个项目。

最后,我所有的目标功能都运行良好,但是由于从一开始没有PLAN,而且由于整个项目都是脑力激荡和调试,没有任何计划,所以在完成该项目后,我发现自我维护性和灵活性!并且无法将它们链接在一起。

我感觉到网站上的每个页面都是彼此完全隔离的,我什至不记得每个页面的加载方式和内部的功能,而不会偷看!

无论如何,我可以恢复它并进行设计吗?


5
我通常会拿出一大张纸(A3或更大)和一支笔,并开始绘制流程图,直到找出网站上功能的完整“工作流程”以及数据库结构。在那之后,我将获得另一篇论文,并得出一些非常基本的线框。从那里开始,它是“仅”编码和一些图形设计。完成后,我将添加最后润色和细节。流程图使您很容易确定将什么功能放在哪里,即从什么位置获得什么变量。

3
宽大的白板甚至更好;)+1 @LuudJacobs。您比谁都知道单击过程应该如何运行,每次都应包含哪些实体和功能,要最频繁地搜索哪些数据,不需要那么多(很少)的数据。是否要保留历史记录以及在何处保存历史记录。绘制了几张实体图将带您到一个感觉不错的地方,并确保您选择的工具(数据库前端)可以满足当前以及未来的需求,而无需太多更改请求:)
bonCodigo

@LuudJacobs非常感谢:),但是我尝试这样做,抓住了白板并打印了我的数据库模式,...无法绘制任何东西!我想我不知道流程图应该是什么样子。我将尝试在Google周围搜索示例。如果您有任何实际项目的流程图,我希望看到
Zalaboza

+1 @bonCodigo:白板是更好的选择,因为您a)有更多的工作空间,b)擦除内容很容易。这是带有一些流程图示例的google搜索。制作流程图的好软件包括MS Visio和Mac的OmniGraffle

对于医生来说,您在此方面做得非常出色,特别是考虑到您选择了与之配合使用的编程语言Nickleback
罗伯特·哈维

Answers:


6

您的问题-开发一个软件的过程是什么-是一个热门话题。只是谷歌的“软件方法论”,看看这蠕虫能走多深...

没有公认的答案。实际上,根据我的经验,如果问5个程序员,就会得到7个答案。

我建议购买史蒂夫·麦康奈尔(Steve McConnell)的“代码完成”,以了解较低级别的编码实践-例如如何布置代码,如何注释代码,如何对其进行测试。我建议使用Eric Evans的“域驱动设计”,以概述如何在体系结构级别上构建应用程序。我建议Robert Martin撰写的“敏捷软件开发:原理,模式和实践”,作为如何在保持质量的同时“增长”软件的概述。

另一个开发人员可能会拒绝所有这些书,而将您指向UML,Rational Unified Process和代码生成。没有正确的答案!


为了说明Neville K关于不同答案的观点,他遗漏了一个很好的资源来设计最终用户交互,这是我喜欢开始的地方。;-)
Eric G


0

我建议您保留数据库结构,并使用由SQL Maestro公司创建的MySQL MySQL生成使用PHP Generator生成新的PHP代码。这真的对我有用。我经常使用它,我对此感到非常满意,特别是可以根据自己的需要调整PHP代码。此外,他们在更新中合并了您要求的新功能,并提供了有关如何调整代码的不错的教程。为了更好地理解,请看一下这个演示项目

在他们的网站上给出了以下产品描述:

MySQL的PHP​​生成器是MySQL GUI前端,它使您可以为选定的表,视图和查询生成高质量的PHP脚本,以便通过Web进一步处理这些对象。主要功能包括:

  • 数据管理:添加,编辑,删除和复制记录
  • 自定义HTML外观
  • 筛选和分类能力
  • 具有大量安全设置的数据保护
  • 主从演示
  • 事件驱动的内容管理
  • 数据导出为PDF,XML,CVS,Excel和Word

PHP Generator for MySQL产生清晰易懂的代码,可以按需使用或以您需要的任何方式对其进行修改。

节省雇用程序员,学习任何编程语言或购买昂贵的软件的巨额成本-所有代码都会自动为您生成!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.