2009-09-24 11 views
8

Estoy a punto de embarcarme en un proyecto que utiliza principalmente C# que implicará la comunicación entre el cliente y el servidor.Cómo planificar un proyecto

Me pregunto cómo planificar un proyecto como este.

Normalmente me limito a saltar a proyectos más pequeños y resolver las cosas a medida que avanzo porque tengo un diagrama en mi cabeza.

¿Cómo diseño un proyecto complejo antes de saber todo lo que requerirá?

¿Cómo sé si tengo un buen diseño o uno malo?

Suena estúpido, lo sé, pero me he enseñado todo lo que sé, así que realmente no he tenido ninguna experiencia de trabajo en grupos o con instrucciones.

Respuesta

6

"¿Cómo diseño un proyecto complejo antes de saber todo lo que requerirá?"

Si eso te preocupa, entonces averigua todo lo que se requiere.

Lea Walker Royce's Software Project Management.

Los proyectos tienen cuatro partes.

  1. Inception. Definir el alcance del esfuerzo y las cosas que entregará. Lo que estás haciendo ahora.

  2. Elaboración. Obtener los detalles de "qué" se supone que debe hacer. Determinar "cómo" hará eso. Lo que debe hacer a continuación.

  3. Construcción. Architecture, Programación, Pruebas, Integración.

    ¿Cómo se valida el diseño? Varias técnicas que puedes aplicar

    a. Tecnología Spikes, también conocida como Spike Solution. Confirme la tecnología en profundidad lo antes posible.

    b. Test-Driven Development. Siempre planee para probar lo que está construyendo.

    c. Incremental, Agile desarrollo. Mira scrum. Construye en pedazos a partir de la pieza más importante y valiosa.

  4. Transición. Por lo general a la producción, pero a veces a otras personas para la integración.

1

tres pasos:

  1. gráfico, lo que hace qué, dónde va cada

  2. esquema y dibujar, esbozar lo que va a pasar, y cómo va a suceder, el sorteo del

    cualquier interfaz gráfica de usuario
  3. lo hacen

si uno y dos coinciden y tienen sentido, ¡entonces es un buen diseño! Si las cosas se desperdician, el diseño apesta

1

una de mis citas favoritas era de un compañero de trabajo, que una vez dijo "me gusta hacer la mayor cantidad de programación posible antes de comenzar a codificar", y esa es la actitud que tengo siempre tomado hacia eso.

Me gusta empezar haciendo garabatos, escribiendo cosas en inglés simple, luego empiezo a escribir diagramas detallados, UML o lo que prefiera. encuentre la mejor manera de estructurar los objetos, qué patrones de diseño (si corresponde) son aplicables. una vez que tenga una idea clara de cómo funcionará la aplicación, ¡comience a codificar!

+0

Lástima que este estilo esté pasado de moda hoy en día – Karl

3

Antes de comenzar un gran proyecto, simplemente me siento en un procesador de textos y resuelvo EXACTAMENTE lo que quiero que haga el software. Luego, compartimentalizo la funcionalidad en diferentes áreas. Determine las dependencias y escriba una especificación que detalle cómo se integrará y funcionará (cómo se estructurarán los datos, etc.).

Todo esto si antes he escrito incluso una sola línea de código. En este punto sé exactamente lo que necesito escribir, cómo escribirlo y dónde pertenece.

¡Lo mejor de todo es que la documentación escrita ya está casi completa!

2
  1. Mirar primero 2-3 videos de Autumn of Agile. Incluye lluvia de ideas y redacción de historias de usuarios, configuración de software de PM (TargetProcess, ¡me encanta!), Definición de tareas e iteraciones, etc.
  2. Lea Functional specification blog posts de Joel Spolsky, donde explica cuál es la diferencia entre las especificaciones funcionales y técnicas, y por qué los necesitas.
  3. y quizás también recomendaría leer el ebook corto Foundation of Programming, para familiarizarme con los problemas en la construcción de sistemas empresariales (bueno, se puede aplicar a casi cualquier desarrollo de software, en mi opinión), por qué es ágil, qué es DDD, etc.Muy agradable alto nivel visión general
+0

¡Ese otoño de cosas ágiles es realmente increíble! –

+0

There's Summer of NHibernate, que también es un gran recurso de aprendizaje. –

0

Estos son los pasos que he tomado antes de empezar a escribir código en un proyecto:

  1. crear un tablero Trello (u otro software que está utilizando para sus tareas)
  2. Escribir historias de usuario para el proyecto
  3. crear el modelo de casos de uso
  4. Crear el diagrama de actividad
  5. Crear º e maquetas
  6. elegir las tecnologías adecuadas para nuestro proyecto (esto tienes - C# ahora)
  7. Diseño del esquema de base de datos (si se utiliza alguna)
  8. Definir los casos de uso
  9. diseñar y probar su API (si tendrá una)
  10. de empezar a escribir el código, implementar el diseño ...

Aquí es un post que escribí para FreeCodeCamp sobre este tema, espero que ayude http://blog.freecodecamp.com/2015/06/10-steps-to-plan-better-so-you-can-write-less-code.html

Cuestiones relacionadas