Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





¿Que usar para diseñar el funcionamiento de un programa?

Iniciado por 16BITBoy, 21 de Agosto de 2008, 12:50:35 AM

« anterior - próximo »

16BITBoy

Buenas

Pues eso, estoy intentando de hacer cositas un poco mas grandes, el pong mas o menos lo pude hacer de tiron desarrollando y pensando los pequeños algoritmos y rutinas al vuelo, o casi, mientras programaba, pero ahora que quiero hacer algo mas elaborado, no se como planificarmelo, osea una sola función del juego( en caso de un plataformas 2D por poner un ejemplo, la funcion que muestre un mapa en pantalla) puede estar dividida en muchas otras funciones pequeñas mas especificas(el que carga un archivo en memoria, para que otro lo interprete y haga un mapa segun dice ese archivo, el que carga los tiles para ese mapa partiendo de un archivo con todos ellos, la de scroll...), y cada funcion puede necesitar de ciertos datos y manejar estructuras de datos. ¿Como se supone que debo diseñar esa "mecanica" (o como debe funcionar)? He leido algo de diagramas de flujo, o pseudo codigo, pero casi me parece lo mismo que escribirlo a pelo en C++, o bien no lo he terminado de entender bien el concepto de eso.

¿Como haceis ustedes para diseñar como va a funcionar vuestro programa / juego, partiendo de que sabes ya lo que el juego o programa debe o podra hacer? ¿Algun tipo de documento?

Se que puedo tirarme a escribir codigo de lo que se me vaya ocurriendo, pero se que un dia puedo tener las cosas muy claras, y al siguiente no saber por que o para que puse tal variable o tal propiedad en una clase, pudiendoseme ocurrir otra muy distinta, y tener que reescribirlo todo ^^ (por poner un ejemplo de caos)

Un Saludo!

chan

Usa UML, es lo más lógico para lo que quieres hacer. Mírate cómo hacer casos de uso, diagramas de requisitos (si tienes muchos o si los que tienes son confusos, sino yo no perdería tiempo aquí), diagrama de clases (ésto es el diseño de todas las clases, con sus métodos y propiedades, de la aplicación, en tu caso el juego), diagramas de colaboración entre objetos y puede que necesites hacer máquinas de estado, por lo que deberás saber hacer diagramas de estado.

Hay muchas herramientas CASE para hacer éste tipo de cosas, ArgoUML por ejemplo, pero yo prefiero por encima de todos el Enterprise Architect.

Te recomiendo que si no has estudiado ingeniería del software (ya sea en la carrera, o por tu cuenta de alguna manera), que lo hagas, porque si empiezas a hacer diagramas sin sentido, puede ser que al final te embrolles más de lo necesario.

16BITBoy

gracias por responder chan ;)

He estado mirando sobre uml y mas sobre diagramas y tal, pero veo que tienes razon en lo de la ingenieria de software, aun sabiendo como usar uml y como se hacen los diagramas, no sabrea las nociones basicas o métodos de desarrollo de un programa usando estos metodos. Estuve googleando un poco, y algo empece a encontrar, pero que crees que deberia buscar, que cosas de lo que se enseña en una ingenieria de software? (estoy bastante lejos de llegar a hacer carrera xD, tengo 17 y estoy en un ciclo formativo de ESI). ¿Algunos libros buenos acerca del tema? ¿Que me aconsejais?


Un Saludo!


Vicente

El Code Complete es un gran libro ;) (pero puede asustar de lo grande que es).

Un saludo!

Vicente

16BITBoy

gracias por las respuestas, intentare conseguir ese libro, busque googleando sobre el y se ve que es un libro solo disponible en ingles, pero vamos ya veo que me tendre que ir acostumbrando a leer ingles, aun no acostumbrado me hace doler la cabeza despues de rato jajajaja.

Un Saludo!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.