Programación Orientada a Objetos

Primer Tarea Actividades comunes a proyectos de software

Especificación de Requerimientos

Para resolver los problemas del cliente, primero se debe comprender los problemas, el entorno comercial del cliente y la tecnología disponible que se puede utilizar para resolver los problemas.

El proceso general puede incluir las siguientes actividades:

Análisis de dominio: comprender los antecedentes necesarios para poder entender el problema y tomar decisiones inteligentes.

Definir el problema: Determinar el problema preciso que necesita resolver.

Recopilación de requisitos: obtener todas las ideas que las personas tienen sobre lo que debe hacer el software.

Análisis de requisitos: organizar la información que se ha recopilado y tomar decisiones sobre lo que debería hacer el software.

Especificación de requisitos: Se debe escribir un conjunto preciso de instrucciones que definan lo que debe hacer el software. Estas instrucciones deben describir cómo se comporta el software desde la perspectiva del usuario, pero no se debe describir ningún detalle de la implementación.

Diseño

El diseño es el proceso de decidir cómo se deben implementar los requisitos utilizando la tecnología disponible. Entre las actividades que se deben tener en cuenta a la hora de realizar el diseño están:

■ Decidir qué requisitos deben implementarse en hardware y en software. Esto se denomina ingeniería de sistemas y normalmente solo es necesario para sistemas integrados y otros sistemas en tiempo real.

■ Decidir cómo se dividirá el software en subsistemas y cómo deben interactuar los subsistemas. Este proceso a menudo se llama arquitectura de software. Existen varias formas de estructurar software que se denominan patrones o estilos arquitectónicos.

■ Decidir cómo construir los detalles de cada subsistema. Tales detalles incluyen las estructuras de datos, clases, algoritmos y procedimientos. Este proceso a menudo se llama diseño detallado.

■ Decidir como el usuario va a interactuar con el sistema y el aspecto que va a tener el sistema

■ Decidir cómo se van a almacenar los datos en el disco, en bases de datos o en archivos.

Modelado

El modelado es el proceso de crear una representación del dominio o el software. Se pueden utilizar varios enfoques de modelado tanto en el análisis de requisitos como en el diseño. Éstos incluyen:

■ Modelado de casos de uso. Representar las secuencias de acciones realizadas por los usuarios del software.

■ Modelado estructural. Representar cosas tales como las clases y los objetos presentes en el dominio o en el software.

■ Modelado dinámico y de comportamiento. Representar cosas como los estados en los que puede estar el sistema, las actividades que puede realizar y cómo interactúan sus componentes.

El modelado se puede realizar visualmente, utilizando diagramas, o utilizando lenguajes semi-formales o formales que expresan la información de manera sistemática o matemática, en particular se utiliza un lenguaje visual llamado UML.

Programación

La programación implica la traducción de diseños de alto nivel a lenguajes de programación particulares. Las personas que limitan su trabajo a la programación (es decir, que no realizan un diseño o análisis de nivel superior) a menudo se denominan «codificadores». Uno de los objetivos de los investigadores de ingeniería de software ha sido automatizar la programación. Se han podido crear algunas herramientas que generan gran parte del código a partir de modelos representados típicamente en UML. Sin embargo, siempre habrá una necesidad de programación hecha por humanos.

Aseguramiento de la calidad

La garantía de calidad ocurre a lo largo de un proyecto e incluye muchas actividades, entre las que se incluyen las siguientes:

■ Revisiones e inspecciones. Se hacen reuniones formales organizadas para discutir los requisitos, diseños o códigos para ver si son satisfactorios.

■ Pruebas. Es el proceso de ejecución sistemática del software para ver si se comporta como se espera.

La garantía de calidad a menudo también se divide en validación, que es el proceso de determinar si los requisitos resolverán el problema del cliente, y la verificación, que es el proceso de asegurarse de que se cumplan los requisitos.

Despliegue o Deployment

La implementación implica la distribución e instalación del software y cualquier otro componente del sistema, como bases de datos, hardware especial, entre otros. También implica gestionar la transición desde cualquier sistema anterior.

La implementación de software es todas las actividades que hacen que un sistema de software esté disponible para su uso.

La implementación de una nueva versión de un sistema grande con muchos usuarios puede plantear grandes dificultades: la cantidad de trabajo a menudo se subestima.

Gestión de configuraciones de software

La gestión de la configuración implica la identificación de todos los componentes que componen un sistema de software, incluidos los archivos que contienen requisitos, diseños y código fuente. También implica realizar un seguimiento de estos a medida que cambian, y garantizar que los cambios se realicen de manera organizada.

Gestión del proceso.

El gerente debe realizar las siguientes tareas:

■ Estimación del costo del sistema. Revisar los requisitos y estimar el esfuerzo que tomara para diseñar e implementarlo.

■ Planificación. Este es el proceso de asignar trabajo a desarrolladores particulares y establecer un horario con fechas límite.

Se debe examinar y revisar periódicamente las estimaciones de costo y los planes, ya que las estimaciones iniciales solo son una aproximación y pueden variar a lo largo del proyecto.

Referencia

C. Lethbridge, T., & Laganière, R. (2005). Object-Oriented Software Engineering (2nd ed., pp. 27-54). Uk: McGraw-Hill Education.

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar