Ingeniería de Software - Experiencia de Diseño.

Una de las principales experiencias de diseño dentro de la carrera de Ingeniería de sistemas se desarrolla durante el curso de Ingeniería de Software; este curso lo toman los estudiantes generalmente después del séptimo semestre.

El proyecto en sí es una aplicación de la teoría y de las mejores prácticas en el área de Ingeniería de Software, cubriendo los temas de: Gestión de Proyectos, Ingeniería de Requerimientos, Diseño de Software y Pruebas. Paralelamente al desarrollo del proyecto, los estudiantes deben asistir a conferencias donde se presentan estos temas. El proyecto es también una aplicación de los conocimientos de los cursos anteriores, tales como: Sistemas de Información, Análisis y Diseño Orientado a Objetos, Programación Orientada a Objetos, Bases de Datos, Estructuras de Datos y, opcionalmente, Redes informáticas y, en algunos casos los Sistemas Operativos.

El problema a resolver es definido por los estudiantes, por medio de dos o tres proyectos propuestos que son revisados y aprobados por el profesor. De todos los proyectos aceptados, los estudiantes, en grupos de 5 a 7 personas, escogen uno que es el que se desarrollará durante el semestre. Sin embargo, es importante aclarar que no se espera la plena realización del proyecto; lo que realmente se espera es que de acuerdo al alcance y al proceso de análisis de requerimientos ellos sean capaces de hacer un refinamiento y comprometerse en un conjunto de funcionalidades priorizadas.

 Las principales restricciones en el proyecto son:

  • El producto debe utilizar o comunicar varias máquinas y usuarios que deben ser concurrentes.
  • El paradigma orientado a objetos debe ser utilizado para las fases de análisis, diseño e implementación.
  • El sistema debe tener un cierto nivel de persistencia de datos.
  • La complejidad debe ser tal, para un equipo de no menos de 5 personas en el lapso de tiempo de 3 a 4 meses.
  • Y por último, una bonita interfaz gráfica de usuario (lo que implica el uso de la multimedia u otros dispositivos de interacción).

 

 El proyecto del curso se compone de tres etapas separadas:

  1. La planificación del proyecto y definición inicial de alcance basado en las restricciones dadas: en esta fase se espera que los estudiantes desarrollen la visión del producto y de acuerdo con las restricciones, identifiquen los principales grupos de interés y funcionalidades del producto. Asimismo se construye un Plan de Gestión del Proyecto que incluye: asignación de funciones, gestión de calidad, gestión de riesgos, monitoreo y control de proyectos y la gestión de la configuración. Todo esto debe basarse en las siguientes normas:
  • IEEE / Norma ISO 16326: 2009 - Sistemas e ingeniería de software - los procesos del ciclo de vida - Gestión de proyectos.
  • IEEE 12207: 2008 - Sistemas e ingeniería de software -  Ciclo de vida de los
  • IEEE 16085: 2006 - Sistemas e Ingeniería de Software - Ciclo de vida de los procesos de software - Gestión de Riesgos
  • IEEE 730: 2002 - Norma para los Planes de Aseguramiento de Calidad de Software
  • IEEE 828: 2005 - Norma para los planes de gestión de configuración de software y
  • IEEE 1074: 2006 - Norma para el desarrollo de un proceso de ciclo de vida del proyecto de software. Se espera que se utilizará con el fin de justificar la toma de decisiones proceso de la etapa de planificación.

 

  1. Análisis de requerimientos y primer prototipo: en esta fase los estudiantes están obligados a mostrar evidencias de la ejecución del plan propuesto, y desarrollar una especificación de requerimientos de software (basado en IEEE / Norma ISO 29148: 2011). Asimismo, como resultado de esta fase, ellos deben refinar el alcance del proyecto y dar prioridad a los requerimientos de software. También están obligados a aplicar el requerimiento de más alta prioridad (este desarrollo debe incluir una primera aproximación de diseño del sistema y el diseño detallado de los componentes y datos).

 

  1. Diseño detallado y prototipo final: al igual que en la fase anterior, los estudiantes deben mostrar evidencias de la ejecución del plan y por medio de la priorización de los requerimientos deben mostrar el producto real y una justificación de los logros alcanzados en el diseño detallado (basado en el estándar IEEE / ISO 1016: 2009 - Norma para las descripciones de Tecnología de Información-Diseño de Sistemas- Diseño de Software) y su representación con   UML (Unified Modeling Language). Los proyectos en esta etapa son evaluados por dos profesores, que desempeñan el papel de profesores evaluadores y posibles compradores o usuarios del producto. Los estudiantes deben presentar y discutir los problemas y las soluciones que se desarrollaron durante la ejecución del proyecto; también se espera que justifiquen las funcionalidades de los productos obtenidos en relación con el alcance original usando la priorización de requerimientos.

Los estudiantes deben hacer una presentación oral de los resultados a los profesores y los posibles clientes. Esta presentación es evaluada por al menos dos profesores del Departamento, de acuerdo con las normas de la Universidad.

Los estudiantes deben hacer una presentación oral de los resultados a los profesores y los posibles clientes.

 

Ver Lista de Proyectos AQUI

____________________________________________________________________________

 (English Version)

Software Engineering - Design Experience.

During the Software Engineering course, students perform an important design activity. The students usually take this course after seven semesters. 

The project itself is an application of the theory and best practices around the Software Engineering area and covers the main topics of: project management, requirements engineering, software design, and software testing. Parallel to the development of the project, students attend lectures where these topics are presented. The project is also an application from the knowledge of previous courses, such as: Information Systems, Object Oriented Analysis and Design, Object Oriented Programming, Data Bases, Data Structures and optionally Computer Networking and in some cases Operating Systems.

The problem to be solved is defined by the students, by means of two or three proposed projects which are reviewed and approved by the professor. From all the accepted projects the students, in groups of 5 to 7 persons, choose one to be developed during the semester. However it is important to clarify that the full completion of the project is not expected; what is actually expected is that accordingly to the defined scope, and the requirement analysis process, they must be able to refine and compromise on a given set of prioritized functionalities.

 

The main restrictions on the project are:

  • The product must use or communicate multiple machines and users and they should be concurrent.
  • The Object Oriented paradigm must be used for the analysis, design and implementation phases.
  • The system must have some level of data persistence
  • The complexity must be such as to be a project that must be developed by a team of no less than 5 people in the time lapse of of 3 to 4 months
  • And finally a nice GUI (implying use of multimedia or other interaction devices).

 

The course project is composed by three separate milestones:

  1. Project planning and initial definition of Scope based on the given restrictions: in this phase students are expected to develop the Vision of the product and accordingly to the given restrictions identify the main stakeholders and functionalities of the product. Also a software Project Management Plan is constructed including issues on: role assignment, quality assurances, risk management, project monitoring and control and configuration management. All of this must be based on the following standards among others that are provided or are expected to be reviewed by the students:
  • IEEE/ISO Standard 16326:2009 - Systems and software engineering - Life cycle processes - Project management
  • IEEE 12207:2008 - Systems and software engineering ¿ Software life cycle processes
  • IEEE 16085:2006 - Systems and Software Engineering - Life Cycle Processes - Risk Management
  • IEEE 730:2002 - Standard for Software Quality Assurance Plans
  • IEEE 828:2005 - Standard for Software Configuration Management Plans and
  • IEEE 1074:2006 - Standard for Developing a Software Project Life Cycle Process, and they are expected to be used in order to justify the decision making process of the planning stage.

 

  1. Requirements Analysis and first Prototype: in this phase students are required to show evidence of the execution of the proposed plan, and develop a Software Requirements Specification (based on IEEE/ISO Standard 29148:2011). Also as a result of this phase, they will be able to refine the Scope of the project and prioritize software requirements. They are also required to implement the highest prioritized requirement (this development must include a first approximation of system design and detailed design of components and data)

 

  1. Detailed Design and final Prototype: as well as in the previous phase, students are required to show evidence of the execution of the plan and by means of the prioritized requirements show the actual product and a justification of the reached achievements in relation with a Detailed software design (based on the IEEE/ISO 1016:2009 - Standard for Information Technology-Systems Design- Software Design Descriptions) and represented using UML (Unified Modelling Language). Projects in this stage are evaluated by two professors, who play the roles of professors and potential buyers or users of the product. Students are expected to present and discuss the problems and the solutions that they developed during the execution of the project, also they are expected to justify the achieved product functionalities in relation with the original Scope using the prioritized requirements.

Students must do an oral presentation of the results to professors and possible guests. This presentation is evaluated by at least two department professors, accordingly to university regulations.

 

Students must do an oral presentation of the results to professors and possible guests.

 

See Project List HERE

Facultad de Ingeniería - Cra. 7 No. 40-62 - Edificio José Gabriel Maldonado - Tel/Fax: (571) 320 8320 Ext. 5275-5274