• No se han encontrado resultados

4 horas semanales 64 horas semestral. Suficientable

N/A
N/A
Protected

Academic year: 2021

Share "4 horas semanales 64 horas semestral. Suficientable"

Copied!
7
0
0

Texto completo

(1)

IDENTIFICACIÓN

NOMBRE ESCUELA

ESCUELA DE INGENIERIA

NOMBRE DEPARTAMENTO

Informática Y Sistemas

ÁREA DE CONOCIMIENTO

INGENIERIA DE SISTEMAS, TELEMATICA Y

AFINES

NOMBRE ASIGNATURA EN ESPAÑOL INGENIERÍA DE SOFTWARE

NOMBRE ASIGNATURA EN INGLÉS

SOFTWARE ENGINEERING

CÓDIGO

ST0250

SEMESTRE DE UBICACIÓN

20172

INTENSIDAD HORARIA SEMANAL

4 horas semanales

INTENSIDAD HORARIA SEMESTRAL

64 horas semestral

CRÉDITOS

4

CARACTERÍSTICAS

Suficientable

2. JUSTIFICACIÓN DEL CURSO

El curso está fuertemente enfocado al uso de ingeniería para el desarrollo de software, siendo esta una de las fortalezas más importantes que deberá desarrollar y posteriormente distinguiría a un egresado de Ingeniería de Sistemas de la Universidad EAFIT. En este contexto, el curso está direccionado a proveer los lineamientos, estándares y técnicas para proponer soluciones de software de complejidad mediana. El curso enfatiza en el desarrollo de competencias que le permitan al estudiante estar en capacidad de proponer: la definición, construcción y puesta en marcha de soluciones de software bajo los lineamientos de calidad, oportunidad y costos

p r o p u e s t o s p o r l a i n g e n i e r í a d e s o f t w a r e .

La pertinencia del curso está fundamentada en el hecho de proporcionar un espacio para que el estudiante conozca, entienda y aplique las prácticas fundamentales de la ingeniería de software. Para mencionar algunas: Ingeniería de Requisitos, Procesos de Desarrollo de Software, Modelamiento del Sistema, Principios de Diseño, Patrones de Diseño, Diseño de Arquitectura y Calidad, entre otros que deberán ser abordados en el

c u r s o .

Esta asignatura está ubicada en el cuarto semestre de la carrera Ingeniería de Sistemas como una materia de fundamentación, la cual propone que el estudiante estructure, profundice y use el concepto de ingeniería de software como ese un

enfoque sistemático y disciplinado para el desarrollo de software.

El Ingeniero de Sistemas egresado de EAFIT deberá estar en capacidad de aplicar principios y prácticas de ingeniería para la creación, operación y mantenimiento del

(2)

S o f t w a r e , P r o y e c t o I n t e g r a d o r 1 y 2 .

3. PROPÓSITO U OBJETIVO GENERAL DEL CURSO 3.1. OBJETIVO GENERAL:

Comprender los principios y prácticas propuestas por la Ingeniería de Software para la creación, operación y mantenimiento de software y asi usar un enfoque sistemático y disciplinado para el desarrollo del mismo.

3.2. OBJETIVOS ESPECÍFICOS:

Al finalizar el curso, el estudiante estará en capacidad de:

-Adquirir habilidades básicas para la aplicación de un enfoque ágil para el desarrollo

d e s o f t w a r e .

-Adquirir habilidades para la especificación de los requisitos de software. -Realizar el diseño estatico y dinamico de un sistema de software de complejidad

mediana utilizando diversos diagramas provistos por UML.

-Reconocer la importancia de la arquitectura como estrategia de diseño de alto

n i v e l .

-Representar a través de requisitos y diagramas de UML una solución a ser i m p l e m e n t a d a .

- C o m p r e n d e r l o s p r i n c i p i o s d e d i s e ñ o ( D O O ) . -Adquirir habilidades en el uso de patrones de diseño dada una solución de software

a i m p l e m e n t a r .

-Comprender los conceptos de diseño de una arquitectura para una solución de

s o f t w a r e d a d a .

-Conocer procesos y modelos de desarrollo, entre ellos: RUP, SCRUM, Marcos

Á g i l e s , T D D , B D D , D D C y o t r o s .

-Comprender los conceptos básicos de líneas de producto y fábricas de software. -Conocer los conceptos de calidad de software.

4. COMPETENCIAS BÁSICAS QUE EL ALUMNO ESTARÁ EN CONDICIONES DE LOGRAR: Conocimientos (Saber) - C o n t e x t o d e l a i n g e n i e r í a d e s o f t w a r e . - I n g e n i e r í a d e R e q u i s i t o s . - M o d e l a m i e n t o d e l S i s t e m a - P r i n c i p i o s d e D i s e ñ o . - P a t r o n e s d e d i s e ñ o d e s o f t w a r e - A r q u i t e c t u r a d e l a a p l i c a c i ó n

-Procesos y modelos de desarrollo de software Destrezas y habilidades (Saber hacer)

(3)

-Saber porqué es importante la ingeniería en el contexto del desarrollo de software. -Saber que los requisitos son el elemento base para el desarrollo de cualquier solución

d e s o f t w a r e .

-Saber la importancia del modelado para la representación de una solución de software. Comprender la importancia de establecer los límites del sistema, modelar su contexto, comprender los conceptos de modelado del comportamiento y de los objetos. -Saber de la importancia de los principios de diseño OO y el impacto que este puede

tener en el desarrollo de soluciones de software.

-Saber que los patrones de diseño resuelven problemas comunes en el desarrollo de s o f t w a r e .

-Reconocer la importancia de la definición de una arquitectura para una solución de s o f t w a r e .

-A nivel intermedio identificar que el desarrollo de software debe estar dirigido por un plan.

Actitudes (Ser)

-(CDIO 2.4.4 Pensamiento Crítico) Revisar para interiorizar conceptos previos sobre

i n g e n i e r í a d e s o f t w a r e .

-(CDIO 4.3.1 Definir requisitos y metas del sistema) Ser capaz de usar la ingeniería de requisitos para elicitar, analizar y modelar requisitos de un sistema. -(CDIO 4.3.3 Desarrollar modelos del sistema que permitan evaluación) Ser capaz realizar modelos estáticos y dinámicos de un sistema de software de complejidad m e d i a n a u s a n d o d i a g r a m a s p r o v i s t o s p o r U M L . -(CDIO 4.4.4 Diseño disciplinario) Ser capaz diseñar e implementar soluciones p r o v i s t a s c o n l o s p r i n c i p i o s d e d i s e ñ o O O . -(CDIO 4.4.3 Utilización del conocimiento técnico en el diseño) Saber aplicar en el d e s a r r o l l o d e s o f t w a r e p a t r o n e s d e d i s e ñ o . -(CDIO 4.3.2 Definir funciones, conceptos y arquitectura del sistema) Definir arquitecturas para soluciones de software de complejidad media como una estrategia

d e d i s e ñ o d e a l t o n i v e l .

-(CDIO 2.5.2 Comportamiento profesional) Ser consciente de planear el desarrollo del s o f t w a r e .

Otros

(CDIO 3.1.5 Capacidad de trabajar en distintos tipos de equipos y colaborar t é c n i c a m e n t e )

T r a b a j o e n e q u i p o

(CDIO 3.2.3 Capacidad de comunicación escrita efectiva)

R e d a c c i ó n d e i n f o r m e s d e l e c t u r a y t r a b a j o s .

3. (CDIO 3.3.1 Capacidad de comunicarse en forma oral)

Lectura y análisis de artículos de interés.

(4)

5.1. Módulo 1. Contexto de la Ingeniería de Software

I n t r o d u c c i ó n a l a I n g e n i e r í a d e S o f t w a r e

Principios de Ingeniería de Software 5.2. Módulo 2. Ingeniería de Requisitos

Definición de ingeniería de requisitos y su contexto en el desarrollo de software

E l i c i t a c i ó n d e R e q u i s i t o s

A n á l i s i s d e r e q u i s i t o s

M o d e l a d o d e r e q u i s i t o s

5.3. Módulo 3. Modelamiento de Sistema

M o d e l a d o c o n U M L

R e l a c i ó n d e l m o d e l a d o c o n l o s r e q u i s i t o s

Representación de una solución de software a través del modelado 5.4. Módulo 4. Principios de Diseño de Software

D i s e ñ o O r i e n t a d o a O b j e t o s

Principios de diseño (S.O.L.I.D, GRASP y otros)

C l e a n C o d e

Aplicabilidad de los principios de diseño 5.5. Módulo 5. Patrones de Diseño de Software

D e f i n i c i ó n d e p a t r ó n d e d i s e ñ o

T i p o s y c l a s i f i c a c i o n e s d e p a t r o n e s

A p l i c a b i l i d a d d e l o s p a t r o n e s d e d i s e ñ o

5.6. Módulo 6. Diseño de alto nivel

C o n s i d e r a c i o n e s b á s i c a s d e a r q u i t e c t u r a

T i p o s d e a r q u i t e c t u r a s

D e f i n i c i ó n d e l i n e a m i e n t o s d e a r q u i t e c t u r a M o d e l a d o y d o c u m e n t a c i ó n d e l a a r q u i t e c t u r a 5.7. Módulo 7. Procesos y modelos de desarrollo de Software

Elementos del proceso de desarrollo de software

M o d e l o s d e c i c l o d e v i d a

Metodologías, métodos y marcos de trabajo (RUP, Ágiles, TDD, BDD, DDC) 6. ESTRATEGIAS METODOLÓGICAS Y DIDÁCTICAS:

(5)

El curso de Ingeniería de Software se desarrolla implementando un esquema teórico

p r á c t i c o , a s í :

En las sesiones teóricas, se exponen los fundamentos y conceptos que requiere el estudiante para su posterior aplicación. Se realiza de forma magistral con ayudas

didácticas de la sala, tablero, computador, videos, entre otros.

El curso de Ingeniería de Software se apoya del curso Proyecto Integrador 1 (PI1) para aplicar los conceptos aprendidos. Los entregables relacionados con el curso son una versión inicial del trabajo a refinar y entregar en PI1.

7. RECURSOS 7.1. Locativos

El curso se dicta en un aula tradicional, en ella se hacen las exposiciones de los temas y se proponen las actividades a realizar.

7.2. Tecnológicos

El curso utiliza recursos tecnológicos dispuestos en el aula, además de recursos

licenciados por la Universidad y libres en Internet.

Además se cuenta con el Data Center Académico del Departamento de Ingeniería de Sistemas, para obtener todos los recursos computacionales y de almacenamiento para realizar las diferentes actividades de enseñanza-aprendizaje. 7.3. Didácticos

Además de la infraestructura de computación, se cuenta con materiales didácticos para diversas actividades que acompañan los temas propuestos en el curso.

8. CRITERIOS Y POLÍTICAS DE SEGUIMIENTO Y EVALUACIÓN ACADÉMICA

Los criterios, políticas y evaluación del curso están centradas en las competencias del Saber Hacer, en el cual el estudiante demuestra sus conocimientos adquiridos mediante la aplicación en contexto de las diferentes situaciones que se plantean para

c a d a u n o d e l o s t ó p i c o s o t e m a s d e l c u r s o .

La evaluación está centrada en la verificación de las habilidades y destrezas adquiridas durante el curso en el desarrollo de talleres, prácticas, evaluaciones parciales y finales,

y e l d e s a r r o l l o d e u n t r a b a j o f i n a l .

Se plantea el siguiente esquema de evaluación:

-Evaluación parcial modelado de sistema, se le propone al estudiante un problema para analizar y desarrollar, así: se debe demostrar el entendimiento del problema,

(6)

y desarrollar, así: se debe desarrollar el modelado de alto nivel. -Evaluación parcial metodologías de desarrollo, se propone al estudiante una serie de casos de los cuales el estudiante debe identificar las metodologías apropiadas para

d e s a r r o l l a r e l p r o d u c t o .

-Un taller sobre Modelado del Sistema. En esta actividad se le propone al estudiante desarrollar un conjunto de modelos UML relacionado con la solución propuesta en PI1. -Taller Arquitectura. En esta actividad se le propone al estudiante justificar y modelar la arquitectura de software relacionada con la solución propuesta en PI1. -Exposición/taller sobre principios de diseño, en esta exposición se busca que el estudiante muestre se familiarice con los principios de diseño que posteriormente serán

u s a d o s e n s u s d e s a r r o l l o s .

-Exposición/taller sobre patrones diseño. En esta actividad se le propone al estudiante con el grupo asignado en PI1 implementar dos patrones de diseño y realizar una exposición para mostrar los patrones y justificar su implementación.

9. BIBLIOGRAFIA GENERAL Descripción

-Meyer Betrand. (1999). Construcción de software orientado a objetos. Prentice Hall.

S e g u n d a e d i c i ó n .

-Sommerville, Ian (2011). Ingeniería de Software; Novena edición. Pearson Educación,

M é x i c o .

-Minna Pikkarainen, Wim Codenie and Others. The Art of Software Innovation.Springer

2 0 1 1 .

-Pressman Roger S and Maxim Bruce R. Software Engineering a Practitioner's

Approach. McGrawHill Education. Eighth Edition. 2015.

-Martin, R. C. (2009). Clean code: a handbook of agile software craftsmanship. Pearson E d u c a t i o n .

-Larman, Craig, and U. M. L. Applying. "Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development." (2004).

10. NOMBRE DEL PROFESOR COORDINADOR DE MATERIA Y NOMBRE DE PROFESORES DE LA MATERIA QUE PARTICIPARON EN LA ELABORACIÓN.

11. REQUISITOS DEL PROCESOS DE ASEGURAMIENTO DE LA CALIDAD Versión número: 1,0 Fecha elaboración: 2017/05/12 Fecha actualización: 2017/05/12

(7)

Aprobación:

Referencias

Documento similar

Se concluye que los lineamientos de diseño de las estrategias de integración social que condicionan el diseño arquitectónico de espacios gastronómicos-culturales en la ciudad de

La presente investigación se realizó con la finalidad de proponer el diseño de un Hogar de Refugio Temporal para mujeres víctimas de violencia familiar en la ciudad de Trujillo,

Con el estudio de las diversas herramientas, tecnologías, patrones de arquitectura y diseño que organizan el desarrollo del sistema y haciendo uso de un lenguaje de

la protección civil y la ingeniería de software, aunque son dos temas muy diferentes, el objetivo de este trabajo es integrar la información, la problemática, pero sobre todo

Diseño, Bienes, Inventario, Patrones, Arquitectura, Métricas de calidad, Modelo de diseño, Sistema, Módulo, Diagrama, Caso de Uso, Herencia, Agregación,

 Realizar un estudio del estado del arte sobre la ingeniería de requisitos, el diseño, así como las metodologías de desarrollo de software, herramientas,

La metodología del trabajo es analítico-sintético, para el cual previamente se recopiló los datos en el campo y la información documental, mediante los cuales analicé el

En conclusión, se escoge como tema de estudio el diseño de un centro de rehabilitación y terapia física, basado en los patrones de diseño biofílico: jardines