martes, 18 de agosto de 2015

Requerimientos de proyecto petshield




Relación básica de requerimientos

Nombre de la dependencia
Jefatura de sistemas
Información recopilada por
Michael Steven Gutiérrez Collazos
Responsable de la dependencia
Michael Steven Gutiérrez Collazos








Numero
Fecha
Descripción
Funcionario
1
2014
Prototipo del
videojuego
Jairo Paez , Erik varón
Michael Gutiérrez.
2
2014
Página web de autoría
Jairo Paez , Erik varón
Michael Gutiérrez.
3
2015
Recursos humanos y
tecnológicos
Jairo Paez , Erik varón
Michael Gutiérrez.
4
2015
Transpaso game maker a utity 3d
Jairo Paez , Erik varón
Michael Gutiérrez.


Análisis de requerimientos





Numero 01
Nombre del requerimiento
Prototipo del video juego
Escena : 1
Análisis de programación
Utensilio: computadora, software, licencia de
software, conexión a internet y recursos humanos.
Escena: 02
Creación de neas de neas de código incluyendo variables, condicionales entre otras.
Condiciones de entrada:
Información de requisitos del software en el que se realizara la programación. Restricciones del software.
Escenas: 03
Ejecución y control de calidad de las líneas de código.
Condicionales de salida
Primeras visualizaciones del prototipo.
Escena: 04 corrección del prototipo paulatinamente.
Transpaso de plataforma
Escena 05 ya teniendo identidad con esté ,nos desplazaremos a unity 3d
Adelantos unity 3d para finales 2015
Con investigación , procedemos a tener un prototipo en la plataforma unity 3d .





                    

¿Qué son Requerimientos?



Normalmente, un tema de la Ingeniería de Software tiene diferentes significados. De las muchas definiciones que existen para requerimiento, a continuación se presenta la definición que aparece en el glosario de la IEEE .
(1) Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo.
(2) Una condición o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estándar, especificación u otro documento formal.
(3) Una representación documentada de una condición o capacidad como en (1) o (2).

Clasificación de requerimientos

Requerimientos Funcionales: 
Estos requerimientos se utilizan para determinar que hará el Software, definiendo las relaciones de su operación y su implementación, sin olvidar que deben ser explícitos también en lo que el sistema no debe hacer y que validaciones se deben realizar, teniendo en cuenta cual será el comportamiento del sistema.
Los Requerimientos funcionales se pueden dividir en dos puntos de vista: El primero tiene relación con el usuario, donde se identifica la relación del usuario con el sistema desde el punto de vista del mismo; El segundo tiene relación con el sistema dando respuesta al usuario, es decir desde el punto de vista de lo que realiza el sistema. 
Para un desarrollador de sistemas es natural dar interpretaciones de un requerimiento ambiguo con el fin de simplificar su implementación. Sin embargo, a menudo no es lo que el cliente desea. Se tienen que estipular nuevos requerimientos y se deben hacer cambios al sistema, retrasando la entrega de éste e incrementando el costo. En principio, la especificación de requerimientos funcionales de un sistema debe estar completa y ser consistente con lo solicitado por el usuario

Requerimientos no funcionales

Estos requerimientos se basan en las restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre el proceso de desarrollo, estándares, usabilidad, portabilidad, entre otros. 
Los Requerimientos funcionales son los requerimientos que no se refieren directamente a las funciones específicas que entrega el sistema, sino a las propiedades emergentes de éste como la fiabilidad, la respuesta en el tiempo y la capacidad de almacenamiento.
Los requerimientos no funcionales surgen de la necesidad del usuario, debido a las restricciones en el presupuesto, a las herramientas utilizadas, a las políticas de la organización, a la necesidad de interoperabilidad con otros sistemas de software o hardware o a factores externos como los reglamentos de seguridad, las políticas de privacidad, etcétera.
Los dos tipos de requerimientos especificados son de gran importancia para el desarrollo de una aplicación en software, por lo tanto siempre deben ser escritos con claridad, contener la mayor especificación de las necesidades expuestas por el cliente, esto con el fin de tener un soporte base desde el cual se trabajaran y no presentar ambigüedades en la definición y el resultado del producto. La figura a continuación muestra los inconvenientes que se pueden presentar cunado no se hace una identificación correcta de los requerimientos. 


martes, 11 de agosto de 2015

Referencias

http://www.eam.edu.co/site/presentacioningenieriasoftware.php

http://proyectosguerrilla.com/blog/2013/02/las-cinco-etapas-en-la-ingenieria-del-software/

http://www.eumed.net/tesis-doctorales/2014/jlcv/software.htm

https://sites.google.com/site/metodologiareq/capitulo-iii

En que se aplica la ingeniería de software





Según Sommerville (2005), para muchas personas el software son solo programas de computadora, sin embargo nos comenta que son todos aquellos documentos asociados a la configuración de datos que se necesitan para hacer que estos programas operen de manera adecuada. Estos productos de software se desarrollan para algún cliente en particular o para un mercado en general. Para el diseño y desarrollo de proyectos de software se aplican metodologías, modelos y técnicas que permiten resolver los problemas. En los años 50 no existían metodologías de desarrollo, el desarrollo estaba a cargo de los propios programadores. De ahí la importancia de contar con analistas y diseñadores que permitieran un análisis 








Fases de la ingeniería de software


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).
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 a nuevos requisitos).



¿Que es ingeniería del software?



La Ingeniería de Software es la rama de la ingeniería que crea y mantiene las aplicaciones de software, utilizando tecnologías, métodos y prácticas de las ciencias computacionales para desarrollar software de calidad. La Ingeniería de Software forma profesionales para la creación de aplicativos informáticos que den solución a problemas de información y automatización, mediante la gestión, desarrollo, operación, mantenimiento, adquisición, utilización-reutilización de servicios y productos de software en general. Para la creación de software, el ingeniero genera modelos sistémicos aplicando métodos, herramientas y técnicas computacionales que le permiten construir paquetes informáticos de acuerdo con los requerimientos y necesidades de los clientes en los diferentes contextos nacional e internacional.