Trabajo Ing. Del Software Unidad I y II - Ing Del Software II

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación

Unexca sede Altagracia

Materia: Ingeniería del Software II

Sección 30232-C2

Trabajo Unidades I Y II

Integrante:

Edinson Barrientos
CI: V-21.495.115

Caracas, mayo de 2023


Introducción

La Ingeniería del Software como disciplina surgió en la década de 1960, cuando


se hizo evidente la necesidad de un enfoque sistemático y disciplinado para el
desarrollo de software de alta calidad. Los esfuerzos tempranos en Ingeniería del
Software se centraron en el desarrollo de lenguajes de programación estructurados y en
la aplicación de técnicas formales para garantizar la corrección del software.

En la década de 1970, la Ingeniería del Software evolucionó hacia un enfoque de


gestión de proyectos, con énfasis en el desarrollo de modelos de ciclo de vida del
software que pudieran guiar a los equipos de desarrollo de software en la planificación,
el diseño, la implementación y el mantenimiento del software.

En la década de 1980, la Ingeniería del Software se centró en el desarrollo de


sistemas grandes y complejos, y en la necesidad de herramientas y técnicas efectivas
de gestión de proyectos. A finales de la década de 1980 y principios de la década de
1990, el término "ingeniería de software" comenzó a utilizarse de manera más amplia
para abarcar una amplia gama de técnicas, herramientas y metodologías utilizadas para
el desarrollo de software.

En la actualidad, la Ingeniería del Software sigue evolucionando para abordar los


desafíos de desarrollo de software en el mundo empresarial y tecnológico en constante
cambio. La disciplina se centra en el desarrollo de software de alta calidad que cumpla
con los requisitos del usuario, sea fácil de mantener y se adapte rápidamente a los
cambios en el entorno y los requisitos del usuario. La Ingeniería del Software es el
estudio práctico del diseño, la implementación y el mantenimiento de software de alta
calidad. En otras palabras, es un enfoque sistemático y disciplinado para el desarrollo
de software que involucra una combinación de métodos, herramientas y técnicas para
producir software eficiente, confiable y de alta calidad. La Ingeniería del Software
también se enfoca en asegurar que el software cumpla con los requisitos del usuario,
minimice los errores y los problemas de mantenimiento, y se adapte a los cambios en
los requisitos y el entorno.
¿Qué es la ingeniería de software?

Es un enfoque sistemático y disciplinado para el desarrollo de software de alta


calidad, que involucra el uso de métodos, herramientas y técnicas para producir
software eficiente, confiable y de alta calidad. La disciplina se centra en asegurar que el
software cumpla con los requisitos del usuario, minimice los errores y los problemas de
mantenimiento, y se adapte a los cambios en los requisitos y el entorno. En resumen, la
Ingeniería del Software es el enfoque práctico del diseño, la implementación y el
mantenimiento de software de calidad.

Etapas o Fases de la Ingeniería de Software:

La Ingeniería del Software se compone de diferentes etapas o fases que son


comunes para los procesos de desarrollo de software en cualquier proyecto, aunque el
número y el nombre de estas etapas pueden variar en función de la metodología o
enfoque utilizado. A continuación, resumo las fases que comúnmente se reconocen en
la Ingeniería del Software:

✓ Análisis de requisitos: en esta fase se lleva a cabo la recopilación de los


requisitos del software, es decir, las necesidades y expectativas que el software
debe satisfacer para cumplir con su propósito.
✓ Diseño: en esta fase se establece la arquitectura de software y se definen los
componentes, módulos y estructuras necesarios para el software, respondiendo
a los requisitos establecidos en la fase anterior.
✓ Implementación: es la fase en la que se lleva a cabo la codificación del software
y se producen los componentes, módulos y estructuras diseñados en la fase
anterior.
✓ Pruebas: en esta fase se prueban todos los componentes y módulos del
software, verificando si cumplen con los requisitos establecidos y garantizando
su correcto funcionamiento.
✓ Mantenimiento: es la fase en la que se realiza el seguimiento, mantenimiento y
mejora del software, ya sea para corregir errores, añadir nuevas funcionalidades
o actualizar el software para adaptarse a los nuevos requisitos.
Cada fase de la Ingeniería del Software tiene su propia importancia y es esencial
en la producción de software de calidad que cumpla con sus objetivos. Dependiendo de
la metodología o enfoque utilizado, puede haber variaciones en las fases o la forma en
que se llevan a cabo.

El ciclo de vida de un software

El ciclo de vida de un software es un modelo que describe las diferentes etapas o


fases que componen el proceso de desarrollo de software, desde la definición de los
requisitos hasta su despliegue y mantenimiento. Estas fases varían en función de la
metodología o enfoque utilizado en cada proyecto, pero en general, se suele hablar de
fases como el análisis de requisitos, la planificación, el diseño, la implementación, las
pruebas y el mantenimiento. El objetivo del ciclo de vida de un software es asegurar
que se produzca un software de alta calidad que cumpla con los requisitos de los
usuarios y se adapte a los cambios y a las futuras necesidades

Etapas:

Las principales etapas que forman el ciclo de vida de desarrollo de software son:

❖ Planificación: En esta fase se incluyen tareas como la determinación del


ámbito del proyecto, un estudio de viabilidad, análisis de riesgos, costes
estimados, asignación de recursos en las distintas etapas, etc.
❖ Análisis: Proceso en el que se trata de descubrir lo que se necesita y cómo
llegar a las características que el sistema debe poseer.
❖ Diseño: Se estudian las posibles implementaciones que hay que construir y
la estructura general del software.
❖ Implementación: Se trata de elegir las herramientas adecuadas, un entorno
de desarrollo que haga más sencillo el trabajo y el lenguaje de programación
óptimo.
❖ Pruebas: Conseguiremos detectar los fallos que se hayan cometido en
etapas anteriores, para que no repercuta en el usuario final.
❖ Instalación: En esta fase pondremos el software en funcionamiento.
➢ Uso y mantenimiento: Este es un momento crucial dentro del ciclo de vida de
un software.

Dentro del mantenimiento se pueden distinguir tres puntos importantes:

• Correctivo: Eliminar defectos que se van detectando.


• Adaptativo: Adaptarlo a nuevas necesidades.
• Perfectivo: Añadir nuevas funcionalidades.

Análisis y diseño orientado a objetos

El Análisis y Diseño Orientado a Objetos (ADOO) es un enfoque del análisis en la


ingeniería de software que modela un sistema como un grupo de objetos que
interactúan entre sí para cumplir con los requisitos establecidos. En este enfoque, se
considera a los objetos como la unidad básica de la modelización de sistemas y de la
implementación de programas. Los objetos son entidades que tienen atributos y
comportamientos y que pueden interactuar entre ellos para alcanzar los objetivos del
sistema. El objetivo del Análisis y Diseño Orientado a Objetos es crear un diseño que
sea flexible, reutilizable y fácil de mantener, al tiempo que garantizan la escalabilidad
del software y la facilidad de incorporar nuevas funcionalidades a medida que sean
necesarias

Fases del Análisis Orientado a Objetos AOO

Las fases del Análisis Orientado a Objetos (AOO) suelen variar en función de la
metodología utilizada, pero en general, se pueden resumir en las siguientes etapas:

1. Identificación de objetos: en esta fase se identifican los objetos del sistema,


sus características y sus relaciones.
2. Especificación de objetos: se describen los objetos en términos de sus
atributos y comportamientos.
3. Identificación de relaciones: se identifica la relación entre los objetos y de qué
manera interactúan entre ellos.
4. Especificación de eventos: se identifican los eventos que activan los objetos y
desencadenan cambios en el sistema.
5. Modelado del comportamiento: se modela el comportamiento de los objetos
del sistema, describiendo cómo se comunican y cuál es su funcionalidad.
6. Evaluación de la viabilidad: se evalúa la viabilidad del modelo presentado y se
determina si se ajusta a los requisitos del sistema.

Cada una de estas fases es importante para el éxito del proyecto de software, ya
que permite una comprensión más profunda de los objetos y los procesos del sistema,
lo que a su vez conduce a un mejor diseño y una implementación más eficiente.

Características del DOO (Diseño Orientado a Objetos)

✓ Los objetos vienen a ser en sí abstracciones del mundo real o entidades del
sistema que están administradas entre ellas mismas.
✓ Cada objeto es independiente y estos encapsulan propiamente el estado, al igual
que la representación de información.
✓ La funcionalidad del sistema es expresada en términos de servicios de los
objetos propiamente.
✓ La comunicación de los objetos se lleva a cabo mediante el paso de parámetros
y en sí, las áreas de datos compartidas son eliminadas.
✓ Es posible que los objetos estén distribuidos y que puedan ejecutarse de manera
secuencial o también en paralelo.

qué significa UML?

El lenguaje unificado de modelado, conocido también como UML por sus siglas
en inglés de Unified Modeling Language, es el lenguaje de modelado orientado más
popular y utilizado en la actualidad, este es un lenguaje gráfico que sirve para
especificar, visualizar, documentar y construir un sistema.

Programación Orientada a Objetos (POO)

Programación Orientada a Objetos (OOP por sus siglas en inglés) se conoce


como un paradigma o lenguaje de programación el cual es una forma de optimizar la
obtención de resultados. La mayoría de los objetos que están prediseñados en el
lenguaje de programación permiten al programador la agrupación de librerías y
bibliotecas e incluso muchos de estos lenguajes de programación le permiten al usuario
la creación y modelado de sus propias librerías.

Fundamentos principales de la programación orientada a objetos

❖ Objeto: Es el núcleo de este tipo de programación. Los objetos poseen un


nombre que es único y además contienen diferentes estados, los cuales son
reconocidos como sus atributos.

❖ Clase: Es el modelo de cómo ha sido construido el objeto.

❖ Herencia: Derivan clases de las clases de padres, es decir los comportamientos


pueden transmitirse a los objetos.
❖ Abstracción y encapsulamiento: Describe cómo los atributos son alojados y
pasan a ocultarse dentro de un objeto, incluyendo hasta sus datos.

Existe un gran número de técnicas para obtener requerimientos. A continuación, se


describen las más utilizadas. Hay que aclarar que ninguna de estas técnicas es
suficiente por sí sola y que es recomendable combinarlas para obtener requerimientos
completos.

➢ Entrevistas

La entrevista es de gran utilidad para obtener información cualitativa como


opiniones, o descripciones subjetivas de actividades. Es una técnica muy utilizada, y
requiere una mayor preparación y experiencia por parte del analista.

➢ Desarrollo Conjunto de Aplicaciones ( JAD )

Es una técnica que se utiliza para promover la cooperación y el trabajo en equipo


entre usuarios y analistas. Consiste en realizar sesiones en las que participan usuarios
expertos del dominio junto a analistas de software. La idea es aprovechar la dinámica
de grupos aplicando un proceso de trabajo sistemático y organizado, apoyado por
elementos visuales de comunicación y comprensión de soluciones.

➢ Desarrollo de Prototipos

Los prototipos suelen consistir en versiones reducidas, demos o conjuntos de pantallas


(que no son totalmente operativos) de la aplicación pedida. Esta técnica es
particularmente útil cuando:

▪ El área de la aplicación no está bien definida (posiblemente por ser algo muy
novedoso).
▪ El costo del rechazo de la aplicación por los usuarios es muy alto.
▪ Es necesario evaluar previamente el impacto del sistema en los usuarios y en la
organización.
➢ Observación

Por medio de esta técnica el analista obtiene información de primera mano sobre la
forma en que se efectúan las actividades. Este método permite observar la forma en
que se llevan a cabo los procesos y, por otro, verificar que realmente se sigan todos los
pasos especificados. Como sabemos, en muchos casos los procesos son una cosa en
papel y otra muy diferente en la práctica.

➢ Estudio de documentación

Varios tipos de documentación, como manuales y reportes, pueden proporcionar al


analista información valiosa con respecto a las organizaciones y a sus operaciones. La
documentación difícilmente refleja la forma en que realmente se desarrollan las
actividades, o donde se encuentra el poder de la toma de decisiones.

➢ Cuestionarios

El uso de cuestionarios permite a los analistas reunir información proveniente de un


grupo grande de personas. El empleo de formatos estandarizados para las preguntas
puede proporcionar datos más confiables que otras técnicas; por otra parte, su amplia
distribución asegura el anonimato de los encuestados, situación que puede conducir a
respuestas más honestas.

➢ Puntos de Vista

Cualquier sistema de software no trivial debe satisfacer las necesidades de un grupo


diverso de interesados (stakeholders). Cada uno de estos puede tener intereses
diferentes en el sistema de software

➢ Estrategias:

• Aprender todo lo que se pueda de los documentos, formularios, informes y


archivos existentes. Es sorprendente lo que se puede aprender de un sistema sin
necesidad de quitarle tiempo a la gente.
• De ser posible, se observará el sistema en acción. No se plantearán preguntas.
Tan sólo se observará y se tomarán notas o dibujos. Conviene asegurarse de
que las personas observadas saben que no se les está evaluando. En caso
contrario, harán su trabajo de manera más eficaz que lo normal.

• Diseñar y distribuir cuestionarios para aclarar cuestiones que no se comprenden


bien. Será también buen momento para solicitar opiniones sobre los problemas y
las limitaciones. Los cuestionarios requieren que los usuarios inviertan una parte
de su tiempo. Pero son ellos los que pueden elegir cuándo les viene mejor
hacerlo.

• Realizar entrevistas (o sesiones de trabajo en grupo, como JAD). Como ya se ha


recogido una base de requerimientos iniciales en los pasos anteriores, se
pueden utilizar las entrevistas para verificar y aclarar las cuestiones y los
problemas de mayor dificultad. En este punto se pueden llegar a aplicar algunas
de las otras técnicas cómo Escenarios, Tormenta de ideas, Puntos de Vista,
ETHICS y Desarrollo de Prototipos.

• Se verifican los requerimientos a través del uso de técnicas como Entrevistas,


Observación y orientados a Puntos de Vista.
Conclusión

La ingeniería de software es un campo muy importante en el desarrollo de


sistemas y aplicaciones. Requiere una sólida comprensión de los procesos y
herramientas necesarios para planificar, diseñar, implementar, probar y mantener
software de alta calidad que satisfaga las necesidades de los usuarios. El Análisis y
Diseño Orientado a Objetos es una metodología comúnmente utilizada en la ingeniería
de software, donde se identifican y modelan los objetos del sistema y sus interacciones.
También es crucial tener en cuenta el ciclo de vida del software, ya que proporciona un
marco para gestionar el desarrollo del software y garantizar la calidad y la adaptabilidad
a medida que el software evoluciona. En resumen, la ingeniería de software es una
disciplina esencial para garantizar el éxito en la implementación de proyectos de
software y aplicaciones.
Bibliografía

https://www.solbyte.com/blog/ciclo-de-vida-del-software/ Roger S.
Pressman. "Ingeniería del software: un enfoque práctico". McGraw Hill, 2010.
https://www.euroinnovaformacion.com.ve/blog/diseno-orientado-a-
objetos#analisis-y-ddo – Euroinnova (Abril de 2023) Autor Anónimo ¿Qué es el
diseño orientado a objetos?
https://www.cartagena99.com/recursos/alumnos/apuntes/POOTema8-
ADOO.pdf - Universidad de Alcalá Dpto. de Ciencias de la Computación, (Abril
de 2022) Programación Orientada a Objetos
https://sg.com.mx/revista/17/obtencion-requerimientos-tecnicas-y-
estrategia - Sg México (Junio 2022) Obtención de Requerimientos, Técnicas y
Estrategia – Cesar Arturo Guerra SG#17

También podría gustarte