2009-04-06 21 views
8

¿Qué han encontrado ustedes en buenos enfoques para desarrollar aplicaciones web?Proceso de desarrollo de aplicaciones web

Por ejemplo, ¿comienza con la interfaz de usuario y luego comienza a agregar funciones? ¿Se enfoca en un solo recurso y codifica todo a su alrededor antes de pasar al siguiente? ¿O vas capa por capa, comenzando con el modelo/capa de DB y construyendo?

Estoy trabajando solo.

Respuesta

4

Supongo que ya tiene algunas historias de usuario y requisitos. Me gusta crear un modelo de dominio rudimentario (básicamente un diagrama de clases), quizás sin TODOS los campos que todo contendrá, pero suficiente para tener una idea general de cómo está todo conectado, jerarquías de herencia y qué es todo.

En cuanto a la codificación, me gusta comenzar con un solo recurso y obtener algunas funcionalidades básicas creadas a su alrededor. Generalmente no lo conecto a un DB en este punto, estoy usando un DAO bastante simple que incluye cosas en una colección de objetos de dominio.

A continuación, agrego un puñado de recursos conectados menores, y empiezo a construir los diversos enlaces entre ellos. En este punto, tengo algunos objetos de dominio en su lugar, pero es posible que no haya creado todos los campos y todo lo que necesitan. Solo unos pocos campos importantes que son suficientes para diferenciar entre instancias de los objetos y vincular un puñado de ellos.

En este punto, intento completar los objetos de dominio que tengo con los campos y los comportamientos, y agregar los bits necesarios a la vista (s) para hacer que esas características sean utilizables. Luego, obtengo algún tipo de persistencia utilizable real, establezco la validación y las vistas son bonitas.

Refine lo que tiene, luego repita para cubrir el resto de su modelo.

5

"historias de usuario"> prototipo> diseño> Codificación> iteration1> Iteration2> ...> Versión

Aquí es un buen ejemplo de iteraciones:

http://www.asp.net/mvc/

vaya a " ASP.NET MVC Contacto Ejemplo de aplicación Manager", que parece:

  • iteración # 1 - Crear la aplicación
  • iteración # 2 - hacer que la aplicación se ven bien
  • iteración # 3 - Añadir la validación de formularios
  • iteración # 4 - Hacer la aplicación imprecisa
  • iteración # 5 - Crear unidad de prueba
  • iteración # 6 - uso basado en pruebas de desarrollo
  • iteración # 7 - Añadir funcionalidad Ajax
+0

Estoy familiarizado con el desarrollo web ágil. Me estoy enfocando en la parte de "codificación". – GeekJock

+0

"Aplicación de muestra ASP.NET MVC Contact Manager" es un ejemplo perfecto y se trata de "partes de codificación". Usted crea un marco básico, base de datos, luego agrega estilo, luego agrega validación de formulario, luego lo optimiza, luego agrega pruebas de unidad, funcionalidad ajax ... –

2

usted ha mencionado que está solo en su trabajo.

La respuesta anterior de Koistya es buena. Sin embargo, descubrí que al colocar la interfaz de usuario en un estado visible, mantengo al cliente más contento y obtengo su aprobación bastante rápido.

+0

tiendo a hacer lo mismo, hacer una 'pantalla bonita' para hacer las cosas reales para el cliente. los clientes no pueden ver el código como un progreso lamentablemente. – louism

2

Personalmente, siempre comienzo por hacer un mapa mental de todo. Luego de crear la estructura de mis modelos, entonces me puse en la lógica para añadir nuevos datos (ya sea un panel de administración de control, o cosas de extremo delantero)

entonces escribir pruebas

Luego de que comience en la lógica de visualización , edición, etc., y cualquier funcionalidad adicional necesaria

3

Tiendo a comenzar con la base de datos y trabajo una copia de seguridad, ya que hacer el modelado de entidades tiende a resaltar problemas.

A partir de allí, crearé la estructura base de Webapp (que en Java significa crear mi proyecto, agregar Spring, configurar fuentes de datos y seguridad, etc.).

Una vez que tenga todas las tuberías, crearé acceso a datos, controladores y vistas, generalmente creando una de cada una para obtener una prueba de concepto o simplemente como un modelo para desarrolladores junior.

Webapps son procesos iterativos (la mayoría de las veces) y creo que es mejor crear una división vertical tan pronto como sea posible.

2

que empezar con el modelo -> acceso a los datos -> esquema de base de datos -> interfaz de usuario

hago lo mismo para cada historia de usuario (y sí hacerlo Test Driven Development)

2

Cuando se desarrolla solo, hacer lo que funcione para ti. Aquí hay algunos otros recursos para que usted pueda ver a la hora de encontrar lo que funcione para usted. Tenga en cuenta que estos otros enfoques suponen un equipo.

  • Aquí hay una página que yo escribí es mi recomendación en SDLC.
  • Tome un vistazo a esta visión general de RUP, en particular el modelo de gráfico interactivo en la página 3.
  • SCRUM es otra cosa interesante para que usted mire.

Espero que esto ayude.

+0

Estas son todas esas soluciones de peso pesado, especialmente para alguien que trabaja solo. – cletus

+0

Esto es lo que produjo el enlace SCRUM en mi primer intento de cargarlo: "La página que estaba buscando no existe. Es posible que haya escrito mal la dirección o que la página se haya movido". - No inspira mucha fe en el proceso de desarrollo para mí. Pero al menos se cargó correctamente cuando presiono actualizar ... – Calvin

3

Si sabe lo que quiere, puede atacar el problema desde todos los ángulos, sin embargo, los buenos principios de diseño dictan que primero tiene un tipo de especificación que describe las características que desea. No solo lo ayuda a establecer sus hitos de características, sino que este es un ejercicio notablemente útil en la planificación de su aplicación.

Una vez más, un buen principio de diseño dicta que primero se diseñan objetos de dominio u objetos comerciales. Estos son todos los "sustantivos" en su aplicación. Digamos que desea desarrollar un sitio web que muestre las estadísticas de béisbol para jugadores de Grandes Ligas. Los objetos de dominio aquí son los nombres "jugadores", "estadísticas", "béisbol", "liga", etc. Para cada uno de estos, crea un modelo de dominio y una tabla de base de datos correspondiente. Luego empiezas a pensar en la funcionalidad que deseas agregar a cada uno, por ejemplo, Player.CareerSpan() o Player.GamesPlayer (año int).

El diseño de la interfaz también puede ocurrir en paralelo y aquí también debe usar maquetas en papel o usando algunas herramientas (las maquetas de Balsamiq son mis favoritas).

En algún momento todo se reduce a la administración personal y evitar el retroceso.Si está deshaciendo demasiados códigos, algo está desactivado. Un sistema de control de fuente te ayudará a darte cuenta de esto también.

4

Comience con el usuario si desea una aplicación que a las personas les gusta usar. Luego vuelva al diseño de la base de datos que funciona con las historias de los usuarios.

Si desea una aplicación que funcione como muchas de las que conocemos, donde los usuarios solo están ahí para realizar el mantenimiento de la base de datos, comience desde la base de datos. Probablemente termines más rápido, pero tus usuarios no estarán tan contentos con el resultado.

-1

Web application development comienza desde muy buenas especificaciones, que incluyen todos los aspectos de la experiencia del usuario, características, futuras necesidades de desarrollo, etc. Sólo después de haber escrito y aprobado, puede comenzar a trabajar en el desarrollo de aplicaciones web. De lo contrario, volverá a agregar características adicionales y abrirá el código una y otra vez

+0

echa un vistazo a la metodología de desarrollo Agile. –

Cuestiones relacionadas