Ingeniería en Desarrollo de Software

Continuando

Tiene ya algunos meses desde que entré a la ESAD. Como ya había dicho se trata de un tronco común con las materias de Contexto Socioeconómico, Estadística Básica, Desarrollo Humano y Fundamentos de Investigación.

Mis impresiones por materia:

Contexto Socioeconómico: Muy básica y para mí regalada, soy economista. Es más bien como un compendio de lo que fue pasando en la historia económica de México. A mi parecer está un poco desarticulado porque se quieren ver modelos económicos, teoría e historia económica. Al lego le ha de parecer que habla en chino aunque está bastante light la evaluación.

Estadística Básica. Lo mismo en torno a la mezcla de temas. Hace falta más cohesión, más relación, más lógica. Brinca demasiado de un tema a otro y las aplicaciones que se enseñan son basiquísimas. Para los alumnos de ingeniería debería haber algo más avanzado.

Desarrollo Humano. Buena la materia en general pero se centra demasiado en aspectos psicológicos cuando el Desarrollo Humano es mucho más integral. No sé cómo eligieron los temas, yo hubiera puesto otros. Las lecturas eso sí, son malas.

Fundamentos de Investigación. Hasta ahora la que más he visto coherente y qué bueno, lástima que hace énfasis en la investgicación científica y pues ahí sómos más bien ingenieros y ya no es lo mismo, pero bueno, eso lo comprendo yo y unos pocos (los que me lo contaron).

Todo esto tiene poca relación en realidad con la ingeniería de software pero la escuela lo vio como tronco común y pues habrá que adaptarse. Afortunadamente tengo experiencia en todas las materias salvo en estadística que sería lo que más débil siento pero bueno, estadística en sí es tediosa pero no tan difícil además de que me gusta la materia.

Voy a empezar a subir mis tareas realizadas para la ESAD para que no se pierdan y les sirvan a futuros alumnos.

Nos vemos.

 

abril 19, 2012 Posted by | ESAD | , , , , | Deja un comentario

Inicio en la Ingeniería

Pues bien, oficialmente ya estoy en la ingeniería. Sólo he accedido a los temarios pues el sistema se satura y yo me saturo con el trabajo así que no he hecho gran cosa que leer de qué van a ir las materias. Sin embargo es algo bueno el que ya me haya dado un panorama de lo que habrá de venir. Son materias muy fáciles y además una es de contenido económico (soy economista) y otra de corte metodológico (estuve en la maestría de metodología de la ciencia) y las otras son estadística y desarrollo humano que también están regaladas aunque eso sí hay que hacer muchas actividades y de eso nadie me va a salvar, nadie, hay que trabajar.
Ya estoy en la ingeniería y me parece una alucinación y de hecho ya hasta he soñado juegos y aplicaciones, seguro que es de buen augurio.
Trabajo en unas horas, no he dormido bien por meses pero mi consumo de omega 3 y mi dieta con casi cero azúcares me dan potencia de sobra. Esto es un consejo, si quieres rendir más suspende el azúcar, seguro que funciona y tu cuerpo lo agradecerá pues el azúcar es veneno.
Tengo tarea en derecho pero relax, nada del otro mundo. Pondré mi lista de pendientes:
– continuar lectura del libro de algoritmos.
– continuar lectura del libro de Gracián.
– continuar lectura de libro nuevo.
– leer lo de derechos fundamentales y lo de acceso a la información.
– tarea de informática jurídica.
– tareas de la ingeniería.
– continuar lectura de revista sobre linux.
– continuar lectura de html5.

Son las que me vienen a la memoria.

Me retiro hay que dormir siquiera cuatro horas. Bye.

febrero 29, 2012 Posted by | ESAD, HTML5, Lógica de Programación, Vida diaria | , , , , , | Deja un comentario

Algoritmos 1

Sigo leyendo el libro Programación estructurada y orientada a objetos. Un enfoque algorítmico, de Leobardo López Román, me sigue pareciendo bueno o muy bueno, salvo algunos detalles de redacción y algunas ambigüedades.

A continuación les mostraré una técnica de estudio que puede servir para estudiar efectivamente libros, no sólo de programación sino en general. Continuamente se nos pide como estudiantes que leamos tal o cual libro y que además típico que sobre esa lectura tendremos que hacer examen. Bien, yo he leído muchos muchos muchos libros, de muchísimos temas. Es fácil leer cuando tienes tiempo o son temas más bien divertidos o no muy demandantes mentalmente, pero, hay otro tipo de libros, de muchos conceptos por aprender, o complicados por enunciar leyes o datos históricos y que a menos que el tema que estemos leyendo se nos haga lo más divertido del mundo pues nos acabará por cansar, no nos aprenderemos nada o muy poco y el examen que hagamos no será muy fácil de resolver por nosotros. ¿Qué hacer? Mmm supongamos que estamos en el supuesto del examen, lo primero que hago es hojear el índice (sí ya sé que parece técnica barata de libro de lectura rápida) y pues no lo leo tan al detalle pero sí me da una pequeña idea de lo que me voy a encontrar. Generalmente leo el prólogo y la introducción pues me gusta lo que piensa el autor o alguien cercano al libro acerca de este. No olvidemos que una obra literaria tiene detrás de sí el trabajo de personas, del autor, del editor, del revisor, etcétera; es una obra humana y en sí misma es interesante. Pero volvamos al examen, el siguiente pasó sería leer la primera parte de cada capítulo, en ella generalmente se exponen los puntos básicos que tocará cada capítulo. Generalmente los profesores son flojos y tampoco van a preguntar cosas muy complicadas y además si tienen un poco sentido común también preguntarán los conceptos más importantes y eso viene en la primera parte de cada capítulo. Este paso es importante porque en el caso de que vayamos a hablar en público del libro ya nos podremos defender bien, hablaremos de lo más importante del libro, además este paso tiene encerrado otro propósito muy importante, nos da un panorama acerca de hacia donde va el libro, qué pretende demostrar o mostrar. Insisto en este paso  porque es parecido a cuando vamos emprender un viaje largo; sin saber hacia donde se va hasta el viaje más corto puede resultar tedioso sobre todo cuando nos implica esfuerzo, y leer un libro es como  una caminata que puede ser divertida si sabemos qué cosas interesantes podemos ir observando en el camino, pero si no lo sabemos será sin duda más difícil. Todos nosotros (o casi todos) hemos extraviado la ruta a la hora de querer llegar a un destino y aunque sólo hayamos caminado un poco para encontrar el lugar que buscábamos, el hecho de sentirse extraviado hace que todo parezca el triple de largo, lo mismo pasa con los libros, es mejor tener un mapa de todo él antes de querer leerlo a fondo, eso nos lo dará leer la primera parte de los capítulos. Por último yo leería los primeros párrafos de cada sección, confíen en mí, los profes buscan sus preguntas ahí y lo que es más, lo más importante debe entrar antes a su mente y está en donde les digo, si ustedes hacen hasta aquí lo que les recomiendo irán el triple de rápido sobre el libro y no les parecerá tan tedioso pues ya saben el destino al qué llegar y puede ser que el libro ya no parezca tan aburrido. Ya si quieren leer todo el resto del libro pues ya será cosa se niños.

Bueno, eso hice con el libro del que  hablo al principio, en todas las primeras partes da los conceptos más importantes y ya tengo un mapa mental de qué es lo que voy a aprender y el lugar al que voy a llegar. No es fácil, para nada, pero me permite poder avanzar con mayor rapidez. Algo que también repite una y otra vez en cada primera parte de los capítulos es que si el estudiante no hace algoritmos no aprende, lo cual tiene su lógica. Así las cosas avancé hasta el capítulo 9 que más bien trata de conceptos básico y algoritmos básicos con pseudocódigo y ya terminé el primer capítulo totalmente (bueno, faltan los ejercicios que obviamente voy a realizar) y podré seguir adelante.

A realizar los algoritmos se ha dicho. Pronto más noticias.

febrero 17, 2012 Posted by | Algoritmos, Lógica de Programación, Reflexiones, Vida diaria | , , , , , , , | 2 comentarios

POO parte 1

En el programa de la ESAD de Ingeniería en Desarrollo de Software se le da énfasis a la programación orientada a objetos (POO) y no a la programación estructurada. El primer lenguaje de programación que se enseña es el C++. Pues bien, los dos libros que comenté anteriormente (y seguiré comentando) están orientados a la programación estructurada, pero adquirí uno que en esencia también trata sobre la lógica del desarrollo de software pero enfocada a la POO. Me ha gustado el libro, tiene un enfoque distinto a los otros dos y al menos a mi parecer tiene mucho mejor organización y su redacción está muy acabada. El libro a la vez que enseña la POO a nivel prelenguaje de programación, hace un simulacro acerca de la vida como ingenieros en software, es decir, en él están las áreas en las que habitualmente un ingeniero se desenvolverá desde su incorporación a un equipo hasta su ascenso a líder de proyecto. Al menos por lo que toca a la introducción (y coprobaré si es verdad) en el libro se tocarán problemas reales y completos del exigente mundo del desarrollo de productos de software; concretamente se habla de un proyecto de un videojuego. Les paso los datos del libro:

INGENIERÍA DE SOFTWARE. Una perspectiva orientada a objetos. La editorial es ALFAOMEGA y el escritor es Eric J. Braude quién imparte cátedra en la Boston University.

Vamos a poner unas citas como lo hemos hecho con otros libros.

  • «Este libro no es sólo acerca de ingeniería de software, también se refiere a cómo hacer ingeniería de software».

El autor dice que esto novedoso porque no se había hecho algo así en el pasado pues no había un enfoque técnico ampliamente aceptado. Esta podría ser la razón del por qué los libros que aparentemente tratan de lo mismo son a la vez tan distintos. Algo así no ocurre por ejemplo en Derecho o en Economía porque sus campos de conocimiento están ya muy desarrollados y tienen corrientes bien definidas. Sin embargo para la Ingeniería de Software parece que este proceso no está todavía acabado, sobre todo en lo concerniente a la POO.

  • «Durante la década de 1990, la comunidad de análisis y diseño orientado a objetos dio forma a un enfoque para el diseño de aplicaciones junto con una notación correspondiente: el lenguaje de modelo unificado.»

Quiere decir esto que en campo es relativamente joven pero el autor se siente en la confianza de plantear un modelo de ingeniería de software, una columna vertebral de ella.

  • «Cualquier libro que muestre cómo hacer ingeniería de software debe incluir un caso de estudio. Por otro lado como la ingeniería de software maneja un alto grado de complejidad, un libro de texto para esta disciplina necesita un caso de estudio sustancial y no uno sencillo. Por último, el caso de estudio debe tener el interés suficiente para los estudiantes de manera que puedan visualizar su construcción, sólo por diversión. Por estas razones, todo el libro muestra cómo se aplican los principios de ingeniería de software a la construcción de un videojuego de personajes.»
  • «Un equipo de ingenieros de software y no un sólo individuo construye el producto de software típico»

Lo que ya mencionaba en otra entrada, para casi todo se necesita un equipo. Las tareas son tan altamente especializadas y complejas en muchos campos del saber que se necesitan desde un par de hombres hasta cientos o tal vez miles de hombres para llevar a cabo un proyecto.

El libro también tiene sus pasos típicos para el desarrollo de software lo mismo que los otros dos, como es obvio y viene esbozados en la introducción:

1. Análisis de requerimientos (qué debe producirse).

2. Diseño de productos y cómo se expresan los diseños.

3. Programación en el contexto de la ingeniería de software.

4. Proceso de pruebas.

5. Actividades requeridas una vez que se libera el producto.

Aunque esbozadas son claras las etapas y parecidas como es lógico a los otros dos libros. Ya más adelante comentaré las particularidades de este.

En la misma introducción dice algo muy importante. La secuencia lógica de producir aplicaciones en la práctica es análisis de requerimientos/diseño/programación/pruebas. Sin embargo es típico que en la práctica esta secuencia lógica se repita casi siempre, al menos una vez.

El autor plantea formas de cómo el libro debe ser estudiado y me gustó particularmente la que el autor denomina forma de escalera. Esta forma hace alusión a la típica trayectoria de la carrera de un ingeniero de software (lo que decía al principio). Esta trayectoria sería la siguiente: programador-arquitecto-líder de proyecto; el autor nos dice qué capítulos debemos seguir para seguir la trayectoria.

Seguiremos en otra entrada.

Bye

enero 31, 2012 Posted by | Lógica de Programación | , , , , , , , , , , , , | Deja un comentario