English 中文(简体)
我如何设计一个简单的网络应用?
原标题:How do I design a simple web application?

我对私人住房项目有基本知识,以前做了几个小的个人项目。 由于我的方案规模不大,通常由不到5个班子组成,我跳跃到编码上——在我走过的时候,我想到我的数据库表和用户接口设计。 问题是,我常常在我的项目的中间点发现自己失去了想法。 因此,我认为,某种形式的正式规划是切实可行的。

我最近阅读了一些软件工程书籍。 一本书说,在网络工程中,应当使用诸如极端节目制作和传闻等脆弱过程。 我被介绍到使用案例、儿童权利委员会卡和尼共(马列)等工具中——我认为,我所铭记的简单项目过于复杂和不切实际。

另一方面,一个网络文章一只读就简单地提出了国际调查概要、网站图和简单的工作流程图。 它们似乎是实际的,但过于初步和非正式的。

什么是建立简单网络应用的实际但正式的方法?

问题回答

放弃使用案例或某种类似概念,如用户故事等。 这些工具的好处是让你思考网站需要做些什么。 这可以指导所有进一步的技术工作,并有助于你注重哪些重要工作,而不是在有趣但价值低的工作上消失。

关于顶层的思考n 现场需要做的事情,每个清单列出:

  • the ultimate goal for the user in this particular case
  • the kinds of people and other systems involved (actors, in use-case terminology)
  • what needs to be in place before starting this activity (the preconditions)
  • the basic steps the primary actor needs to perform to successfully achieve the goal
  • what should happen if one of those steps can t be completed
  • what the system looks like if the case is successfully completed (the postconditions)
  • what the system should look like if there were errors along the way

由于这些使用案例很多,你可以全面感觉到需要做些什么来实现这些目标。 如果开始看像太多的工作,你就可以看看哪些目标具有更大或次要的重要性,并减少或推迟那些提供较少价值的目标。 如果你认为该网站应当做新的事,则现有的使用案例要么是:

  • provide a home for that feature, so modify the appropriate use case to incorporate the feature,
  • don t provide a home, indicating you missed a use case or discovered a new one, so you should elaborate on it as described above, or
  • don t provide a home, and therefore indicate the isn t necessary and so you shouldn t spend time on it.

骗局是收集适当的抽象和形式。 高级别工作,非正式撰写,而且你可以迅速打碎。 当他们不再有用时(他们大多数申请都附有详细情况,现在由谁来领导),就将他们搁置一边。 当你想到新的事情时,看看它们是否合适。 ther,重复。

你们首先必须提出几个简单的问题:

1) Do I want to re-use and extend this code later? If so, it may be a good idea to use some basic pattern such as MVC (Model-View-Controller) or use one of the many PHP frameworks available. The already established frameworks are more format in their design and how you use it. You could always use them as a basis to design your own as well.

(2) 你们的这个地点是否经常增长或变化? 如果网站没有变化,你可能非常简单,不会对良好设计原则感到担忧。

3) 你是否希望学习和应用你提到的一些技术? 如果是的话,那就前往城镇,尝试不同的技术,看看这些技术向你们发出呼吁。

这些问题将有助于你决定如何建立你的网站。

启动小型、模拟少数简单屏幕及其数据库结构等。 不管用什么方法为你工作,如果是UML diagram,则罚款。 从那里获得一些成果、评价、并er。

这也许不是你所期待的,而是放弃了一种有利条件,选择了《公认法》等框架,使你的生活更容易撰写你的服务器侧码。 同样,考虑采用客户框架,如 j。 这将使你在准备实际坐下来并撰写法典时更容易。

The Bare Essentials

我发现,有一个四步进程,使申请发展变得非常容易,帮助我避免一路消失。 我毫不迟疑地采用灵活的发展方法。 这正是我的工作方式。

  1. Decide what the application needs to do. By "need", I mean, absolutely must do and nothing else. If it s a "nice to have" feature, write it down and come back to it later.
  2. Figure out what data you need to keep track of to make everything work. Slugs, titles, datetimes, etc. Design the database. (I use MySQL Workbench for this.)
  3. With your feature shortlist, prototype a user-interface with Balsamiq. Remember to add only the features you need right now.
    • You might consider doing HTML / CSS templates in this step.
  4. Now that you have the data model and the UI, connect them. Business logic should focus on two things:
    1. Abstract away from the data model so you can easily retrieve and store information from step 2.
    2. Make the UI work exactly as you designed in step 3. Don t get fancy.

Focus on Small Goals

这一进程有两个关键。 首先是将不同组成部分的设计分开。 你们在设计“国际倡议”时不想想到执行细节。 第二项关键是振兴。 把重点放在你现在需要增加的右边,忽略了其他一切。

一旦你重新工作,你就可以 it和 t,重复步骤1-4等。 但是,任何步骤都没有太长时间的 st。 如果事情不能像你一样彻底改变,那么你会永远会er。 (我认为,智者称其为“印本”,但我不 up于理论。)

Practical Considerations

如果你有(至少)轻度框架,协助4.1(ORM,如Propel)和4.2(JQuery等)。 您希望尽可能地将国际交易日志和数据存取作为模块化和分化,以便日后易变。

如果你把所有事项混为一谈,那么你就不得不把方案的每一部分改成(例如)在数据库中增加一个新栏或增加一个新子。 你有过一些经验,因此,你应当有避风气的想法。





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签