Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIGRAN
INTEGRANTES: .
.
PROFESOR:
CURSO: QUINTO
ITA – PARAGUAY
2023
INDICE.
INTRODUCCIÓN...........................................................................................................................2
EL SOFTWARE Y LA INGENIERÍA DE SOFTWARE..........................................................................3
¿Quién lo hace?........................................................................................................................3
¿Por qué es importante?..........................................................................................................3
¿Cuáles son los pasos?.............................................................................................................3
¿Cuál es el producto final?.......................................................................................................3
DOMINIOS DE APLICACIÓN DEL SOFTWARE...............................................................................4
UN MODELO GENERAL DE PROCESO...........................................................................................6
EL PROCESO DEL SOFTWARE.......................................................................................................7
MODELOS DEL PROCESO..............................................................................................................7
Principios que guían el proceso................................................................................................7
EL PROCESO DE DISEÑO...............................................................................................................8
DISEÑO DE WEBAPPS..................................................................................................................8
CALIDAD DEL DISEÑO DE WEBAPPS.............................................................................................8
ADMINISTRACIÓN DE CALIDAD....................................................................................................9
¿Qué es la calidad?...................................................................................................................9
PRUEBA DE APLICACIONES WEB...............................................................................................10
CONCEPTOS DE PRUEBAS PARA APLICACIONES WEB................................................................10
Dimensiones de calidad..........................................................................................................10
Errores dentro de un entorno de webapp..............................................................................11
Estrategia de las pruebas.......................................................................................................12
Planificación de pruebas........................................................................................................13
MEJORAMIENTO DEL PROCESO DEL SOFTWARE......................................................................13
¿QUÉ ES MPS?............................................................................................................................13
Enfoques del MPS...................................................................................................................14
BIBLIOGRAFÍA............................................................................................................................16
CONCLUSIÓN.............................................................................................................................17
1
INTRODUCCIÓN
La ingeniería del software es una disciplina fundamental en el desarrollo de
aplicaciones y sistemas informáticos. Su enfoque práctico se centra en la aplicación de
principios, métodos y herramientas para garantizar la calidad y eficiencia en la
producción de software. En este sentido, el objetivo de la ingeniería del software es
establecer procesos y prácticas que permitan la creación de sistemas confiables,
seguros y fáciles de mantener.
En esta obra, exploraremos los aspectos clave de la ingeniería del software desde un
enfoque práctico. Analizaremos las etapas del ciclo de vida del desarrollo de software,
desde la especificación de requisitos hasta la entrega final, pasando por el diseño, la
implementación y las pruebas. También abordaremos temas relevantes como la
gestión de proyectos, la calidad del software y la ingeniería de requisitos.
A lo largo de este libro, los lectores encontrarán ejemplos reales y consejos prácticos
que les ayudarán a comprender y aplicar los conceptos de la ingeniería del software en
su propio trabajo.
2
EL SOFTWARE Y LA INGENIERÍA DE SOFTWARE
El software de computadora es el producto que construyen los programadores
profesionales y al que después le dan mantenimiento durante un largo tiempo. Incluye
programas que se ejecutan en una computadora de cualquier tamaño y arquitectura,
contenido que 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. La ingeniería de software
está formada por un proceso, un conjunto de métodos (prácticas) y un arreglo de
herramientas que permite a los profesionales elaborar software de cómputo de alta
calidad.
¿Quién lo hace?
Los ingenieros de software elaboran y dan mantenimiento al software, y virtualmente
cada persona lo emplea en el mundo industrializado, ya sea en forma directa o
indirecta.
3
DOMINIOS DE APLICACIÓN DEL SOFTWARE
Actualmente, hay siete grandes categorías de software de computadora que plantean
retos continuos a los ingenieros de software:
4
El diseño asistido por computadora, la simulación de sistemas y otras aplicaciones
aisladas, funciones de cómputo y contenido para el usuario final, sino que también
5
de patrones (imagen y voz), redes neurales artificiales, demostración de teoremas y
juegos.
despliegue.
6
EL PROCESO DEL SOFTWARE
Principio 1. Ser ágil. Ya sea que el modelo de proceso que se elija sea
prescriptivo o ágil, son los principios básicos del desarrollo ágil los que deben
gobernar el enfoque. Todo aspecto del trabajo que se haga debe poner el
énfasis en la economía de acción: en mantener el enfoque técnico tan sencillo
como sea posible, hacer los productos del trabajo que se generan tan concisos
como se pueda y tomar las decisiones localmente, siempre que sea posible.
Principio 2. En cada etapa, centrarse en la calidad. La condición de salida para
toda actividad, acción y tarea del proceso debe centrarse en la calidad del
producto del trabajo que se ha generado.
Principio 3. Estar listo para adaptar. El proceso no es una experiencia religiosa,
en él no hay lugar para el dogma. Cuando sea necesario, adapte su enfoque a
las restricciones impuestas por el problema, la gente y el proyecto en sí.
Principio 4. Formar un equipo eficaz. El proceso y práctica de la ingeniería de
software son importantes, pero el objetivo son las personas. Forme un equipo
con organización propia en el que haya confianza y respeto mutuos.
Principio 5. Establecer mecanismos para la comunicación y coordinación. Los
proyectos fallan porque la información importante cae en las grietas o porque
los participantes no coordinan sus esfuerzos para crear un producto final
exitoso. Éstos son aspectos de la administración que deben enfrentarse.
7
Principio 6. Administrar el cambio. El enfoque puede ser formal o informal,
pero deben establecerse mecanismos para administrar la forma en la que los
cambios se solicitan, evalúan, aprueban e implementan.
Principio 7. Evaluar el riesgo. Son muchas las cosas que pueden salir mal
cuando se desarrolla software. Es esencial establecer planes de contingencia.
Principio 8. Crear productos del trabajo que agreguen valor para otros. Sólo
genere aquellos productos del trabajo que agreguen valor para otras
actividades, acciones o tareas del proceso. Todo producto del trabajo que se
genere como parte de la práctica de ingeniería de software pasará a alguien
más. La lista de las funciones y características requeridas se dará a la persona (o
personas) que desarrollará(n) un diseño, el diseño pasará a quienes generan
código y así sucesivamente. Asegúrese de que el producto del trabajo imparte
la información necesaria sin ambigüedades u omisiones.
EL PROCESO DE DISEÑO
El diseño de software es un proceso iterativo por medio del cual se traducen los
requerimientos en un “plano” para construir el software. Al principio, el plano ilustra
una visión holística del software. Es decir, el diseño se representa en un nivel alto de
abstracción, en el que se rastrea directamente el objetivo específico del sistema y los
requerimientos más detallados de datos, funcionamiento y comportamiento. A medida
que tienen lugar las iteraciones del diseño, las mejoras posteriores conducen a niveles
menores de abstracción. Éstos también pueden rastrearse hasta los requerimientos,
pero la conexión es más sutil.
DISEÑO DE WEBAPPS
8
Toda persona que haya navegado en la red mundial o que haya utilizado una intranet
corporativa se ha formado una opinión sobre lo que constituye una “buena” webapp.
Los puntos de vista individuales varían mucho. A algunos usuarios les gustan los
gráficos brillantes, otros prefieren el texto simple, algunos más demandan mucha
información, mientras los hay que desean una presentación abreviada. A algunos les
agradan las herramientas analíticas sofisticadas o tener acceso a bases de datos y a
otros les gusta lo sencillo. En realidad, la percepción del usuario acerca de lo que es
“bueno” (y en consecuencia la aceptación o rechazo de la webapp) puede ser un
aspecto más importante que cualquier otro de índole técnica sobre la calidad de las
webapps.
Seguridad. Las webapps se han integrado mucho con bases de datos críticas,
corporativas y gubernamentales. Las aplicaciones de comercio electrónico
extraen y después almacenan información delicada para el cliente.
Disponibilidad. Aun la mejor webapp será incapaz de satisfacer las necesidades
de los usuarios si no se encuentra disponible. En sentido técnico, la
disponibilidad es la medida porcentual del tiempo que una webapp puede
utilizarse. El usuario final común espera que las webapps se hallen disponibles
las 24 horas de los 365 días del año.
Escalabilidad. ¿Una webapp y su ambiente de servidor pueden crecer para que
manejen 100, 1 000, 10 000 o 100 000 usuarios? ¿La webapp y los sistemas con
los que tiene interfaz son capaces de manejar una variación significativa del
volumen o su respuesta se desplomará (o cesará)? No basta construir una
webapp exitosa. También es importante que pueda asimilar la carga del éxito
(muchos más usuarios) y que tenga aún más éxito.
ADMINISTRACIÓN DE CALIDAD
¿Qué es la calidad?
La calidad del diseño se refiere a las características que los diseñadores especifican
para un producto. El tipo de materiales, tolerancias y especificaciones del desempeño,
todo contribuye a la calidad del diseño. Si se utilizan mejores materiales, tolerancias
9
más estrictas y se especifican mayores niveles de desempeño, la calidad del diseño de
un producto se incrementa si se fabrica de acuerdo con las especificaciones.
En el desarrollo del software, la calidad del diseño incluye el grado en el que el diseño
cumple las funciones y características especificadas en el modelo de requerimientos.
La calidad de la conformidad se centra en el grado en el que la implementación se
apega al diseño y en el que el sistema resultante cumple sus metas de requerimientos
y desempeño.
Para entender los objetivos de las pruebas dentro de un contexto de ingeniería web,
debe considerar las muchas dimensiones de calidad de la webapp.1 En el contexto de
esta discusión, se consideran las dimensiones de calidad que son particularmente
relevantes en cualquier análisis de las pruebas de la webapp. También se considera la
naturaleza de los errores que se encuentran como consecuencia de las pruebas y la
estrategia de prueba que se aplica para descubrir dichos errores.
Dimensiones de calidad
La calidad se incorpora en una aplicación web como consecuencia de un buen diseño.
Se evalúa aplicando una serie de revisiones técnicas que valoran varios elementos del
modelo de diseño y un proceso de prueba que se estudia a lo largo de este capítulo.
Tanto las revisiones como las pruebas examinan una o más de las siguientes
dimensiones de calidad [Mil00a]:
10
• El contenido se evalúa tanto en el nivel sintáctico como en el semántico. En el
primero, se valora vocabulario, puntuación y gramática para documentos basados en
texto. En el segundo, se valora la corrección (de la información presentada), la
consistencia (a través de todo el objeto de contenido y de los objetos relacionados) y la
falta de ambigüedad.
• La función se prueba para descubrir errores que indican falta de conformidad con los
requerimientos del cliente. Cada función de la webapp se valora en su corrección,
inestabilidad y conformidad general con estándares de implantación adecuados (por
ejemplo, estándares de lenguaje Java o AJAX).
11
4. Dado que las webapps residen dentro de una arquitectura cliente-servidor, los
errores pueden ser difíciles de rastrear a través de tres capas arquitectónicas: el
cliente, el servidor o la red en sí.
(capítulo 17) y aplica una estrategia y las tácticas que se recomendaron para los
sistemas
2. El modelo de interfaz se examina para garantizar que todos los casos de uso pueden
alojarse.
12
10. La webapp se prueba con una población controlada y monitoreada de usuarios
finales; los resultados de su interacción con el sistema se evalúan para detectar errores
de contenido y de navegación, preocupaciones de usabilidad y compatibilidad, y
seguridad, confiabilidad y rendimiento de la webapp.
Planificación de pruebas
El uso de la palabra planificación (en cualquier contexto) es un anatema para algunos
desarrolladores web que no planifican; sólo arrancan, con la esperanza de que surja
una webapp asesina. Un enfoque más disciplinado reconoce que la planificación
establece un mapa de ruta para todo el trabajo que va después. Vale la pena el
esfuerzo.
¿QUÉ ES MPS?
El término mejoramiento del proceso de software (MPS) implica muchas cosas.
Primero, que los elementos de un proceso de software efectivo pueden definirse en
forma efectiva; segundo, que un enfoque organizacional existente sobre el desarrollo
del software puede valorarse en contraste con dichos elementos; y tercero, que es
posible definir una estrategia de mejoramiento significativa. La estrategia MPS
transforma el enfoque existente sobre el desarrollo del software en algo que es más
enfocado, más repetible y más confiable (en términos de la calidad del producto
producido y de la oportunidad de la entrega).
13
Enfoques del MPS
Aunque una organización puede elegir un enfoque relativamente informal del MPS, la
gran mayoría elige uno de los marcos conceptuales MPS. Un marco conceptual MPS
define:
14
Calidad (Proceso) ⇒ Calidad (Producto)
15
BIBLIOGRAFÍA
16
CONCLUSIÓN
La ingeniería del software, como disciplina práctica, se ha vuelto esencial en el mundo
de la tecnología. En un entorno en constante evolución, donde los sistemas
informáticos y las aplicaciones juegan un papel crucial en nuestras vidas, es
imprescindible contar con enfoques y metodologías que nos permitan desarrollar
software confiable y de calidad.
A lo largo de este libro, hemos explorado los fundamentos de la ingeniería del software
y hemos destacado la importancia de adoptar un enfoque práctico en su aplicación.
Hemos visto cómo las diferentes etapas del ciclo de vida del desarrollo de software se
entrelazan y cómo es fundamental tener en cuenta aspectos como la gestión de
proyectos, la calidad del software y la satisfacción de los requisitos del cliente.
17