SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
MINISTERIO DE EDUCACION DE LA
PROVINCIA DE CORRIENTES. DIRECCION
DE NIVEL SUPERIOR.
TECNICATURA SUPERIOR EN DESARROLLO
DE SOFTWARE.
UNIDAD CURRICULAR: INGENIERIA DE
SOFTWARE
TRABAJO
PRACTICO
N°1
Profesor: Lic. BARCHT ALFREDO
Alumna: Caren Yanel Belmont
INGENIERIA DE SOFTWARE 1
UNIDAD CURRICULAR: INGENIERIA DE SOFTWARE
Profesor: Lic. BARCHT ALFREDO
Actividad N°: 1
1) ¿Qué es un software?
2) ¿Por qué es importante el software?
3) ¿Qué es la ingeniería de software?
4) ¿Con que se desarrolla o modifica un software?, ¿se desgasta?
5) ¿Qué es un software determinista?
6) ¿Qué es un producto final?
7) ¿Qué problemas ocasionan el software heredado?
8) ¿Cuál es el fundamento más importante en que se apoya la ingeniería de software?
9) ¿Cuáles son los pasos de la esencia de la práctica en la ingeniería de software?
10) ¿Hay mitos sobre el software? Describir los mitos juntos con sus realidades.
Fecha límite de entrega: 25/05/21 - 23, 59 hs.
INGENIERIA DE SOFTWARE 2
Respuestas:
1)-Un Software es el soporte lógico e inmaterial, que permite que la computadora pueda
desempeñar tareas inteligentes, dirigiendo a los componentes físicos (hardware) con
instrucciones y datos a través de diferentes tipos de programas. Dichos programas son
desarrollados y mantenidos durante largo tiempo por los programadores profesionales.
Estos software pueden ejecutarse en PC de cualquier tamaño y arquitectura. El contenido
de los mismos, se presenta a medida que se ejecutan los programas de cómputo e
información descriptiva, tanto en una copia dura, como en formatos virtuales que engloban
virtualmente a cualesquiera medios electrónicos.
2)-El Software es tan importante porque afecta a casi todos los aspectos de nuestras vidas,
actualmente es considerado el producto más valioso dentro del campo tecnológico mundial
debido a su crecimiento y desarrollo se ha hecho tan indispensable en los diferentes
sectores de aplicación organizacional (sistemas de todo tipo) permitiendo, gracias a la
ingeniería de software, rapidez en la ejecución de los procesos, confiabilidad al momento
de realizar una tarea específica, seguridad en el manejo de la información, automatización
de los procesos, etc.
3)-La Ingeniería de Software es una disciplina o área dentro de la informática que establece
el proceso, el conjunto de métodos (practicas) y un arreglo de herramientas, para guiar a
los profesionales en la elaboración software de cómputo de alta calidad.
4)-El software se desarrolla o modifica con intelecto, que es la capacidad que tiene el ser
humano de comprender, analizar y entender el mundo que le rodea; no se manufactura en
el sentido clásico, es decir, no se fabrica con las manos o con ayuda de máquinas como el
hardware.
El software no se desgasta, pero si se deteriora. Si bien, a diferencia del hardware, que
presenta una tasa de fallas relativamente elevada en una etapa temprana de su vida (por
defectos en el diseño o manufactura), que luego de corregirlos, la tasa de fallas se abate a
un nivel estable, pero al pasar el tiempo se presentan los problemas ambientales que hacen
que los componentes físicos, se desgasten. Los programas no son susceptible a los
problemas ambientales (que hacen que el hardware se desgaste) al inicio de sus vidas
normalmente no presentan fallas, pero si aparecieran defectos ocultos, ocasionarán tasas
elevadas de fallas, pero que al corregirlos, dicha tasa baja. A medida que pasa el tiempo
van a ser necesarios los cambios en los software y cuando estos se realicen, es probable
que se introduzcan errores que ocasionen que la tasa de fallas tenga aumentos súbitos, y
INGENIERIA DE SOFTWARE 3
antes de que la misma vuelva a estabilizarse, surge la solicitud de otro cambio que hace
que la tasa aumente nuevamente. Poco a poco, el nivel mínimo de la tasa de fallas
comienza a aumentar: el software se está deteriorando como consecuencia del cambio.
Otra diferencia entre el hardware y software, es que el primero al desgastarse es sustituido
por una refacción. En cambio, no hay refacciones para el software. Cada falla de éste indica
un error en el diseño o en el proceso que tradujo el diseño a código ejecutable por la
máquina. Entonces, las tareas de mantenimiento del software, que incluyen la satisfacción
de peticiones de cambios, involucran una complejidad considerablemente mayor que el
mantenimiento del hardware.
5)-El Software determinista es aquel del cual es posible predecir el orden y momento de
las entradas, el procesamiento y las salidas.
6)- El producto final del trabajo de un ingeniero de software son los programas, documentos
y datos que se producen como consecuencia de las actividades y tareas definidas por el
proceso.
7)-Los problemas que ocasionan los software heredados son que, al ser programas viejos
(fueron desarrollados hace varias décadas) deben ser modificados de manera continua
para que satisfagan los cambios en los requerimientos de los negocios y plataformas de
computación. Lo que a las organizaciones grandes, les resulta muy costoso mantenerlos y
riesgoso hacerlos evolucionar. Otro de los problemas que presentan dichos software es
que algunos suelen ser de mala calidad, es decir, tienen diseños que no son susceptibles
de extenderse, código confuso, documentación mala o inexistente, casos y resultados de
pruebas que nunca se archivaron, una historia de los cambios mal administrada, etc.
8)-El fundamento más importante en que se apoya la ingeniería de software es el
compromiso con la calidad.
La calidad en ingeniería del software es el cumplimiento de los requerimientos
contractuales por parte del producto software desarrollado, así como durante el proceso de
desarrollo. La calidad se obtiene mejorando día a día el proceso de producción,
mantenimiento y gestión del software.
9)- Los pasos de la esencia de la práctica en la ingeniería de software son:
1- Entender el problema (comunicación y análisis): para lograrlo debemos realizarnos
algunas preguntas, como las siguientes.* ¿Quiénes tienen que ver con la solución del
Problema? Es decir ¿Quiénes son los participantes? *¿Cuáles son las incógnitas? ¿Cuáles
INGENIERIA DE SOFTWARE 4
datos, funciones y características se requieren para resolver el problema en forma
apropiada? *¿Puede fraccionarse el problema? ¿Es posible representarlo con problemas
más pequeños que sean más fáciles de entender? *¿Es posible representar gráficamente
el problema? ¿Puede crearse un modelo de análisis?
2-Planear la solución (modelado y diseño del software): antes de escribir el código, se debe
hacer un pequeño diseño de la solución. Teniendo en cuenta las siguientes preguntas.
*¿Ha visto antes problemas similares? ¿Hay patrones reconocibles en una solución
potencial? ¿Hay algún software existente que implemente los datos, funciones y
características que se requieren? * ¿Ha resuelto un problema similar? Si es así, ¿son
reutilizables los elementos de la solución? * ¿Pueden definirse problemas más pequeños?
Si así fuera, ¿hay soluciones evidentes para éstos?*¿Es capaz de representar una solución
en una forma que lleve a su implementación eficaz? ¿Es posible crear un modelo del
diseño?
3-Ejecutar el plan (generación del código): al intentar realizar el plan diseñado, puede haber
desviaciones inesperadas y es posible que se descubra un camino mejor a medida que se
avanza, pero el plan permitirá avanzar sin que se pierda. Considerando siempre las
siguientes incógnitas. *¿Se ajusta la solución al plan? ¿El código fuente puede apegarse
al modelo del diseño? *¿Es probable que cada parte componente de la solución sea
correcta? ¿El diseño y código se han revisado o, mejor aún, se han hecho pruebas respecto
de la corrección del algoritmo?
4-Examinar la exactitud del resultado (se debe probar el producto, para intentar asegurar
la calidad): si bien no se puede estar seguro de que la solución sea perfecta, pero sí de
que se ha diseñado un número suficiente de pruebas para descubrir tantos errores como
sea posible. Teniendo en cuenta las siguientes preguntas. * ¿Puede probarse cada parte
componente de la solución? ¿Se ha implementado una estrategia razonable para hacer
pruebas? *¿La solución produce resultados que se apegan a los datos, funciones y
características que se requieren? ¿El software se ha validado contra todos los
requerimientos de los participantes?
10)- Si, hay mitos sobre el software, y ellos son:
Mitos de la administración. Los gerentes que tienen responsabilidades en el software, con
frecuencia se hallan bajo presión para cumplir el presupuesto, mantener la programación
de actividades sin desvíos y mejorar la calidad.
INGENIERIA DE SOFTWARE 5
*El mito: existe un libro lleno de estándares y procedimientos para elaborar software. La
realidad: es que quizás exista el libro de estándares, pero habría que preguntarse si
actualmente se utiliza o si saben de su existencia los trabajadores del software. Si será que
el mismo refleja la práctica moderna de la ingeniería de software y si fuera así, si es
completo, adaptable y si está dirigido a mejorar la entrega a tiempo y también se centra en
la calidad. En muchos casos, la respuesta a todas estas preguntas es “no”.
*El mito: si se atrasan en el desarrollo del software, se puede agregar más programadores
y ponerlos al corriente (en ocasiones, a esto se le llama “concepto de la horda de
mongoles”). La realidad: es que en el desarrollo del software a medida que se agregan
personas, las que ya se encontraban trabajando deben dedicar tiempo para enseñar a los
recién llegados, lo que disminuye la cantidad de tiempo dedicada al esfuerzo de desarrollo
productivo. Pueden agregarse individuos, pero sólo en forma planeada y bien coordinada.
*El mito: si se decide subcontratar el proyecto de software a un tercero, se puede descansar
y dejar que esa compañía lo elabore. La realidad: es que si una organización no comprende
cómo administrar y controlar proyectos de software internamente, de manera invariable
tendrá dificultades cuando subcontrate proyectos de software.
-Mitos del cliente. El cliente que requiere software de computadora puede ser la persona
en el escritorio de al lado, un grupo técnico en el piso inferior, el departamento de
mercadotecnia y ventas, o una compañía externa que solicita software mediante un
contrato. En muchos casos, el cliente sostiene mitos sobre el software porque los gerentes
y profesionales de éste hacen poco para corregir la mala información. Los mitos generan
falsas expectativas (por parte del cliente) y, en última instancia, la insatisfacción con el
desarrollador.
*El mito: es que para comenzar a escribir programas, es suficiente el enunciado general de
los objetivos, que se puede entrar en detalles más adelante. La realidad: aunque no
siempre es posible tener el enunciado exhaustivo y estable de los requerimientos, un
“planteamiento de objetivos” ambiguo es una receta para el desastre. Los requerimientos
que no son ambiguos (que por lo general se obtienen en forma iterativa) se desarrollan
sólo por medio de una comunicación eficaz y continua entre el cliente y el desarrollador.
INGENIERIA DE SOFTWARE 6
*El mito: los requerimientos del software cambian continuamente, pero el cambio se asimila
con facilidad debido a que el software es flexible. La realidad: es que si bien es verdad que
los requerimientos del software cambian, pero el efecto que los cambios tienen varía según
la época en la que se introducen. Cuando se solicitan al principio cambios en los
requerimientos (antes de que haya comenzado el diseño o la elaboración de código), el
efecto sobre el costo es relativamente pequeño. Sin embargo, conforme pasa el tiempo, el
costo aumenta con rapidez: los recursos ya se han comprometido, se ha establecido la
estructura del diseño y el cambio ocasiona perturbaciones que exigen recursos adicionales
y modificaciones importantes del diseño.
-Mitos del profesional. Los mitos que aún sostienen los trabajadores del software han sido
alimentados por más de 50 años de cultura de programación. Durante los primeros días, la
programación se veía como una forma del arte. Es difícil que mueran los hábitos y actitudes
arraigados.
*El mito: que los desarrolladores creen que una vez que se escribe un programa y se hace
que funcione, su trabajo ha terminado. La realidad: los datos de la industria indican que
entre 60 y 80% de todo el esfuerzo dedicado al software ocurrirá después de entregarlo al
cliente por primera vez.
*El mito: hasta que no se haga “correr” el programa, no hay manera de evaluar su calidad.
La realidad: las revisiones del software son un “filtro de la calidad” que se ha revelado más
eficaz que las pruebas para encontrar ciertas clases de defectos de software.
*El mito: el único producto del trabajo que se entrega en un proyecto exitoso es el programa
que funciona. La realidad: un programa que funciona sólo es una parte de una
configuración de software que incluye muchos elementos. Son varios los productos
terminados (modelos, documentos, planes) que proporcionan la base de la ingeniería
exitosa y, lo más importante, que guían el apoyo para el software.
*El mito: la ingeniería de software hará que generemos documentación voluminosa e
innecesaria, e invariablemente nos retrasará. La realidad: la ingeniería de software no
consiste en producir documentos, si no que se trata de crear un producto de calidad. La
mejor calidad conduce a menos repeticiones, lo que da como resultado tiempos de entrega
más cortos.
INGENIERIA DE SOFTWARE 7
REFERENCIAS BIBLIOGRAFICAS
-Pressman R. (2010),”Ingeniería del Software. Un Enfoque Práctico”. México. Mc Graw Hill.

Más contenido relacionado

Similar a CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf

Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Osver Fernandez V
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieriaAlexander Cruz
 
Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasAndrés Felipe Montoya Ríos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremichellchia11
 
Tarea(1)
Tarea(1)Tarea(1)
Tarea(1)daniel
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Marcos Omar Cruz Ortrega
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software Luis Valeriano
 

Similar a CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf (20)

Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieria
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Resolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De SistemasResolver Problemas Por Medio De La Ingeniería De Sistemas
Resolver Problemas Por Medio De La Ingeniería De Sistemas
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Vicky
VickyVicky
Vicky
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Guia1omar
Guia1omarGuia1omar
Guia1omar
 
Tarea(1)
Tarea(1)Tarea(1)
Tarea(1)
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 

Último

Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocioMagemyl Egana
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptxalzabenjaminci00
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...juanforero141
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfUPSE
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxcorreafrancoci00
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxUPSE
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocioMagemyl Egana
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfCarlosSanchez452245
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)Samuel Solís Fuentes
 

Último (9)

Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocio
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocio
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdf
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 

CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf

  • 1. MINISTERIO DE EDUCACION DE LA PROVINCIA DE CORRIENTES. DIRECCION DE NIVEL SUPERIOR. TECNICATURA SUPERIOR EN DESARROLLO DE SOFTWARE. UNIDAD CURRICULAR: INGENIERIA DE SOFTWARE TRABAJO PRACTICO N°1 Profesor: Lic. BARCHT ALFREDO Alumna: Caren Yanel Belmont
  • 2. INGENIERIA DE SOFTWARE 1 UNIDAD CURRICULAR: INGENIERIA DE SOFTWARE Profesor: Lic. BARCHT ALFREDO Actividad N°: 1 1) ¿Qué es un software? 2) ¿Por qué es importante el software? 3) ¿Qué es la ingeniería de software? 4) ¿Con que se desarrolla o modifica un software?, ¿se desgasta? 5) ¿Qué es un software determinista? 6) ¿Qué es un producto final? 7) ¿Qué problemas ocasionan el software heredado? 8) ¿Cuál es el fundamento más importante en que se apoya la ingeniería de software? 9) ¿Cuáles son los pasos de la esencia de la práctica en la ingeniería de software? 10) ¿Hay mitos sobre el software? Describir los mitos juntos con sus realidades. Fecha límite de entrega: 25/05/21 - 23, 59 hs.
  • 3. INGENIERIA DE SOFTWARE 2 Respuestas: 1)-Un Software es el soporte lógico e inmaterial, que permite que la computadora pueda desempeñar tareas inteligentes, dirigiendo a los componentes físicos (hardware) con instrucciones y datos a través de diferentes tipos de programas. Dichos programas son desarrollados y mantenidos durante largo tiempo por los programadores profesionales. Estos software pueden ejecutarse en PC de cualquier tamaño y arquitectura. El contenido de los mismos, se presenta a medida que se ejecutan los programas de cómputo e información descriptiva, tanto en una copia dura, como en formatos virtuales que engloban virtualmente a cualesquiera medios electrónicos. 2)-El Software es tan importante porque afecta a casi todos los aspectos de nuestras vidas, actualmente es considerado el producto más valioso dentro del campo tecnológico mundial debido a su crecimiento y desarrollo se ha hecho tan indispensable en los diferentes sectores de aplicación organizacional (sistemas de todo tipo) permitiendo, gracias a la ingeniería de software, rapidez en la ejecución de los procesos, confiabilidad al momento de realizar una tarea específica, seguridad en el manejo de la información, automatización de los procesos, etc. 3)-La Ingeniería de Software es una disciplina o área dentro de la informática que establece el proceso, el conjunto de métodos (practicas) y un arreglo de herramientas, para guiar a los profesionales en la elaboración software de cómputo de alta calidad. 4)-El software se desarrolla o modifica con intelecto, que es la capacidad que tiene el ser humano de comprender, analizar y entender el mundo que le rodea; no se manufactura en el sentido clásico, es decir, no se fabrica con las manos o con ayuda de máquinas como el hardware. El software no se desgasta, pero si se deteriora. Si bien, a diferencia del hardware, que presenta una tasa de fallas relativamente elevada en una etapa temprana de su vida (por defectos en el diseño o manufactura), que luego de corregirlos, la tasa de fallas se abate a un nivel estable, pero al pasar el tiempo se presentan los problemas ambientales que hacen que los componentes físicos, se desgasten. Los programas no son susceptible a los problemas ambientales (que hacen que el hardware se desgaste) al inicio de sus vidas normalmente no presentan fallas, pero si aparecieran defectos ocultos, ocasionarán tasas elevadas de fallas, pero que al corregirlos, dicha tasa baja. A medida que pasa el tiempo van a ser necesarios los cambios en los software y cuando estos se realicen, es probable que se introduzcan errores que ocasionen que la tasa de fallas tenga aumentos súbitos, y
  • 4. INGENIERIA DE SOFTWARE 3 antes de que la misma vuelva a estabilizarse, surge la solicitud de otro cambio que hace que la tasa aumente nuevamente. Poco a poco, el nivel mínimo de la tasa de fallas comienza a aumentar: el software se está deteriorando como consecuencia del cambio. Otra diferencia entre el hardware y software, es que el primero al desgastarse es sustituido por una refacción. En cambio, no hay refacciones para el software. Cada falla de éste indica un error en el diseño o en el proceso que tradujo el diseño a código ejecutable por la máquina. Entonces, las tareas de mantenimiento del software, que incluyen la satisfacción de peticiones de cambios, involucran una complejidad considerablemente mayor que el mantenimiento del hardware. 5)-El Software determinista es aquel del cual es posible predecir el orden y momento de las entradas, el procesamiento y las salidas. 6)- El producto final del trabajo de un ingeniero de software son los programas, documentos y datos que se producen como consecuencia de las actividades y tareas definidas por el proceso. 7)-Los problemas que ocasionan los software heredados son que, al ser programas viejos (fueron desarrollados hace varias décadas) deben ser modificados de manera continua para que satisfagan los cambios en los requerimientos de los negocios y plataformas de computación. Lo que a las organizaciones grandes, les resulta muy costoso mantenerlos y riesgoso hacerlos evolucionar. Otro de los problemas que presentan dichos software es que algunos suelen ser de mala calidad, es decir, tienen diseños que no son susceptibles de extenderse, código confuso, documentación mala o inexistente, casos y resultados de pruebas que nunca se archivaron, una historia de los cambios mal administrada, etc. 8)-El fundamento más importante en que se apoya la ingeniería de software es el compromiso con la calidad. La calidad en ingeniería del software es el cumplimiento de los requerimientos contractuales por parte del producto software desarrollado, así como durante el proceso de desarrollo. La calidad se obtiene mejorando día a día el proceso de producción, mantenimiento y gestión del software. 9)- Los pasos de la esencia de la práctica en la ingeniería de software son: 1- Entender el problema (comunicación y análisis): para lograrlo debemos realizarnos algunas preguntas, como las siguientes.* ¿Quiénes tienen que ver con la solución del Problema? Es decir ¿Quiénes son los participantes? *¿Cuáles son las incógnitas? ¿Cuáles
  • 5. INGENIERIA DE SOFTWARE 4 datos, funciones y características se requieren para resolver el problema en forma apropiada? *¿Puede fraccionarse el problema? ¿Es posible representarlo con problemas más pequeños que sean más fáciles de entender? *¿Es posible representar gráficamente el problema? ¿Puede crearse un modelo de análisis? 2-Planear la solución (modelado y diseño del software): antes de escribir el código, se debe hacer un pequeño diseño de la solución. Teniendo en cuenta las siguientes preguntas. *¿Ha visto antes problemas similares? ¿Hay patrones reconocibles en una solución potencial? ¿Hay algún software existente que implemente los datos, funciones y características que se requieren? * ¿Ha resuelto un problema similar? Si es así, ¿son reutilizables los elementos de la solución? * ¿Pueden definirse problemas más pequeños? Si así fuera, ¿hay soluciones evidentes para éstos?*¿Es capaz de representar una solución en una forma que lleve a su implementación eficaz? ¿Es posible crear un modelo del diseño? 3-Ejecutar el plan (generación del código): al intentar realizar el plan diseñado, puede haber desviaciones inesperadas y es posible que se descubra un camino mejor a medida que se avanza, pero el plan permitirá avanzar sin que se pierda. Considerando siempre las siguientes incógnitas. *¿Se ajusta la solución al plan? ¿El código fuente puede apegarse al modelo del diseño? *¿Es probable que cada parte componente de la solución sea correcta? ¿El diseño y código se han revisado o, mejor aún, se han hecho pruebas respecto de la corrección del algoritmo? 4-Examinar la exactitud del resultado (se debe probar el producto, para intentar asegurar la calidad): si bien no se puede estar seguro de que la solución sea perfecta, pero sí de que se ha diseñado un número suficiente de pruebas para descubrir tantos errores como sea posible. Teniendo en cuenta las siguientes preguntas. * ¿Puede probarse cada parte componente de la solución? ¿Se ha implementado una estrategia razonable para hacer pruebas? *¿La solución produce resultados que se apegan a los datos, funciones y características que se requieren? ¿El software se ha validado contra todos los requerimientos de los participantes? 10)- Si, hay mitos sobre el software, y ellos son: Mitos de la administración. Los gerentes que tienen responsabilidades en el software, con frecuencia se hallan bajo presión para cumplir el presupuesto, mantener la programación de actividades sin desvíos y mejorar la calidad.
  • 6. INGENIERIA DE SOFTWARE 5 *El mito: existe un libro lleno de estándares y procedimientos para elaborar software. La realidad: es que quizás exista el libro de estándares, pero habría que preguntarse si actualmente se utiliza o si saben de su existencia los trabajadores del software. Si será que el mismo refleja la práctica moderna de la ingeniería de software y si fuera así, si es completo, adaptable y si está dirigido a mejorar la entrega a tiempo y también se centra en la calidad. En muchos casos, la respuesta a todas estas preguntas es “no”. *El mito: si se atrasan en el desarrollo del software, se puede agregar más programadores y ponerlos al corriente (en ocasiones, a esto se le llama “concepto de la horda de mongoles”). La realidad: es que en el desarrollo del software a medida que se agregan personas, las que ya se encontraban trabajando deben dedicar tiempo para enseñar a los recién llegados, lo que disminuye la cantidad de tiempo dedicada al esfuerzo de desarrollo productivo. Pueden agregarse individuos, pero sólo en forma planeada y bien coordinada. *El mito: si se decide subcontratar el proyecto de software a un tercero, se puede descansar y dejar que esa compañía lo elabore. La realidad: es que si una organización no comprende cómo administrar y controlar proyectos de software internamente, de manera invariable tendrá dificultades cuando subcontrate proyectos de software. -Mitos del cliente. El cliente que requiere software de computadora puede ser la persona en el escritorio de al lado, un grupo técnico en el piso inferior, el departamento de mercadotecnia y ventas, o una compañía externa que solicita software mediante un contrato. En muchos casos, el cliente sostiene mitos sobre el software porque los gerentes y profesionales de éste hacen poco para corregir la mala información. Los mitos generan falsas expectativas (por parte del cliente) y, en última instancia, la insatisfacción con el desarrollador. *El mito: es que para comenzar a escribir programas, es suficiente el enunciado general de los objetivos, que se puede entrar en detalles más adelante. La realidad: aunque no siempre es posible tener el enunciado exhaustivo y estable de los requerimientos, un “planteamiento de objetivos” ambiguo es una receta para el desastre. Los requerimientos que no son ambiguos (que por lo general se obtienen en forma iterativa) se desarrollan sólo por medio de una comunicación eficaz y continua entre el cliente y el desarrollador.
  • 7. INGENIERIA DE SOFTWARE 6 *El mito: los requerimientos del software cambian continuamente, pero el cambio se asimila con facilidad debido a que el software es flexible. La realidad: es que si bien es verdad que los requerimientos del software cambian, pero el efecto que los cambios tienen varía según la época en la que se introducen. Cuando se solicitan al principio cambios en los requerimientos (antes de que haya comenzado el diseño o la elaboración de código), el efecto sobre el costo es relativamente pequeño. Sin embargo, conforme pasa el tiempo, el costo aumenta con rapidez: los recursos ya se han comprometido, se ha establecido la estructura del diseño y el cambio ocasiona perturbaciones que exigen recursos adicionales y modificaciones importantes del diseño. -Mitos del profesional. Los mitos que aún sostienen los trabajadores del software han sido alimentados por más de 50 años de cultura de programación. Durante los primeros días, la programación se veía como una forma del arte. Es difícil que mueran los hábitos y actitudes arraigados. *El mito: que los desarrolladores creen que una vez que se escribe un programa y se hace que funcione, su trabajo ha terminado. La realidad: los datos de la industria indican que entre 60 y 80% de todo el esfuerzo dedicado al software ocurrirá después de entregarlo al cliente por primera vez. *El mito: hasta que no se haga “correr” el programa, no hay manera de evaluar su calidad. La realidad: las revisiones del software son un “filtro de la calidad” que se ha revelado más eficaz que las pruebas para encontrar ciertas clases de defectos de software. *El mito: el único producto del trabajo que se entrega en un proyecto exitoso es el programa que funciona. La realidad: un programa que funciona sólo es una parte de una configuración de software que incluye muchos elementos. Son varios los productos terminados (modelos, documentos, planes) que proporcionan la base de la ingeniería exitosa y, lo más importante, que guían el apoyo para el software. *El mito: la ingeniería de software hará que generemos documentación voluminosa e innecesaria, e invariablemente nos retrasará. La realidad: la ingeniería de software no consiste en producir documentos, si no que se trata de crear un producto de calidad. La mejor calidad conduce a menos repeticiones, lo que da como resultado tiempos de entrega más cortos.
  • 8. INGENIERIA DE SOFTWARE 7 REFERENCIAS BIBLIOGRAFICAS -Pressman R. (2010),”Ingeniería del Software. Un Enfoque Práctico”. México. Mc Graw Hill.