Actividad T1 - 01 Reporte de Investigación

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

Instituto Tecnológico de Pochutla

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE POCHUTLA


ASIGNATURA:

Fundamentos de ingeniería de software

TEMA:

1- Fundamentos de ingeniería de software

ACTIVIDAD:

T1-01 Reporte de investigación

ALUMNO (A):

Ricardo Emmanuel Gomez Ricardez 201160015

CARRERA:

INGENIERÍA EN SISTEMAS COMPUTACIONALES

DOCENTE:

M.I. Miguel Morgan Matus

San Pedro Pochutla, Oaxaca, mes 2

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
Instituto Tecnológico de Pochutla

“El ingeniero de software aficionado siempre está a Ia búsqueda de


algo mágico, algún método o herramienta sensacional que prometa
convertir eldesarrollo de software en algo trivial. Está en el ingeniero
de software profesional saber que no existe tal panacea.” (Grady
Boch).

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
Instituto Tecnológico de Pochutla

INTRODUCCION

En este Presente Reporte de investigación abordaremos el tema de Fundamentos de


ingeniería en software donde estaremos abordando los conceptos básicos así como las
fases y metodologías de desarrollo de software, al final de la investigación se Proyectaran
unos diagramas para hacer una retroalimentación del tema.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
Instituto Tecnológico de Pochutla

La ingeniería del software es el proceso formal de desarrollo de software en el que las


necesidades del usuario se traducen en requerimientos, estos se transforman en diseño que
se implementa en código que se prueba, documenta y se certifica para su uso operativo.
Según la definición del IEEE la ingeniería del software se define como “(1) la aplicación de
un método sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento
de software, esto es, la aplicación de la ingeniería al software” y
“(2) el estudio de los métodos de (1)”
El proceso requiere una metodología con 5 etapas:

1. Análisis de requerimientos: Se extraen los requisitos del producto de software. En


esta etapa la habilidad y experiencia en la ingeniería del software es crítica para
reconocer requisitos incompletos, ambiguos o contradictorios. Usualmente el
cliente/usuario tiene una visión incompleta/inexacta de lo que necesita y es necesario
ayudarle para obtener la visión completa de los requerimientos. El contenido de
comunicación en esta etapa es muy intenso ya que el objetivo es eliminar la
ambigüedad en la medida de lo posible.
2. Especificación: Es la tarea de describir detalladamente el software a ser escrito, de
una forma rigurosa. Se describe el comportamiento esperado del software y su
interacción con los usuarios y/o otros sistemas.
3. Diseño y arquitectura: Determinar como funcionará de forma general sin entrar en
detalles incorporando consideraciones de la implementación tecnológica, como el
hardware, la red, etc. Consiste en el diseño de los componentes del sistema que dan
respuesta a las funcionalidades descritas en la segunda etapa también conocidas
como las entidades de negocio. Generalmente se realiza en base a diagramas que
permitan describir las interacciones entre las entidades y su secuenciado.
4. Programación: Se traduce el diseño a código. Es la parte más obvia del trabajo de
ingeniería de software y la primera en que se obtienen resultados “tangibles”. No
necesariamente es la etapa más larga ni la más compleja aunque una especificación
o diseño incompletos/ambiguos pueden exigir que, tareas propias de las etapas
anteriores se tengan que realizarse en esta.
5. Prueba: Consiste en comprobar que el software responda/realice correctamente las
tareas indicadas en la especificación. Es una buena praxis realizar pruebas a distintos
niveles (por ejemplo primero a nivel unitario y después de forma integrada de cada
componente) y por equipos diferenciados del de desarrollo (pruebas cruzadas entre
los programadores o realizadas por un área de test independiente

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
Instituto Tecnológico de Pochutla

6. Documentación: Realización del manual de usuario, y posiblemente un manual


técnico con el propósito de mantenimiento futuro y ampliaciones al sistema. Las
tareas de esta etapa se inician ya en el primera fase pero sólo finalizan una vez
terminadas las pruebas.
7. Mantenimiento: En esta etapa se realizan un mantenimiento correctivo (resolver
errores) y un mantenimiento evolutivo (mejorar la funcionalidades y/o dar respuesta
anuevos requisitos).
Los más atentos habéis contado 7 en lugar de 5. No es un error. La sexta etapa,
documentar, se tiene que llevar a cabo absolutamente en todas y aunque no e

¿Qué es una Metodología?


En el desarrollo de software, una metodología hace cierto énfasis al entorno en el cuál se
plantea y estructura el desarrollo de un sistema. Existen una gran cantidad de metodologías
de la programación que se han utilizado desde los tiempos atrás y que con el paso del
tiempo han ido evolucionando. Esto se debe principalmente a que no todos los sistemas de
la información, son compatibles con todas las metodologías, pues el ciclo de vida del
software puede ser variable. Por esta razón, es importante que dependiendo del tipo de
software que se vaya a desarrollar, se identifique la metodología para el diseño de software
idónea.

¿En qué consisten las Metodologías de Desarrollo deSoftware?


Una Metodología de desarrollo de software, consiste principalmente en hacer uso de
diversas herramientas, técnicas, métodos y modelos para el desarrollo. Regularmente este
tipo de metodología, tienen la necesidad de venir documentadas, para que los
programadores que estarán dentro de la planeación del proyecto, comprendan
perfectamente la metodología y en algunos casos el ciclo de vida del software que se
pretende seguir.

Aunque actualmente existe mucha variedad en metodologías de programación. La realidad


es que todas están basadas en ciertos enfoques generalistas que se crearon hace muchos
años, algunos tipos de metodologías de desarrollo de software que se utilizaron e inventaron
al principio de nuestra era tecnológica y son las que veremos a continuación

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad El Colorado, C.P.70902, San
Pedro Pochutla, Oaxaca, México. Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
.
Diciplina de la ingenieria
FUNDAMENTOS DE que se interesa por todos los
INGENIERIA DE SOFTWARE aspectos de produccion de
software

Estructuradas
Fases

Metodologias Tradicionales
Conceptos
Basicos
Analisis de Orientado a
requerimientos Programacion obectos

Proyecto Software Proceso Agiles

Esfuerzo Programacion
temporal que se Externa
lleva a acabo Programas de
Conjunto de
para crear un computo y
actividades para
producto, documentacion
obtener un fin
servicio o asociada
resultado unico

Analisis de
Especificacion requerimientos Scrum

Rup

Otras metologias
Diseño y agiles
arquitectura Dumentacion

-crystal clear
-Feature Driven(FDD) Development
-Adaptive Software Development
(ASD)
-Agile unified Process (EssUp)
-Open Unified Process (Openup)
Mantenimiento

FASES DE LA INGENIERIA DE
Investigacion
SOFTWARE Determinacion de
Preliminar Requirimiento

Averiguar qué es exactamente lo que
Conocer e identificar los elementos asi tiene que hacer el software.Corresponde
como el problema a desarrollar, tener al proceso a través del cual se intenta
claras las ideas de lo que se desea descubrirqué es lo que realmente se
obtener,indagar en diferentes medios necesita y se llega a una comprensión

adecuada

Mantenimiento Diseño de Sistema


Incluye tres puntos diferenciados: Determinar cómo funcionará de forma

generalsin entrar en detalles
-Eliminar los defectos detectados incorporando consideraciones
durante su vida útil. de la implementación tecnológica,
-Adaptarlo a nuevasnecesidades. como el hardware, lared, etc. Consiste
-Añadirle nuevas funcionalidades. en el diseño de los componentes del

sistema que dan respuestaa las
funcionalidades.

Implantacion del
sistema
Hay que elegir las herramientas
adecuadas, un entorno de desarrollo
que facilite el trabajo y un lenguajede Desarrollo del
programación apropiado para el tipo
de software a construir. Esta elección sistema
dependerá tanto de las decisiones de
diseño tomadas como del entorno en Se traduce el diseño a código. La
el que el software deba funcionar. primera en que se obtienen resultados
. tangibles. No necesariamente es la
etapa más larga ni la más compleja,
Prueba de sistema aunque una especificación o diseño
incompletos/ambiguos puedenexigir.
Consiste en comprobar que el software

responda/realice correctamente las


tareas indicadas en la especificación. Es
una buenapraxis realizar pruebas a
distintos niveles y por equipos
diferenciados del de desarrollo.

Metodologías Tradicionales
Parámetros Estructuradas Orientada a Objetos
Proponen la creación de Se considera el dominio del
modelos del sistema que problema como un
representan: conjunto de objetos que
Función ▪ Los procesos interactúan entre sí.
▪ Los flujos
▪ La estructura de los
Datos
Enfoque Top-Down: De Enfoques:
Enfoque visión general a nivel de “Revolucionarios” o “Puros”
abstracción más sencillo.
▪ Orientadas a
Procesos
▪ Orientadas a Datos: ▪ OMT (Object
Estructuras de Modeling Technique)
Tipos Datos Jerárquicas ▪ Método Booch
Estructuras de ▪ UP (Unified Process)
Datos no
Jerárquicas
▪ Mixtas
Prestar especial atención al modelado y mantenimiento
de los modelos.
El énfasis en la especificación detallada de procesos y
Características similares
un elevado número y especialización de roles.
Limitar la participación del cliente a reuniones de
control, reduciendo de manera significativa sus aportes.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad


El Colorado, C.P.70902, San Pedro Pochutla, Oaxaca, México.
Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
Metodologías Ágiles
Parámetros Programación externa SCRUM RUP
XP está especialmente Scrum es marco Rational Unified
indicado para dar de trabajo iterativo Process satisface lo
respuesta a proyectos e incremental para requisitos del
Función cuyos el desarrollo usuario final, en un
requisitos no están de proyectos, plazo y coste
definidos y son productos y predecibles.
cambiantes. aplicaciones.
• Rapidez en la Todos los días el • Dirigido por
retroalimentación. equipo se reúne los Casos de
• Asume la para informar del Uso
simplicidad progreso, y • Centrado en
Características • Cambio actualizan unas la
incremental gráficas que les arquitectura
• Acepta el cambio orientan sobre • Es iterativo e
• Trabajo de el trabajo restante. incremental.
calidad

• Exploración Esta metodología ▪ Fase de


se estructura en
• Planificación SPRINTS, ciclos
inicio
• Iteraciones hasta de trabajo o ▪ Fase de
iteraciones de
la versión elaboración
duración fija (1 a 4
• Paso a producción semanas) que se ▪ Fase de
Ciclo de vida irán sucediendo,
• Mantenimiento terminándose en
construcción

• Fin de proyecto una fecha ▪ Fase de


específica,
transición
aunque no se
haya terminado el
trabajo, nunca se
alargan.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad


El Colorado, C.P.70902, San Pedro Pochutla, Oaxaca, México.
Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
Metodologías Tradicionales Metodologías Ágiles
Basadas en normas provenientes de Basadas en heurísticas provenientes
estándares seguidos por el entorno de de prácticas de producción de código.
desarrollo.
Cierta resistencia a los cambios. Especialmente preparados para
cambios durante el proyecto.
Impuestas externamente. Impuestas internamente (por el
equipo).
Proceso mucho más controlado, con Proceso menos controlado, con pocos
numerosas políticas/normas. principios.
Existe un contrato prefijado. No existe contrato tradicional o al
menos es bastante flexible.
El cliente interactúa con el equipo de El cliente es parte del equipo de
desarrollo mediante reuniones. desarrollo.
Grupos grandes y posiblemente Grupos pequeños (< 10 integrantes) y
distribuidos. trabajando en el mismo sitio.
Más artefactos. Pocos artefactos.
Más roles. Pocos roles.
La arquitectura del software es Menos énfasis en la arquitectura del
esencial y se expresa mediante software.
modelos.
Se clasifica en: Se clasifica en:
▪ Metodologías estructuradas ▪ Programación externa
▪ Metodologías orientadas a ▪ SCRUM
objetos ▪ RUP

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad


El Colorado, C.P.70902, San Pedro Pochutla, Oaxaca, México.
Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx
CONCLUSION

Al final de este reporte la ingeniería de software abarca un gran ambiente de


procesos para llevarse a cabo, por ejemplo cuando se este desarrollando un
software debe de aplicarse varias reglas para tener un resultado optimo de
acuerdo a sus 7 faces de desarrollo al aplicar estas etapas se logran
desbloquear los objetivos requeridos.

Referencias

(Startech 2022)
Startech. STARTECH UP. 31 de Marzo de 2022. https://www.startechup.com/es/blog/5-steps-of-
software-development/.

Km. 5.35 Carretera San Pedro Pochutla-Puerto Ángel, Localidad


El Colorado, C.P.70902, San Pedro Pochutla, Oaxaca, México.
Tel. 01 (958) 5878050, e-mail: [email protected]
www.tecnm.mx | www.pochutla.tecnm.mx

También podría gustarte