Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMESTRE 2022-A
MTRO. RAMON DE JESUS
CALDERON HERNANDEZ
SEPTIEMBRE 2022
ACTIVIDADES
Actividad 1:
Resuelve la Evaluación diagnostica de la materia.
Actividad 2:
El alumno elaborara una infografía sobre el ciclo de vida del
software.
Actividad 3:
El alumno elabora un cuadro sinóptico sobre
los modelos del ciclo de vida del software.
Actividad 4:
El alumno deberá realizar un análisis sobre las fases del proceso de
desarrollo del software.
Actividad 5:
El alumno deberá realizar un
mapa conceptual sobre los
Modelos del Proceso de
Desarrollo.
COLEGIO DE BACHILLERES DE
CHIAPAS O.P.D. PLANTEL 164
PLAN DE AYALA SISTEM AS DE
INFORMACION/PROGRAMACION
MTRO. RAMON DE JESUS CALDERON
HERNANDEZ
EVALUACION DIAGNOSTICA
NOMBRE:
2.- Describe con tus propias palabras que entiendes por metodología:
15.- Describe con tus propias palabras que entiendes por pseudocodigo:
El SDLC es parte del ADN computacional de Ungoti y por este motivo apoyamos el ciclo
de vida completo del proyecto a través de las siguientes fases:
Comunicación
Este es el momento en el que un cliente solicita un
producto de software determinado. Nos contacta
para plasmar sus necesidades concretas y
presenta su solicitud de desarrollo de software.
Planificación y análisis
El desarrollo de software comienza con una fase
inicial de planificación incluyendo un análisis de
requisitos. Nos fijamos en los requisitos que piden
los clientes para estudiar cuales están poco claros,
incompletos, ambiguos o contradictorios. Se
indaga en profundidad y se hacen demostraciones
prácticas incluyendo a los usuarios clave. Los
requisitos se agrupan en requisitos del usuario,
requisitos funcionales y requisitos del sistema. La
recolección de todos los requisitos se lleva a cabo:
estudiando el software actual que tengan,
entrevistando a usuarios y desarrolladores, consultando bases de datos o mediante
cuestionarios.
Estudio de viabilidad
Diseño
Codificación
Pruebas
Formación
Mantenimiento y Funcionamiento
Si es necesario se dan
nuevas formaciones, o se
presta documentación
sobre como operar y mantener el software en
perfecto estado de funcionamiento. Se adaptan
entornos del usuario o tecnológicos, dando
mantenimiento al software, actualizando el
código y configuración.
El software es efectivo cuando se usa de
forma apropiada y por eso el mantenimiento y la
mejora de los productos de software es
crucial para poder corregir defectos que vayan
surgiendo o para poder atender a los requisitos del software.
MODELOS DE CICLOS DE VIDA DEL SOFTWARE
Actividad 3:
El alumno analiza la información sobre los modelos del ciclo de
vida del software y elabora un cuadro sinóptico del tema.
La ingeniería del software se vale de una serie de modelos que establecen y muestran
las distintas etapas y estados por los que pasa un producto software, desde su
concepción inicial, pasando por su desarrollo, puesta en marcha y posterior
mantenimiento, hasta la retirada del producto. A estos modelos se les denomina
“Modelos de ciclo de vida del software”. El primer modelo concebido fue el de Royce,
más comúnmente conocido como “Cascada” o “Lineal Secuencial”. Este modelo
establece que las diversas actividades que se van realizando al desarrollar un producto
software, se suceden de forma lineal.
Los modelos de ciclo de vida del software describen las fases del ciclo de software y el
orden en que se ejecutan las fases.
Un modelo de ciclo de vida de software es una vista de las actividades que ocurren
durante el desarrollo de software, intenta determinar el orden de las etapas involucradas
y los criterios de transición asociados entre estas etapas. Un modelo de ciclo de vida del
software:
Las principales diferencias entre distintos modelos de ciclo de vida están en:
• Las características (contenidos) de las fases en que dividen el ciclo. Esto puede
depender del propio tema al que se refiere el proyecto, o de la organización.
MODELO EN CASCADA.
Es un enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del
software, de forma que el inicio de cada etapa debe esperar a la finalización de la
inmediatamente anterior. El modelo en cascada es un proceso de desarrollo secuencial,
en el que el desarrollo se ve fluyendo hacia abajo (como una cascada) sobre las fases
que componen el ciclo de vida.
La primera descripción formal del modelo en cascada se cree que fue en un artículo
publicado en 1970 por Winston W. Royce, aunque Royce no usó el término cascada en
este artículo. Irónicamente, Royce estaba presentando este modelo como un ejemplo de
modelo que no funcionaba, defectuoso. En el modelo original de Royce, existían las
siguientes fases:
1.Especificación de requisitos.
2.Diseño.
3.Construcción (Implementación o codificación).
4.Integración.
5.Pruebas.
6.Instalación.
7.Mantenimiento.
Para seguir el modelo en cascada, se avanza de una fase a la siguiente en una forma
puramente secuencial.
Si bien ha sido ampliamente criticado desde el ámbito académico y la industria, sigue
siendo el paradigma más seguido a día de hoy.
MODELO V.
El modelo en v se desarrolló para terminar con algunos de los problemas que se vieron
utilizando el enfoque de cascada tradicional. Los defectos estaban siendo encontrados
demasiado tarde en el ciclo de vida, ya que las pruebas no se introducían hasta el final
del proyecto. El modelo en v dice que las pruebas necesitan empezarse lo más pronto
posible en el ciclo de vida. También muestra que las pruebas no son sólo una actividad
basada en la ejecución. Hay una variedad de actividades que se han de realizar antes
del fin de la fase de codificación. Estas actividades deberían ser llevadas a cabo en
paralelo con las actividades de desarrollo, y los técnicos de pruebas necesitan trabajar
con los desarrolladores y analistas de negocio de tal forma que puedan realizar estas
actividades y tareas y producir una serie de entregables de pruebas.
Realmente las etapas individuales del proceso pueden ser casi las mismas que las del
modelo en cascada. Sin embargo hay una gran diferencia. En vez de ir para abajo de
una forma lineal las fases del proceso vuelven hacia arriba tras la fase de codificación,
formando una v. La razón de esto es que para cada una de las fases de diseño se ha
encontrado que hay un homólogo en las fases de pruebas que se correlacionan.
MODELO ITERATIVO.
Es un modelo derivado del ciclo de vida en cascada. Este modelo busca reducir el riesgo
que surge entre las necesidades del usuario y el producto final por malos entendidos
durante la etapa de recogida de requisitos.
Este modelo se suele utilizar en proyectos en los que los requisitos no están claros por
parte del usuario, por lo que se hace necesaria la creación de distintos prototipos para
presentarlos y conseguir la conformidad del cliente.
MODELO EN ESPIRAL
El desarrollo en espiral es un modelo de ciclo de vida desarrollado por Barry Boehm en
1985, utilizado de forma generalizada en la ingeniería del software. Las actividades de
este modelo se conforman en una espiral, cada bucle representa un conjunto de
actividades. Las actividades no están fijadas a priori, sino que las siguientes se eligen en
función del análisis de riesgos, comenzando por el bucle anterior.
Al ser un modelo de ciclo de vida orientado a la gestión de riesgos se dice que uno de
los aspectos fundamentales de su éxito radica en que el equipo que lo aplique tenga la
necesaria experiencia y habilidad para detectar y catalogar correctamente riesgos.
4. Planificar:
• Revisar todo lo que se ha llevado a cabo, evaluándolo y decidiendo si se continúa con
las fases siguientes y planificando la próxima actividad.
El proceso empieza en la posición central. Desde allí se mueve en el sentido de las agujas
del reloj.
MODELO DE PROTOTIPOS.
Actividad 4:
El alumno deberá realizar un análisis sobre las fases del proceso de desarrollo del
software.
3.- Programación
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de
software, pero no es necesariamente la porción más larga. La complejidad y la duración
de esta etapa está íntimamente ligada al o a los lenguajes de programación utilizados.
4.- Pruebas
Consiste en comprobar que el software realice correctamente las tareas indicadas en la
especificación. Una técnica de prueba es probar por separado cada módulo del software,
y luego probarlo de forma integral, para así llegar al objetivo. Se considera una buena
práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la
programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador
debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un
área de pruebas, la primera es que esté compuesta por personal inexperto y que
desconozca el tema de pruebas, de esta forma se evalúa que la documentación]
entregada sea de calidad, que los procesos descritos son tan claros que cualquiera
puede entenderlos y el software hace las cosas tal y como están descritas. El segundo
enfoque es tener un área de pruebas conformada por programadores con experiencia,
personas que saben sin mayores indicaciones en que condiciones puede fallar una
aplicación y que pueden poner atención en detalles que personal inexperto no
consideraría.
5.- Documentación
Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión
del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de
usuario, manuales técnicos, etc; todo con el propósito de eventuales
correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.
6.-Mantenimiento
Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos.
Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de
2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña
parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en
extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de
toda la Ingeniería civil, Arquitectura y trabajo de construcción es dar mantenimiento.
Se puede decir que con la mejora continua garantiza la calidad del producto, ya que el
estarla aplicando día con día es la mejor decisión que puede llegar a tener cualquier
empresa, porque de esta manera evita grandes problemas en la elaboración o desarrollo
de los productos. Esto es fundamental para todas las empresas ya que se vuelven
competitivas, con mayor productividad y eficiencia. No hay que olvidar que la mejora se
da porque el cliente es el rey y hay que satisfacer todas y cada una de sus necesidades
siempre garantizando la calidad.
MODELOS DEL PROCESO DE DESARROLLO SOFTWARE
Actividad 5:
El alumno deberá leer el tema de los Modelos del Proceso de
Desarrollo Software, y elaborar un mapa conceptual.
No existe consenso sobre cuál es el mejor modelo del proceso software. Distintos
equipos de desarrollo pueden utilizar diferentes modelos de proceso software para
producir el mismo tipo de sistema software. Sin embargo, algunos modelos son más
apropiados para producir ciertos tipos de sistemas, de forma que si no se utiliza un
modelo adecuado puede ocurrir que el sistema software resultante sea de menor calidad.
El reparto de costes entre las distintas fases del proceso de desarrollo es difícil de
determinar dado los distintos modelos de proceso existentes. Sin embargo, en
dependencia del modelo que se adopte, al menos el 60% del coste total se emplea en la
actividad de evolución del sistema. La estimación de este porcentaje es pesimista, ya
que la tasa de crecimiento de nuevos productos software es mucho mayor que la tasa de
productos software que quedan en desuso (no tienen que ser mantenidos), por lo que el
número de operaciones de mantenimiento que se realizan sigue aumentando. El proceso
de diseño software debería, por tanto, tener en cuenta la posterior evolución del sistema.
Los principales problemas de este modelo son: escasa visibilidad; los continuos cambios
que hacen que los sistemas desarrollados estén deficientemente estructurados; y la
necesidad de disponer, en muchos casos, de un equipo de desarrollo altamente
calificado. Estos problemas hacen que la aplicación de este modelo se suela limitar a
sistemas interactivos de tamaño pequeño o mediano.
La deficiente estructura dificulta las tareas de mantenimiento de ahí que se suela aplicar
a sistemas con una vida corta y a partes de grandes sistemas, especialmente a sistemas
de inteligencia artificial y a interfaces de usuario.
3.- Modelo transformacional
Se basa en disponer de una especificación formal del sistema y en transformar, con
métodos matemáticos, esta especificación en una implementación. Si las
transformaciones que se aplican son correctas es posible asegurar que el sistema
construido satisface la especificación, es decir, es posible obtener programas correctos
por construcción.
El modelo tiene la forma de una espiral en la que cada vuelta representa cada una de las
fases en las que se estructura el proceso software y está organizada en cuatro sectores: