0% encontró este documento útil (0 votos)
30 vistas17 páginas

Requerimientos en Ingeniería de Software

Cargado por

Elkiin Arroyo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas17 páginas

Requerimientos en Ingeniería de Software

Cargado por

Elkiin Arroyo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

EVALUACIÓN PRACTICA

INGENIERIA DE SOFTWARE

ESTUDIANTE: ELKIN JAVIER ARROYO FIGUEROA

CÓDIGO: 2254627

T.I: 1007211109

DOCENTE: PABLO EMILIO CUENCA RIVERA

UNIVERSIDAD SANTO TOMÁS VICERRECTORÍA DE UNIVERSIDAD


ABIERTA Y A DISTANCIA

INGENIERIA EN INFORMATICA

CENTRO DE ATENCIÓN UNIVERSITARIO (CAU) MONTERIA


(MONTERIA) 10/10/ 2020
INTRODUCCIÓN
La ingeniería comprende todos aquellos procesos de forma sistemática el cual involucra los
métodos y términos en el que se deben comprender los lenguajes programáticos, los
sistemas de identificación en las materias de interdisciplinariedad que permite la
comprensión de los propósitos a implementar los sistemas complejos. Las principales
fuentes de ingeniería comprenden a su vez la aplicabilidad de las matemáticas (lenguaje
lógico) y la física de circuitos integrados a dichos sistemas que dirigen las fuerzas
dinámicas que contribuyen a la navegabilidad a sitios web en los entes de sociabilidad
conforme a la interacción interdisciplinaria.

OBJETIVOS
GENERAL:

Conocer los diferentes estándares por los cuales se rige el desarrollo del software para
desarrollar esta actividad de manera eficaz.

ESPECIFICOS

 Investigar los distintos requerimientos funcionales y no funcionales de los diversos


usuarios que quieran obtener un producto software.
 Conocer los diversos conceptos que encierra el modelo matemático COCOMO II.
 Estudiar cada concepto visto en el material principal.
 Analizar si la actividad queda interiorizada para nuestro diario vivir

ACTIVIDADES A DESARROLLAR
Actividad 1.

Una institución educativa desea implementar un sistema de información que incluya un


producto software que le permita cambiar la forma de tener contacto con sus egresados.
Entre el conglomerado de datos, los más importantes están los datos personales, familiares,
laborales y oferta de eventos académicos.

En el marco de la ingeniería de software, Ud. debe presentar una propuesta de


determinación de los requerimientos funcionales, no funcionales, de los usuarios, del
sistema y de la interfaz para los siguientes procesos que solicita el programa académico:
Consultar la información del egresado, información de la empresa y cargo que desempeña
el egresado actualmente, enviar mensajes masivos de la oferta académica de educación
continua y eventos académicos orientados a los egresados. Teniendo en cuenta este caso
simulado, cuál sería lo mejor que usted. le ofrecería a la institución educativa en el estudio
de levantamiento de requerimientos para iniciar la solicitud del producto software? En
algunos casos tendrá que tomar posición de usuario. Con su actitud investigativa podrá
complementar el planteamiento de la situación a resolver y/o complementar detalles del
problema de base descrito anteriormente.

SOLUCION

En primera instancia se debe realizar el estudio para indicar cuál es el software más
adecuado que cumpla con los objetivos que desea la institución. Lo siguiente es realizar el
análisis de los requerimientos por parte de la institución que desea que se implemente en el
desarrollo del software, para así poder definir el adecuado desempeño del producto
software en cuanto al sistema, las correspondientes funcionalidades y sus debidas
restricciones con los usuarios.

Teniendo toda la información requerida por parte de los usuarios que utilizarían nuestro
producto, se encierran los diferentes enfoques o puntos de vista que tienen los usuarios del
sistema, o que esperan que tenga el producto software, existen varios puntos de vista, el
directo, el cual lo conforman los usuarios directamente involucradas, en este caso serían
las personas de la institución, esta también el indirecto, que lo conformaría los usuarios que
no utilizarían el sistema por ellos mismos, y por último los puntos de vista de dominio que
incluyan los requerimientos y estructurado del producto software.
Con esta información obtenida, sobre los puntos de vista se escogen los más importantes y
se procede a especificar los respectivos requerimientos y luego se determina la validación
de estos mismos, para prevenir los posibles errores y durante dicha validación.

Los procesos para la validación son: verificación de validez, constancia, integridad,


realismo y verificabilidad.

De esta manera se procede a la implementación del software para esta institución, el cual va
a ser un software web diseñado bajo una base de datos robusta, esto por lo que en uns
institución se maneja bastante información, y se necesitaría contar con el espacio suficiente
para guardar la información año tras año, esta permitiría guardar toda la información de los
egresados, crear un vínculo, interfaz o conector a los correos de los egresados, y de esta
forma el sistema les notifique de todas actividades de la institución, envié mensajes
masivos de la oferta académica de educación continua y eventos académicos por parte de la
institución, también permita egresados la opción de actualización de su información sobre
la empresa en la que labora, cargo que ocupa actualmente y logros profesionales, no todos
los datos serian codificables por los egresados.

Requerimientos funcionales:

El sistema debe permitir el ingreso de la información de los egresados por el personal


encargado en la institución, permitir y visualizar la información actualizada hecho por los
egresados, actualizar los datos de los egresados.

Requerimientos no funcionales:

El sistema debe permitir ingresar a las bases de datos, ingresar en las tablas de diseño,
ingresar los formularios de diseño del sistema, ingresar a la codificación del sistema.

Mediante los siguientes diagramas como son, de caso de uso y diagrama de clase daremos
una perspectiva de su funcionamiento.
Casos de uso

Fuente: elaboración propia

Fuente: elaboración propia


Diagrama de clase

Fuente: elaboración propia

Este sería el diseño preliminar del software de la institución

Fuente: elaboración propia


Actividad 2.

En la planeación de proyectos de software es conveniente contar con un modelo


matemático que ayude a evitar el desvío sobre los objetivos planteados, proporcionando así
seguridad en el diseño del software. Para ello, existe entre otros, COCOMO II, que es la
métrica para la estimación de proyectos de software. Investigue sobre este modelo y
presente en forma resumida

SOLUCION

 Concepto básico

El Modelo Constructivo de estimación de costes (Constructive Cost Model) fue

desarrollado por B. W. Boehm a finales de los 70 y comienzos de los 80, exponiéndolo

detalladamente en su libro "Software Engineering Economics" (Prentice-Hall, 1981).

COCOMO es una jerarquía de modelos de estimación de costes software que incluye

submodelos básico, intermedio y detallado.

COCOMO II es un modelo algoritmo que permite estimar el coste, esfuerzo y tiempo

cuando se planifica una nueva actividad de desarrollo del software. Está compuesto por tres

modelos denominados: Composición de Aplicación, Diseño Temprano y Post-Arquitectura

 Composición de Aplicación: es el modelo de estimación utilizado en los proyectos

de software que se construyen a partir de componentes pre-empaquetadas.

 Modelo para Diseño Temprano (EDM) : se emplea en desarrollos de software

durante la etapa de prototipación


 Post-Arquitectura: se aplica en la etapa de desarrollo propiamente dicho, después

que se define la arquitectura del sistema, y en la etapa de mantenimiento

 Parámetros del COCOMO II

El parámetro principal para la estimación de costo es “Software Lines of Code”, La

estimación cubre únicamente un conjunto definido de fases

 Incepción

 Elaboración

 Construcción

 Transición

Incluye todos los costos directos del proyecto, pero no los indirectos

 El esfuerzo se mide en “Person-Month”; 1 PM = 19 persona-días = 152 persona -

horas

 Nombre del módulo deseado

 Número de líneas de código fuente (SLOC).

 Ecuación de COCOMO II y sus componentes

PM=NOP /PROD

Donde:

NOP (nuevos puntos Objeto): tamaño del nuevo software a desarrollar expresado en Puntos

Objeto y se calcula de la siguiente manera:

NOP= OP *-8100 -% reuso)/100.

OP (Puntos Objeto): tamaño del software a desarrollar expresado en Puntos Objeto

% reuso: porcentaje de rehúso que se espera lograr en el proyecto


PROD: es la productividad promedio determinada a partir del análisis de datos de

proyectos.

E=a ¿

D=c ¿

P=E /D

C = P* salario

Donde:

E: es el esfuerzo aplicado en personas – mes

D: es el tiempo de desarrollo en meses

KLOC: el número de líneas estimadas para el proyecto (en miles de kilos).

P: el número de personas necesarias para el proyecto.

C: costo del proyecto (p* salario medio) entre los programadores y analistas.

Los coeficientes a, b, c y d se obtienen de la siguiente tabla.

Tipo de proyecto a b c d
Orgánico 2.4 1.05 2.5 0.38
Medio 3.0 1.12 2.5 0.35
Embebido 3.6 1.20 2.5 0.32

 Concepto de Backfiring
Este método consiste en derivar el número de puntos de función de la aplicación a partir de

su tamaño físico. Se miden las líneas de código (LOC), utilizando un factor de conversión

constante dependiente del lenguaje de programación. Una vez que el cálculo de líneas de

código es hecho a través de herramientas automáticas, el número de puntos de función

podría ser derivado de inmediato. Por ejemplo, utilizando un factor de conversión de 80

LOC/PF y una aplicación con 80.000 líneas de código Java, da como resultado 1.000

puntos de función para esa misma aplicación. Por otro lado, muchos modelos de estimación

de software, como el COCOMO II, utilizan como datos de entrada el tamaño en líneas de

código. En esos casos, es común realizar el inverso: obtener el número de líneas de código

a partir del tamaño en puntos de función, debido a que en las fases iniciales de un proyecto

de software es más fácil estimar o medir su tamaño en puntos de función. Las

consideraciones anteriores sobre Backfiring también son válidas en estos casos.

 Escenario What-If

El análisis What If consiste en:

Simular resultados en función de hipótesis de variables de negocio.

Calcular valores de negocio posibles en base a drivers.

Comparar multidimensionalmente los diferentes escenarios simulados.

Es un método inductivo que utiliza información específica de un proceso para generar una

serie de preguntas que son pertinentes durante el tiempo de vida de una instalación, así

como cuando se introducen cambios al proceso o a los procedimientos de operación.


Consiste en definir tendencias, formular preguntas, desarrollar respuestas y evaluarlas,

incluyendo la más amplia gama de consecuencias posibles. No requiere métodos

cuantitativos especiales o una planeación extensiva.

El método utiliza información específica de un proceso como los DFP´s (Diagramas de

Proceso), DTI´s (Diagramas de Tubería e Instrumentación) para generar una especie de

preguntas de lista de verificación. Un equipo especial realiza una lista de planteamientos

empleando las preguntas ¿Qué pasa sí?, las cuales son contestadas colectivamente por el

grupo de trabajo y resumidas en forma tabular.

Esta técnica es ampliamente utilizada durante las etapas de diseño del proceso, así como

durante el tiempo de vida o de operación de una instalación, así mismo cuando se

introducen cambios al proceso o a los procedimientos de operación.

Ejemplo de COCOMOII.

La empresa “PARTY INGENIO” se dedica a la organización de fiestas informales a


domicilio, y le ha solicitado la realización de un sistema informático que les ayude en su
administración y control registrando en plantilla una serie de animadores, cada uno con
diferentes especialidades, que son: esculturas con globos, títeres, canciones, bailes,
imitaciones y magia. Los clientes de la empresa realizan peticiones de fiestas, que se
recogen en un formulario. Este recoge la fecha y la hora, duración, nombre y dirección, tipo
de fiesta (cumpleaños, comunión, otros), promedio de edad y cantidad de los asistentes,
número de animadores que se desean, junto con la especialidad de cada uno, así como
consideraciones especiales.

Una vez realizada la solicitud, los clientes reciben un presupuesto, si es posible realizar una
fiesta con las características indicadas. En caso de que la fiesta no se pueda realizar (por
problemas de fechas o disponibilidad de animadores), los clientes reciben una propuesta
alternativa. El cliente entonces puede confirmar el presupuesto o la propuesta recibida.

El encargado de la empresa puede consultar por un lado las características de los


animadores en plantilla, y por otro las fiestas pendientes. Además tiene que asignar
animadores a cada una de las fiestas. Los animadores por su parte, pueden realizar una
consulta con las fiestas que les han sido asignadas. Además, después de cada fiesta,
rellenarán un formulario con un parte de actividad, indicando la especialidad y la cantidad
de horas trabajadas.

Se pide:

a) Calcule razonadamente los puntos de función sin ajustar, suponiendo todos los elementos
de complejidad media.

b) Estime las líneas de código Java que tendrá la aplicación. Tenga en cuenta que SEGÚN
DATOS DE LA EMPRESA, son necesarios alrededor de 100 líneas de código por cada
Punto de Función.

c) Usando el modelo COCOMO estime el tiempo y esfuerzo necesarios para realizar la


aplicación. Nota: Para determinar cuál modo (tipo de proyecto) elegir, se sabe que todo el
personal de su empresa tiene gran experiencia en este tipo de aplicaciones.

SOLUCIÓN:
a) Calcule razonadamente los puntos de función sin ajustar, suponiendo todos los elementos
de complejidad

MEDIA.

Salidas: Presupuesto + Propuesta = 2 x 5 = 10

Entradas: Peticiones + Confirmación + Asignación de animadores + parte actividad = 4 x 4


= 16

Consultas: Características de animadores + fiestas pendientes + fiestas asignadas = 3 x 5 =


15

Ficheros lógicos internos: Personal + Fiestas = 2 x 10 = 20

Archivos externos: NO HAY.

Total: 61 PF (sin ajustar)

b) Estime las líneas de código Java que tendrá la aplicación. Tenga en cuenta que SEGÚN
DATOS DE LA EMPRESA, son necesarios alrededor de 100 líneas de código por cada
Punto de Función.

61 PF * 100 (LDC Java/ PF) = 6100 LDC Java

c) Usando el modelo COCOMO estime el tiempo y esfuerzo necesarios para realizar la


aplicación. Nota: Para determinar cuál modo (tipo de proyecto) elegir, se sabe que todo el
personal de su empresa tiene gran experiencia en este tipo de aplicaciones.

Como la empresa tiene gran experiencia y los requerimientos no tiene mayor dificultad, se
puede utilizar el modelo Orgánico. No tenemos datos sobre complejidades adicionales, o
sobre las características de nuestro equipo de desarrollo, así que usamos el COCOMO
BÁSICO:

b
E=a∗(KLDC )
d
D=c∗( E)

1.05
E=2.4∗(6.1) =2.4∗6.67723=16.02535 p−m

d 0.38
D=c∗( E) =2.5∗( 16.02535 ) =2.5∗2.86964=7.1741 meses
CONCLUSION

Esta actividad practica ha dejado un gran aporte en mis conocimientos, ya que, son
significativos e impulsan los objetivos que nos llevan a poder desarrollar las actividades de
una manera eficaz y efectiva, llevándonos al desarrollo de las mismas, permitiéndonos
aplicar los conceptos aquí aprendidos en nuestro diario vivir lo cual era uno de los objetivos
específicos.

Se debe tener en cuenta al momento de darle la correspondiente solución, realizar las


respectivas planificaciones a través de los modelos que requiere el diseño del producto,
conocer cuál sería el más adecuado a implementar es de suma importancia para que el
software presente los más mínimos errores.

Conociendo y comprendiendo la importancia de la ingeniería de software al momento del


diseño y creación de un producto software en nuestro entorno, podremos darle solución a
los casos más complejos que se nos presenten a nivel profesional o en el campo donde
laboremos más adelante.
BIBLIOGRAFIA

Pressman, R. S. (2010). Ingeniería de software. En R. S. Pressman, Ingeniería de


software. Un enfoque práctico. mexico: Séptima edición. McGraw-Hill.

Sagrera, J. C. (2013). ebookcentral. Obtenido de ebookcentral:


https://ebookcentral.proquest.com/lib/bibliotecaustasp/reader.action?
docID=3219169&query=ingenieria+de+software

También podría gustarte