Está en la página 1de 10

TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico de Cd. Victoria

Fundamentos De
Ingeniería De Software
Reporte de Lectura

Profesora: Doria Gallegos Dora Emma

Limones Molina Lizbeth Damaris


No. Control: 16380577

Cd. Victoria, Tam., a 12 de noviembre de 2018.


1.Introducción

Actualmente vivimos en la época de la tecnología, ya que con los dispositivos nos facilita el
trabajo un setenta y cinco porcientos. Podemos encargar cosas por medio de un clic o
igualmente investigar por medio del navegador introduciendo solo una palabra, la maquina lo
hace. Hablando económicamente podemos estar trabajando y produciendo dinero a kilómetros
de distancia y comercializar en este caso un software. Abriendo así grandes oportunidades de
negocio, teniendo como un índice alto a los desarrolladores de aplicaciones es más alto que el
de un agricultor, decimos que siendo un desarrollador de software tenemos muchas
oportunidades económicas, y la manera en la que podemos llegar al éxito y triunfar
económicamente es con calidad e innovación en los proyectos y desarrollos que hagamos.
Siendo ya el desarrollo de software una profesión con alta demanda en la actualidad, depende
de nosotros hacer el cambio en el futuro y sobresalir con la calidad, y no solo eso sino con la
dedicación de los proyectos, el seguimiento de tales, para tener un buen desarrollo.

2.Desarrollo, pruebas, refactoring (todo va en el mismo paquete)

Lo que en este capítulo dice, en efecto, concuerdo con el autor, caemos en el error de dejar las
cosas pasar o crear un conjunto de código que no necesitamos o que simplemente se nos
ocurrió y viendo la funcionalidad pues no necesitamos tanto, siempre es bueno re factorizar los
códigos, tengo como ejemplo un proyecto que hacíamos en el trabajo, tenía la opción de
créditos e hice mucho código y le di vueltas y vueltas por un par de semanas, para al final darme
cuenta que lo que necesitaba era tan sencillo, un código de 3 líneas, entonces a lo que voy, para
crear un buen desarrollo tenemos que tener en cuenta las técnicas y los métodos más factibles
para re factorizar y quitar “toda la mala hierba” o “la hierba de más” y tener un código limpio y
entendible. Opino que para eso están los principios de diseño, para guiarnos de ahí y no
cometer tanto error.

3.Que es tener éxito en un proyecto de software

Tener éxito es como antes lo mencione en el capítulo uno (introducción) es además de entregar
los proyectos a tiempo, es entregar los proyectos con calidad, si se necesita mucha creatividad
para diseñar un desarrollo de software y para no caer en el error de los tiempos o estar
presionados al último minuto o las últimas semanas de la entrega, en efecto se necesita un plan
de desarrollo, los tiempos y cada vez que un módulo se haya concluido, revisarlo en el tiempo y
checar si este funciona como tal, nuevamente tengo un ejemplo, en la oficina donde trabajo nos
dieron un proyecto, y paso exactamente lo que el autor describió, ellos que iniciaron con el
proyecto, por equis o ye se fueron y el trabajo a medias tintas nos lo pasaron, sin un análisis del
proyecto, sin diseños de interfaz. Simplemente nos lo dieron a la suerte y que lo
desarrolláramos como pudiéramos, dadas estos casos, tuvimos que volver a ir con el cliente y
rediseñar todo, ahora si como equipo. Realmente el estar en un ambiente laboral si tiene mucho
que ver, porque además de estar relajado y pensando en el desarrollo, puedes inclusive
preguntar o escuchar opiniones de los que estar trabajando junto contigo en el desarrollo,
porque como está distribuido, bien pueden relacionarse los módulos y con dicha opinión
mejorar el software.

4.Todo es cuestión de principios

Es muy común que al momento de desarrollar el software caigamos en el desastre de dicho


código, ya que a veces ni siquiera ponemos las variables referentes a que lo usaremos, y como
lo dice el autor dejamos el código de tal forma que nadie más lo entiende solo quien lo escribió,
y lamento decir que soy una de ellos, ya que en mi último proyecto no seguí ningún principio ni
orden ni método para desarrollar los módulos, y también menciona que al momento de
desarrollar algo y quererlo retomar meses después de haber dejado ese pedazo de código no
podremos acordarnos siquiera su funcionalidad, me ha pasado, y creo que sería muy bueno
empezar a aplicar los principios para un desarrollo ágil, que pueda ser evolucionado y legible
para los futuros desarrolladores que quieran modificar algo. Es muy importante llevar esto
acabo ya que además de eficiente las cosas para los demás, también nos beneficia a nosotros
los desarrolladores, lo mejor es encontrar una solución sencilla y abordable en lugar de algo
complejo, como lo menciona el autor.

5.Una vuelta de tuerca a la ley del cambio

Aquí es cuando aplicamos lo antes mencionado en el capítulo anterior, ley de cambio, las
aplicaciones tienen que irse actualizando por librerías y demás que vallan desarrollándose,
entonces para actualizar nosotros nuestra aplicación, necesitamos tener el orden de código y
los principios que harán que la estructura del código sea entendible, manejable y que podremos
acordarnos. Por eso es importante los principios de desarrollo, al igual que es importante
actualizar las aplicaciones con librerías y datos que estén ya abaladas en su funcionalidad.
Menciona el autor varios puntos que hay que tomar en cuenta para seleccionar una librería y me
resultan muy interesantes y útiles. Concuerdo que cada aplicación debe irse actualizando
porque cada vez tendrá algo mejorado o solucionado hablando de bugs, podemos tomar como
ejemplo un videojuego, digamos ahorita de moda el PUBG (PLAYERUNKNOWN'S
BATTLEGROUNDS), cuando inicio tenia buenos gráficos pero ahora tiene gráficos excelentes de
muy alta calidad y ahora es compatible con más dispositivos, y así ira siendo, se va a actualizar,
tendrá cosas nuevas, llamara la atención, y aumentaran los usuarios que querrán descargarla y
así esa aplicación no quedara obsoleta.

6.Atreverse a eliminar lo implementado

Sin duda cuando comienzas con un proyecto, primeramente te dan el problema, uno como
desarrollador se empieza a imaginar que es lo que solucionaría ese problema que el cliente está
pidiendo, dado el caso que tomamos sus palabras y las tratamos de introducir a código, al
momento de dar la revisión el cliente simplemente dice “no esto no es así, así no era lo que
quería”, y explica lo que en verdad quiere y después de ya desarrollarlo tal como lo había dicho
después dice “y si le pones esto..”, realmente es muy frustrante, traigo aquí el ejemplo del
proyecto de mi trabajo, dadas las circunstancias teníamos ya el proyecto terminado, listo para
entregar, y al momento de mostrarlo, empezó a decir que quería otra estructura y si
agregábamos algo sobre los códigos de barra. Nuestra primera impresión fue “¿porque no lo
menciono antes?”, y si creo que el error ahí fue que no hubo las juntas que debe hacer el
desarrollador junto con el cliente, para que conforme se haga el software el cliente valla
diciendo si así es lo que él pensaba y necesitaba. En fin, el tener que borrar toda una parte de
código siendo que posiblemente en ese código se llevó muchas horas de trabajo es muy
frustrante, pero se sabe que si trabajas para un cliente hay que darle los gustos, también que es
bueno modificar o cambiar código, siempre y cuando favorezca el desarrollo.
7.Cuando incorporar más gente es desastre asegurado

Estoy en acuerdo, ya que si estas en medio de un proyecto y de repente quieren ingresar más
desarrolladores, y es que como ellos no llevan ya el trabajo que tu llevas, tienden a preguntar, y
ósea no está mal que pregunten para hacer el desarrollo, simplemente que como esta uno
presionado por terminar a tiempo y además trata de concentrarse para tener la solución, viene
alguien te desconcentra, no tiene ni idea de lo que se está haciendo, realmente pierdes el
tiempo explicando tal cosa, y no haces nada más que molestarte o explicar de mala gana,
realmente estoy en acuerdo que si se contrataran más desarrolladores será para el próximo
proyecto ya que al iniciar tendrían ellos que entender la estructura desde cero y entender la
lógica más que nada y eso va de la mano a que un desarrollador que esté trabajando en dicho
proyecto este apoyándolos para acoplarse, supongo yo que no ayuda, solo detiene e interviene
en el desarrollo.

8.Cuando el gestor de un proyecto es su mayor enemigo

Concuerdo con el autor,¿ como alguien que no tiene ni idea de el desarrollo de software, o
siquiera del trabajo que se está haciendo va a ser quien dirija al grupo para tal proyecto?,
definitivamente quien dirija el equipo de desarrolladores deberá tener en mente los principios y
las metas para tal desarrollo, porque entonces ¿quién nos guiara?, es como las ovejas, el pastor
sabe pastorear por lo tanto guía a las ovejas, ahora bien un manager si no sabe ni como se debe
hacer un proyecto como va a ocupar ese puesto, y también con el ambiente laboral, si llega y
empieza con sus malas vibras, literalmente llega a envenenar el trabajo que están haciendo los
programadores en ese momento. Un manager debe tener bien en claro los aspectos que se
necesitan para desarrollar un software para que ayude a crecer al equipo y sacar adelante el
desarrollo.

9.El día a día de un buen desarrollador

Tiene razón el autor, muchas veces caemos en el “falta mucho” o en “aún tengo tiempo”, no
tenemos ni idea de lo que, si por equis o ye podremos encontrar alguna traba más adelante y
por lo tanto retrasarnos en el desarrollo, y todo el tiempo perdido ¿Qué? Al inicio muy confiados
diciendo que tenemos tiempo, pero cuando vemos el tiempo cerca ya estamos que queremos
terminar y salir del problema, no pensamos bien y no realizamos todas las pruebas necesarias
para el que desarrollo no truene. Realmente muchos caemos en esos errores, debemos llevar
las cosas con tiempo y forma por eso es muy recomendable hacer un calendario e ir checando
avance semana por semana o digamos por quincena, me resulta muy conveniente para ver el
progreso y así mismo ir cumpliendo con las metas puestas entre cada revisión, al menos para mí
me resulta algo muy útil.

10. El éxito siempre viene de la unión entre Talento, Tecnología y Metodología

En efecto hay personas que tienen el talento, pero no saben pulirlo siguiendo la metodología,
se me hace muy necesario llevar un orden al hacer un desarrollo ya que además de tener un
trabajo limpio, podremos decir que el trabajo está bien organizado, estructurado y que tiene
buena calidad, siempre y cuando se siga la metodología. Es fundamental tener un equilibrio de
estas tres características talento, tecnología y metodología para que el desarrollo tenga éxito,
también además del desarrollador, el encargado del grupo de desarrolladores debe tener en
cuenta estas características, ya que, si en dado caso alguno se pierde de ellas, el será encargado
de volver a “encarrilar” al desarrollador e indicar que factor está fallando.

11. El mal entendido rol de arquitecto de software

En definitiva, para crear un desarrollo, a veces basta con ir reuniendo los requerimientos que se
necesitan, y un arquitecto pues no sería útil, más, sin embargo, si queremos algo sumamente
detallado y muy bien estructurado, podemos acudir a un “arquitecto de software” claramente
con muchísima experiencia programando y que tenga la capacidad de diseñar y analizar todo.
Dudo que yo llegue a conocer a alguien que pueda llamar arquitecto de software, pero pues a
ver que depara el futuro ya que como dice el autor, regularmente se rinden en esta profesión
dadas las circunstancias y todo lo que lleva ser u n desarrollador de software.

11. La rentabilidad metodológica

Es importante seguir una metodología para poder tener los desarrollos a tiempo y forma como
debe de ser, y que se empiecen desarrollando con cimientos firmes, como aquí ponía el ejemplo
del edificio, tener un orden al desarrollarlo ósea siguiendo la metodología para que una vez
terminado el desarrollo podamos entregarlo , mantenerlo y poder evolucionarlo como antes lo
habíamos comentado, siempre caemos en el error de no seguir un orden o una disciplina para
una metodología, siendo que esto es bueno para nosotros mismos, es más nuestra terquedad a
desobedecer que al hacer algo bueno para nosotros y nuestro equipo de programadores, si
seguimos una metodología, nosotros y la empresa tendremos éxito gracias a los buenos
trabajos y las buenas recomendaciones de los clientes.

12. Todo está en la UI

Es cierto de que cualquier persona dice que desarrollar de software es muy sencillo, ya que no
ven lo que está dentro de todo el programa, no se imaginan todo el trabajo la lógica el pensar
que se llevó acabo para desarrollar dicho software y se les hace fácil decir, “pues solo pones un
botón y hace tal cosa”, si es algo muy triste, me ha tocado escuchar esos comentarios diciendo,
“ah hacer aplicaciones es bien fácil” bueno si fuera así de fácil yo creo que cualquiera los haría y
es cosa que no pasa.

13. Diletantismo tecnológico

Es cierto que las cosas van cambiando y que como dice el autor, ahorita estamos a gusto con un
IDE y talvez mañana ya estemos utilizando otro por mas nuevo o estilizado, si en efecto,
hablando de java pues se me viene en mente Netbeans que es el IDE con el que empecé a
programar , mas sin embargo para los desarrollos que eh hecho hasta entonces piden otro
lenguaje y por lo tanto necesito de otro IDE, lo más extraño es que aunque el lenguaje para mi
sea nuevo, esta profesión requiere de constante aprendizaje de los lenguajes, así que, no
importa si te sabes muchos lenguajes de programación, lo importante es ver que tan bien
desarrollaste eso en tal lenguaje. Si dices saberlo, pero que lo manejes bien es otra cosa.

14. No se trata de trabajar más horas, sino de trabajar mejor

Sin lugar a dudas es verdad que para realizar un proyecto a veces estamos solo “calentando la
silla”, y si está bien siempre y cuando sea por poco tiempo y tengamos todo en tiempo y forma,
opino que a veces necesitamos pensar eh imaginar cómo es que será el funcionamiento del
software y por eso es que estamos ahí pensando y tomando nuestro tiempo, a veces estamos
tan fatigados trabajando y pensando en dicho programa, diseñándolo etc. que podríamos
imaginar si estamos trabaje y trabaje horas extras va a salir más rápido y mejor, pero no , como
antes se había mencionado, el desarrollar software requiere de un ambiente tranquilo y que
estemos lo más relajados posible, entonces , si estas atorado en una parte del desarrollo, lo
mejor y más fiable es que lo dejes ahí, te relajes , y pienses en otras cosas, dejando “descansar
el cerebro”, y realmente eso es muy favorable, ya que las ideas y la creatividad salen
fresquecitas al día siguiente o a las cuantas horas después, dando como resultado un trabajo de
calidad.

15. Sobre frameworks, librerías y como reinventamos la rueda

Esa técnica de dividir los problemas de un desarrollo me resulta muy útil, ya que también lo eh
aplicado y es cierto que si algo es desconocido es mejor investigar e informarse sobre el tema,
las herramientas que se necesitan y como hacer la estructura más fiable, hace tiempo
desarrollamos un programa y dividimos los módulos, ciertamente con un orden de programado
y al ser nueva en la empresa, desconocía varios métodos y maneras de desarrollar el programa,
entonces pues antes de empezar, investigue la manera más fiable de hacer varias cosas y
ciertamente me fui por lo más difícil de hacer lo diseñe y lo re factorice, teniendo como
resultado un buen modulo desarrollado.

16. Los buenos desarrolladores escriben código depurarle

Los desarrolladores de software en cierto aspecto deben de hacer códigos depurarles que
podamos identificar los problemas y corregirlos, posiblemente hagamos un código y después
de hacerlo de ver el proceso si vemos que podemos re factorizar y mejorar, pues hay que
hacerlo, todo con el fin de tener un buen código entendible y que podamos depurar cuando sea
necesario, cuando hagamos esto, podremos decir que somos unos programadores productivos
ya que además de estar haciendo el desarrollo de manera correcta, mejoramos el tiempo para
futuros chequeos de dicho programa y facilitando así el tiempo en lugar de estar batallando en
entender dicho código. Eso es lo que yo entiendo

17. Esclavo de tu propia solución o como querer ser imprescindible

Cuando nosotros estamos en confort con el conocimiento que tenemos, caemos en un


grandísimo error, porque como antes lo mencione , hay que actualizarnos nosotros en
conocimiento, si dominamos un lenguaje por ejemplo quisiéramos que solo usemos eso , pero
igual así ese lenguaje de cierta manera puede reinventarse y actualizarse, nosotros como
programadores tenemos que actualizarnos si sale un nuevo lenguaje una nueva librería etc., ya
que cada actualización siempre es para mejorar, aunque también hay que ver si esa
actualización ya es fiable, y funciona como se diseñó.

18. Aprendemos de otros (o como no ser un desarrollador perezoso)

Sin duda dicen que la practica hace al maestro, entonces bien si hacemos muchos desarrollos
poco a poco estaremos agarrando experiencia y se nos va haciendo más fácil hacer los
proyectos, entonces bien si es bueno buscar ejemplos de programas de otros desarrolladores,
entonces podemos agarrar técnicas de varios e irnos mejorando e irnos construyendo como
buenos programadores, porque supongo yo que ya con mayores referencias mayor nivel de
conocimiento y tácticas, nuestros códigos serán más fáciles de realizar.

19. Potenciando la productividad con la gestión de la configuración e integración continua

Para que un desarrollador sea productivo, basta con desarrollar el trabajo en menos tiempo y
con mayor calidad y así no estar trabajando horas extras estando presionados e irritados, como
antes mencionaba es bueno dejar descansar el cerebro para que así las ideas surjan y hagamos
un desarrollo bueno y más claro, sin duda el programar tiene mucha ciencia y mucha dedicación
pero la dedicación no debe ser errónea, todo a su tiempo, es por eso que debemos tener las
cosas en tiempo y forma y como antes lo mencionaba tener un calendario donde se cheque
semanal o quincenalmente los progresos, para de cierta forma no retrasarse con la entrega y
tener en cuenta el progreso que llevamos, en que puedo dedicarle mas días etc., siento que
para mí sería así una forma más efectiva y practica al desarrollar un proyecto o no sé si solo sea
cosa mía el querer saber el progreso, ya que cuando tengo mucho trabajo lo que hago es una
lista de mis quehaceres y conforme valla acabando voy palomeando y así me voy dando cuenta
cuanto porciento de trabajo eh terminado y como puedo ir con mis tiempos, dedicándole a cada
uno su debido tiempo y momento para analizar.
20. La era del emprendimiento

Lo que el autor aquí menciona me resulta familiar, ya que dicen que estamos en la era del
emprendimiento, últimamente vemos post que dicen “Se busca gente emprendedora”, y al
entrar en ese tipo de negocios te das cuenta que por dos aplicaciones muy fáciles puedes ganar
dinero, el mentado trading que es una profesión que consiste en el estudio de los mercados
mediante el análisis técnico y el análisis fundamental para invertir en diferentes instrumentos
financieros con el objetivo de obtener un beneficio. Es fácil si, pero como todo se necesita del
esfuerzo en analizar la bolsa de valores, pero como esto lo hace tan sencillo, en lugar de ir a
ciertas partes a cambiar el dinero pues lo haces por medio de una aplicación sin tener que
gastar en ir y recoger tu recompensa, ósea, por ejemplo, compramos unos dólares en 19 pesos y
al paso del tiempo sube el dólar entonces lo cambias y ya tiene 22 pesos por ejemplo en dado
caso que suba bien el dólar.