tema 1 ing. software
DESCRIPTION
ingenieria softwareTRANSCRIPT
Tema 1:Fundamentos básicos y gestión en la Ingeniería de Software
Pulsa Aquí
Bienvenida
Iniciamos el primer tema de Ingeniería de Software, conociendo los fundamentos básicos que debe de tener el estudiante para empezar a involucrarse con la gestión de un proyecto de software para la cual se conocerá como es que ha ido evolucionando, cuales son los mitos que existen, la crisis, para luego entrar a conocer como es que se puede lograr la gestión a través de la participación de humana, nos estamos refiriéndonos a las cuatro P de la gestión de un proyecto de software
Introducción
Actualmente en todas las organizaciones depende de sistemas informáticos, por lo que producir software es esencial para el funcionamiento de la economía nacional e internacional.
En este tema la estructuración está dada en temas está basado en aspectos generales de la ingeniería del software y de la gestión en la ingeniería de software, los mismos que detallaremos.
Sommerville (2005, p.4) no dice La ingeniería del software es una disciplina de la ingeniería cuya meta es el desarrollo
costeable de sistemas de software. Éste es abstracto e intangible. No está restringido por materiales, o gobernado por leyes físicas o por procesos de manufactura. De alguna forma, esto simplifica la ingeniería del software ya que no existen limitaciones físicas del potencial del software. Sin embargo, esta falta de restricciones naturales significa que el software puede llegar a ser extremadamente complejo y, por lo tanto, muy difícil de entender.
Primero: analizaremos los fundamentos básicos de la Ingeniería de Software, para ello vamos a analizar los conceptos del software, describiendo su evolución, sus mitos, la crisis.
Segundo: analizaremos los conceptos de la Ingeniería de Software, describiendo los procesos y sobre poder conocer los diferentes modelos de proceso de desarrollo que nos van a servir para conocer su ciclo de vida de un software
Tercero: conoceremos que son los involucrados en el desarrollo del software, es decir nos estamos refiriéndonos a la gestión de proyecto de software.
Aprendizaje Esperado
Conozcamos las capacidades y actitudes del tema 01
Capacidad
Identifica los conceptos fundamentales de Ingeniería de software.
Conceptualiza los temas introductorios basados en la ingeniería de software.
Utiliza los conceptos principales de gestión de proyectos de software para la elaboración de su Plan de proyecto de Software.
Actitudes
Valora la importancia en los temas tratados
Mapa Conceptual
Haz clic para visualizar el mapa conceptual
1.1. Fundamentos básicos
Al estudiar la ingeniería de software estamos hablando de la producción de software de calidad siguiendo ciertas técnicas y métodos para llegar a desarrollar un producto para un cliente o para el mercado en general.
1.1.1. Evolución del software
El software es la parte abstracta de un computador y que actualmente se ha convertido en algo indispensable tanto para las instituciones nacionales como para las internacionales.
El software incluso juega un papel muy importante en nuestras vidas, ya que a menudo podemos encontrar software que nos facilitan los trabajos informáticos en nuestra vida diaria como estudiante, como tutor, etc
El software según Sommerville (2005, p. 5) nos dice “Muchas personas asocian el término software con los programas de computadora. Sin embargo, yo prefiero una definición más amplia donde el software no son sólo programas, sino todos los documentos asociados y la configuración de datos que se necesitan para hacer que estos programas operen de manera correcta.”
Pregunta de Analisis
Teniendo en cuenta lo anteriormente conceptualizado sobres la fundamentación del software responda las siguientes
interrogantes
1 ¿Cuál crees que es la importancia del software en la vida diaria?
2 ¿Mencione tres ideas clave y precisa sobre el software?
3 ¿Qué viene a ser un programa?
Vídeo: Historia y evolución del Software
Te invitamos a poder ver el presente vídeo en donde podremos apreciar que la historia del software ha ido evolucionando mediante cuatro eras, el software en sus inicios comenzó como un desarrollo virtual, luego sistemas monousuario, multiusuario y finalmente los software orientado a objetos.
https://youtu.be/oSssWHD1oSI
Después de haber observado detenidamente el vídeo responde a las siguientes preguntas:
1. ¿Cuál de los siguientes enunciados no es un gestor de base de datos?
SQL Server
MySQL
PostGre SQL
Apache
Oracle
¡Muy Bien! Es una aplicación de servidor web destacada por jugar un papel clave en el crecimiento inicial de la World Wide Web
2. ¿Cuál de los siguientes enunciados no es sistema multiusuario?
Windows 7
MSDOS
Linux
Mac OS X
Unix
Muy Bien! Es un sistema operativo para computadoras basado en x86. Es un sistema operativo que sólo puede ser ocupado por un único usuario en un determinado tiempo
Pregunta Verdadero-Falso
3. Los sistemas distribuidos viene a aparecer en la tercera era de la historia del software
Verdadero Falso
¡Correcto!
La tercera era aparece entre los años 1972 a 1989
1.1.2. El Software y sus mitos.
Con el transcurrir del tiempo el software ha evolucionado en pasos gigantesco, pero también han ido creciendo sus mitos, se dice que estos surgen desde los primeros años del desarrollo del software en cuanto al desarrollo.
A continuación te invito a leer los siguientes mitos del software extraído de Pressman(2005, p. 14,15,16):
Después de haber leído los mitos del software, responda las siguientes preguntas:
¿Crees tú que el software libre desarrolla productos innovadores y de calidad a través del tiempo?
¿Analicemos los mitos del cliente y comparte con nosotros tu opinión?
Aporte con otros mitos sobre el software
1.1.3. Crisis del software.
A continuación te invitamos a ver el siguiente vídeo sobre la crisis del software:
Haz clic para poder visualizar el vídeo
https://youtu.be/pxQmvwZ53ks
ReflexionaDespués de haber visto el vídeo Crisis del software, responda las siguientes preguntas:
Mencione las ideas principales del vídeo.
Analicemos y comentemos la crisis del software que nos muestra en el vídeo.
La crisis del software se verá afectada la tecnología.
Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios.
1.2. Ingeniería del software
1.2.1. El proceso de software
Empecemos a definir ¿Qué es un proceso?, un proceso es un conjunto de actividades que se realizan en un determinado tiempo, entonces un proceso de software viene a ser conjunto de actividades, eventos que se realizan en el desarrollo de software.
Según Ian Sommerville(2005 p.7) nos dice “Un proceso del software es un conjunto de actividades y resultados asociados que producen un producto de software. Estas actividades son llevadas a cabo por los ingenieros de software”. Las diferentes actividades son:
1.2.2. Modelo de proceso de software
Para el desarrollo de un proyecto de software, el ingeniero de software debe de basarse en una metodología a seguir, es decir el ingeniero debe de contar con una estrategia de desarrollo o modelo de proceso de software, métodos y herramientas que permita lograr obtener el producto deseado.
Sommerville (2005, p.8) define modelo de proceso de software “Una representación simplificada de un proceso de software, representada desde una perspectiva específica. Por su naturaleza los modelos son simplificados, por lo tanto un modelo de procesos del software es una abstracción de un proceso real."
Sommerville (2005, p.61) establece los siguiente modelos de proceso:
Modelo en cascada:
Es el primer modelo de proceso de desarrollo de software, se caracteriza porque es un modelo basado en fases las cuales se ejecutan secuencialmente, las principales etapas son:
a) Definición de requerimiento: En esta etapa se llega analizar las necesidades del usuario final, esto nos permitirá obtener la limitación del software.
b) Análisis y diseño del software: Se analiza los datos con los cuales se va a trabajar, cual va a ser la función del software y también la estructura de los datos, la arquitectura de las aplicaciones, la estructura interna de los programas y las interfaces.
c) Implementación y prueba de unidades: Si el diseño está bien detallado, la implementación resultara sencilla y esperar que cada unidad cumpla con las especificaciones estimadas.
d) Integración y prueba del sistema: Mediante esta etapa nos permite integrar los programas de las unidades en uno solo, de tal manera que nos permita realizar prueba toda la aplicación integrada.
e) Operación y mantenimiento: En esta etapa es cuando ya se pone en funcionamiento el software, es una de las etapas más larga puesto que se tendrán que corregir los posibles errores encontrado por el usuario final.
Desarrollo evolutivo
Este modelo se caracteriza por la evolución el software según las necesidades del usuario final, es decir se va construyendo versiones de software más completas.
Las actividades de especificación, desarrollo y validación se comunican con la finalidad de que por cada actividad ir evolucionando el software hasta llegar a la versión final
Ingeniería del software basada en componentes
Este enfoque se basa en la existencia de un número significativo de componentes reutilizables. El proceso de desarrollo del sistema se enfoca en integrar estos componentes en el sistema más que en desarrollarlos desde cero.
Aunque existen muchos tipos de modelos de desarrollo, de forma genérica la mayoría está clasificada en una de estas 3 categorías, y estos a pesar de ser diferentes a veces son usados de manera simultáneamente especialmente en sistemas grandes
1.3. Gestión de proyecto de software
1.3.1. El espectro de la gestión: Personal, producto, proceso y proyecto
Para poder realizar eficazmente la gestión de proyecto de software se debe de contar con un conjunto de esfuerzo humano como es el espectro de la gestión que viene dado por las cuatro” P”.
Personal: Es la parte humana con la que cuenta una gestión de proyecto, se requiere de personal altamente preparado y motivado.
Producto: Antes de poder entrar a planificar un proyecto se debe tener en cuenta el alcance del producto.
Proceso: Nos proporciona la estructura por la cual se va a desarrollar el proyecto.
Proyecto: Roger Pressman(2005, p.643) nos dice “Los proyectos de software se realizan de manera planificada y controlada por una razón principal: es la única forma de gestionar la complejidad”. Para evitar el fracaso del proyecto se deberá de contar con una lista de factores crítico que puedan impedir el éxito del software.
Referencias (bibliográficas)
Pressman, R. S. (2005). Ingeniería de software: Un enfoque práctico, Sexta Edición.Mexico: Mcgraw Hill/Interamericana.
Sommerville, I. (2005). Ingeniería del software, Septima Edicion. Madrid: Pearson Educación.
Lecturas recomendadas
Para saber más
Ponemos a tu disposición y te invitamos a revisar dos interesantes documentos que te ayudaran a reforzar y ampliar los temas que hemos estudiado, estos los encontrarás en la base de datos e-libros que utiliza nuestra universidad:
Documento 1: Ingeniería de Software: Una Guía para Crear Sistemas de Información
URL: http://www.wolnm.org/apa/articulos/Ingenieria_Software.pdf
Breve descripción: Alejandro Peña Ayala, elabora esta guía como el resultado de sus trabajos y experiencias realizadas, el autor enfatiza la ingeniería de software como la herramienta principal del desarrollador de sistemas de información, la cual viene acompañado de diferentes actividades, metodología, técnicas e instrumentos que se debe de seguir para dar vida a un sistema.
Documento 2: Introducción a la ingeniería del Software.
URL: http://webdiis.unizar.es/~zarazaga/workPage/docencia/ingSoft1/trasparencias/is1_01.pdf
Breve descripción: En esta lectura trata de los fundamentos básicos de la ingeniería del software desde diferentes puntos de vista de autor