Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PORTAFOLIO DE EVIDENCIAS DE
ADMINISTRACION DE BASE DE DATOS
Contenido
¿QUÉ ES LA INGENIERÍA DE SOFTWARE?................................................................................... 3
INTRODUCCIÓN ................................................................................................................................ 3
HISTORIA................................................................................................................................................. 3
OBJETIVOS DE LA INGENIERÍA DE SOFTWARE ............................................................................. 5
CICLO DE VIDA DEL 'SOFTWARE' ..................................................................................................... 5
MODELOS DEL PROCESO DE SOFTWARE ........................................................................................ 7
MODELO EN CASCADA ........................................................................................................................ 8
INGENIERÍA DE REQUISITOS SOFTWARE ..................................................................................... 10
METODOS DE ANÁLISIS DE REQUERIMIENTOS .......................................................................... 12
TÉCNICAS PARA IDENTIFICAR REQUISITOS FUNCIONALES Y NO FUNCIONALES ............ 13
BIBLIOGRAFÍA ..................................................................................................................................... 16
INTRODUCCIÓN
HISTORIA
El concepto de ingeniería del software surgió en 1968, tras una conferencia en Garmisch
(Alemania) que tuvo como objetivo resolver los problemas de la crisis del software. El
término crisis del software se usó desde finales de 1960 hasta mediados de 1980 para
describir los frecuentes problemas que aparecían durante el proceso de desarrollo de
nuevo software. Tras la aparición de nuevo hardware basado en circuitos integrados,
comenzaron a desarrollarse sistemas y aplicaciones mucho más complejos que hasta
entonces no era posible construir puesto que el hardware disponible no lo permitía. Estos
nuevos proyectos de desarrollo de software, en la mayoría de ocasiones, no se
terminaban a tiempo, lo cual también provocaba que el presupuesto final del software
excediera de aquel que se había pactado. Algunos de estos proyectos eran tan críticos
(sistemas de control de aeropuertos, equipos para medicina, etc.) que sus implicaciones
iban más allá de las pérdidas millonarias que causaban. Además, en muchos casos el
software no daba respuesta a las verdaderas necesidades del cliente o había que ser un
usuario experto para poder utilizarlo, todo ello sumado a que el mantenimiento de los
productos era complejo y muy costoso.
Una de las primeras y más conocidas referencias a los conceptos crisis el software e
ingeniería del software fue hecha por Edsger Dijkstra, durante la presentación de 1972
titulada “The Humble Programmer” en la Association for Computing Machinery, cuando se
le hizo entrega de un Premio Turing. (Edsger Dijkstra)
Con el transcurso de los años se han desarrollado recursos que conforman la ingeniería
del software, es decir, herramientas y técnicas de especificación, diseño e implementación
del software: la programación estructurada, la programación orientada a objetos, las
herramientas CASE, la documentación, los estándares, CORBA, los servicios web, el
lenguaje UML, etc.
En combinación con las herramientas, también se han hecho esfuerzos por incorporar los
métodos formales al desarrollo de software, argumentando que si se probaba
formalmente que los productos software hacían lo que se les requería, la industria del
software sería tan predecible como lo son otras ramas de la ingeniería.
Ilustración 2 Evolución
El término ciclo de vida del software describe el desarrollo de software, desde la fase
inicial hasta la fase final. El propósito de este programa es definir las distintas fases
intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para
garantizar que el software cumpla los requisitos para la aplicación y verificación de los
procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso rectificar los errores que
se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los
errores se detecten lo antes posible y, por lo tanto, permite a los desarrolladores
concentrarse en la calidad del software, en los plazos de implementación y en los costos
asociados.
Integración: Garantiza que los diferentes módulos se integren con la aplicación. Este es
el propósito de la prueba de integración que está cuidadosamente documentada.
Prueba beta (o validación): Garantiza que el software cumple con las especificaciones
originales.
Documentación: Sirve para documentar información necesaria para los usuarios del
software y para desarrollos futuros.
Implementación.
Ilustración 3 Ciclo
Para facilitar una metodología común entre el cliente y la compañía de software, los
modelos de ciclo de vida se han actualizado para reflejar las etapas de desarrollo
involucradas y la documentación requerida, de manera que cada etapa se valide antes de
continuar con la siguiente.
La figura muestra el ciclo de vida que debe cumplir un software que da paso al tiempo de vida que este pueda
adquirir con la implementación de los modelos del proceso de la ingeniería del software.
MODELO EN CASCADA
Modelo en cascada el más conocido, está basado en el ciclo convencional de una
ingeniería, el paradigma del ciclo de vida abarca las siguientes actividades.
- Evaluación del cliente: valorización de los resultados del proyecto (producto obtenido).
El modelo en lineal secuencial es también conocido como el ciclo de vida del software,
está conformado por las etapas de Análisis de requerimientos, Diseño, Codificación y
pruebas. Cada etapa tiene dependencias de finalización y orden la una de la otra. En ese
orden de ideas no se podrá iniciar la etapa de codificación sino no se ha pasado ya por la
etapa de análisis y diseño previamente y respectivamente.
Debido a la forma en la que este proceso aborda la solución de proyectos software tiene
algunas ventajas y falencias.
-Análisis de requerimientos: en esta etapa se procede a recopilar todos los requisitos que
debe cumplir el software a desarrollar, el cliente aquí tiene un papel fundamental, ya que
analiza junto con los desarrolladores del software los requisitos que debe cumplir el
software a desarrollar.
- Pruebas: se hace una revisión de los procesos que realiza el software, para determinar
que esté haciendo lo planteado para cumplir con los requerimientos.
DESVENTAJAS:
Los proyectos reales raramente siguen el flujo secuencial que propone el modelo, siempre
hay iteraciones y se crean problemas en la aplicación del paradigma.
VENTAJA:
La ventaja de este método radica en su sencillez ya que sigue los pasos intuitivos
necesarios a la hora de desarrollar el software-
Una condición o capacidad requerida por un usuario para resolver un problema o alcanzar
un objetivo.
Una condición o capacidad que debe cumplir o poseer un sistema o componente de
sistema para satisfacer un contrato, estándar, especificación, o cualquier otro documento
impuesto formalmente.
Una representación documentada de una condición o capacidad de lo explicado en los
puntos 1 o 2.
IEEE Standard Glosary of Software Engineering Terminology. IEEE Computer Society
Press. 1990. (IEEE Computer Society Press. 1990)
libro, etc. Los requisitos funcionales deben describir también cómo responderá el sistema
ante estas distintas entradas, y su comportamiento frente a situaciones particulares.
Requisitos no funcionales: Son restricciones de los servicios del sistema o funciones que
ofrece. Ejemplo: en un software de gestión de compras de una tienda podrían ser
requisitos no funcionales un tpv para pagar con tarjeta, un PC con memoria y espacio en
disco para almacenar la base de datos de ventas, que sea capaz de atender a la vez a
varios clientes, que no tarde más de X tiempo en gestionar una venta, etc.
Requisitos de dominio: Estos requisitos reflejan características del dominio de la
aplicación. Ejemplo: la forma en la que se comunicarán distintas partes de la aplicación, el
tipo de datos con los que trabajará, etc.
Especificación: En esta fase se documentan los requisitos con mayor detalle y precisión,
de manera que sirva de base para un contrato entre el desarrollador y el cliente.
Validación: La validación es la etapa final de la IR. Su objetivo es, ratificar los requisitos,
es decir, verificar todos los requisitos que aparecen en el documento especificado para
asegurarse de que son aceptados por el cliente. Esto implica verificar que los requisitos
sean consistentes, que estén completos, que sean realistas y que puedan ser verificables.
METODO DE PRESSMAN
METODO DE CORE
Colección tabular: Esta etapa es cuando la información sobre los flujos de datos entre
los puntos de vista y el procesamiento de éstos son reunidos. Esto ayuda a establecer la
totalidad y consistencia.
Estructuración de datos: En la etapa previa, los elementos de información que pasan
entre los puntos de vista son referidos por sus nombres generales. En esta etapa, se da
una vista más cercana al contenido, a la estructura y a la derivación de datos, al producir
diagramas de estructura de datos.
Modelación individual de puntos de vista: Esta etapa puede dividirse en dos partes. Lo
único concerniente a la primera es convertir las TCF'S en una notación diferente para
producir los diagramas individuales del modelo de punto de vista. La segunda parte se
refiere a agregar alguna información nueva perteneciente a flujos de datos internos,
control de acciones y tiempo de acciones.
BIBLIOGRAFÍA
http://www.monografias.com/docs114/modelos-ingenieria-del-software/modelos-
ingenieria-del-software.shtml
https://histinf.blogs.upv.es/2010/12/28/ingenieria-del-software/
https://es.wikiversity.org/wiki/Ingenier%C3%ADa_de_requisitos_software
REFERENCIAS
IEEE Computer Society Press. 1990
(Edsger Dijkstra)