Está en la página 1de 10

UNIVERSIDAD DE LAS REGIONES AUTÓNOMAS

DE LA COSTA CARIBE NICARAGÜENSE


URACCAN

SYLLABUS

Ingeniería de Software II

Febrero 2023
I. DATOS GENERALES

Carrera: Ingeniería en Sistemas

Plan de Estudio: Ciencias Económicas y Administrativas

Asignatura: Ingeniería de Software II

Requisito: Ingeniería de Software I

Régimen: Cuatrimestral

Semestre/cuatrimestre: X Cuatrimestre

Modalidad: Nocturno

Frecuencia semanal: 4 horas clase

Turno: Diurno

Horas: 64 Horas (8 Horas Virtuales)

Créditos: 4

Año académico: IV Año

Docente: Hanier Steve Morales Pérez

Contacto: 8511-1445 (Claro)

Correo Electrónico: hsmp16@gmail.com


II. DESCRIPCIÓN DE LA ASIGNATURA

El programa de la asignatura Ingeniería de Software II es una disciplina que comprende


todos los aspectos para escribir un software, y la forma de crear un programa hasta
llegar a un producto de programación finalizado.

La asignatura de Ingeniería de Software II, se imparte en el X Cuatrimestre del IV Año


en la carrera de Ingeniería en Sistemas. El prerrequisito para llevar esta asignatura es
haber aprobado la asignatura de Ingeniería de Software I. Esta asignatura se imparte
con el objetivo de diseñar, implementar y construir una propuesta de un software
estándar.

Los desarrolladores muy a menudo se apresuran a terminar su trabajo rápido, debido a


la presión que sienten por parte de sus managers o de los clientes, sacrificando
muchas veces calidad del mismo. Este es un gran problema hoy en día, parte de esta
asignatura, tiene la tarea de brindarles a los estudiantes las herramientas necesarias
para analizar y diseñar buen código implementando las técnicas y estrategias
necesarias.

Tengamos presente que nuestro código en cualquier lenguaje debe ser capaz de ser
escalable. También, es extremadamente importante tener la habilidad de fácilmente
extender y refactorizar tu código. Esto se puede conseguir si la persona que está
leyendo el código es capaz de interpretarlo y así poder hacer los cambios en este. Es
por ello que en esta asignatura se abarcarán las técnicas para escribir e identificar
buen código.

La importancia del estudio de la asignatura para el estudiante de la carrera de


Ingeniería en Sistemas radica en que la Ingeniería de Software es un enfoque
sistemático del desarrollo, diseño, implementación, verificación, validación,
mantenimiento y evaluación de un producto.
III. OBJETIVOS

3.1 Objetivos Conceptuales

3.1.1 Conocer los tipos de enfoque en la escritura de software.

3.1.2 Explicar a los estudiantes las buenas técnicas para escribir código limpio.

3.1.3 Conocer el arte de programar con código limpio.


3.1.4 Aprender como identificar código correcto.
3.1.5 Aprender como implementar los principios SOLID
3.1.6 Definir y comprender la forma en que se deben organizar las clases.
3.1.7 Aprender los limites y características que deben tener una clase.
3.1.8 Reconocer la definición, beneficio y adaptación del análisis de desarrollo de
software.
3.1.9 Aprender el principio de responsabilidad única.
3.1.10 Definir los principios de aislamiento de datos.

3.2 Objetivos Procedimentales

3.2.1 Identificar la diferencia entre la forma en crear un programa individual y la forma


en que se crea un producto de programación.

3.2.2 Aprender buenas practicas para nombrar variables y funciones.

3.2.3 Aprender como identificar y escribir código correcto.

3.2.4 Aprender a comentar realmente lo que debe ser comentado.

3.2.5 Escribir programas aplicando las buenas practicas de formateo del código.

3.2.6 Utilizar un sistema de control de versiones para manejar los cambios realizados
en el proyecto
3.2.7 Diseñar e implementar soluciones informáticas que satisfagan las
especificaciones.

3.2.8 Aprender buenas practicas para manejar errores y excepciones dentro de las
aplicaciones.

3.2.9 Implementar análisis de software en base a diseño orientado a objetos.

3.2.10 Construir una propuesta de diseño.

3.2.11 Resolver problemas de aplicaciones haciendo uso de manejos de errores y


excepciones.

3.2.12 Definir el flujo normal de las aplicaciones.

3.2.13 Analizar e interpretar grandes volúmenes de datos que describen tanto sistemas
como sus componentes.

3.2.14 Diseñar y conducir experimentos para evaluar, caracterizar y modelar sistemas


informáticos.

3.2.15 Trabajar en equipo para solucionar problemas de manera colaborativa e


incentivando el trabajo multidisciplinario.

3.2.16 Realizar el diseño detallado de una aplicación software a partir de requisitos.

3.2.17 Aplicar las estrategias adecuadas para resolver problemas de programación,


tanto en gran como en baja escala.

3.3 Objetivos Actitudinales

3.3.1 Fomentar en el futuro profesional el respeto a la diversidad cultural de los


pueblos indígenas y comunidades étnicas, a su cosmovisión a su cultura, a los
derechos humanos individuales, colectivos y al proceso de autonomía de las
Regiones Autónomas de la Costa Caribe de Nicaragua.
3.3.2 Desarrollar en el futuro profesional la aplicación de los ejes transversales de
URACCAN: Interculturalidad, Género, Derechos Humanos, Emprendimiento y
desarrollo empresarial en sus labores y practicas cotidianas.

3.3.3 Concientizar el respeto hacia la información integrada como uno de los recursos
mas importantes de la empresa, institución ya sea privada o pública donde se
desempeñe el estudiante y/o futuro profesional practicando la ética.

3.4 Logros de Aprendizaje

3.4.1 Crear un software a través de buenas prácticas de código


3.4.2 Aplicar los pilares de la POO
3.4.3 Implementar metodologías de desarrollo
3.4.4 Integrar el frontend con el API
3.4.5 Manejar el procesamiento de errores
3.4.6 Mantener el software y sus nuevas características

IV. CONTENIDOS

4.1 Plan temático

No Nombre de la Unidad Tiempo asignado


Teórico. Práctica Total

I Código Limpio 4 11 15
II Implementación a partir del diseño 4 11 15
III Verificación y Validación 4 11 15
IV Mantenimiento y Evaluación 3 12 15
Evaluación 4 4
Total de Horas 64

V. ESTRATEGIAS METODOLÓGICAS
Conferencias y Videoconferencias 3
Análisis e interpretación de Información 8
Investigaciones Bibliográficas 2
Trabajos prácticos 12
Prácticas en laboratorio / línea 37
Exposiciones 2
Horas Totales 64
VI. MATERIALES O RECURSOS DIDÁCTICOS

 Syllabus
 Guías de Aprendizajes
 Smartphone
 Programas
 Planes de Clases
 Medios Audiovisuales
 Laboratorio de Cómputos
 Plataforma virtual
 Repositorio institucional

VII. EVALUACIÓN

Para la evaluación de esta asignatura, evaluaré un 50% acumulado y un 50 % de la


nota corresponderá a la entrega de una breve aplicación que resuelva un problema
cualquier haciendo uso de las buenas practicas y técnicas aprendidas en el curso para
escribir código limpio.

Cabe destacar que para el desarrollo de esta asignatura se estará haciendo uso del
campus virtual de la universidad mediante la plataforma Moodle, en donde el y la
estudiante deberá participar en los foros de discusión, subir tareas, realizar lecturas
para comprender varios conceptos nuevos y repositorio de información relacionados a
la asignatura.

Primer Parcial: 50% Acumulado y 50% Evaluación


Segundo Parcial: 60% Acumulado y 40% Evaluación

VIII. LISTA DE REFERENCIAS


Martin, R. C. (s.f.). Código Limpio - Manual de estilo limpio para el desarrollo ágil de
software.

Roger S. Pressman, Ingeniería del Software un enfoque práctico., editorial


Mc Graw Hill, 6ta. Edición.

Sebastián Gómez, E. M. (2006). Aproximación a la Ingeniería de Software. Madrid:


Universitaria Ramón Areces.

Stephen R. Schach. “Ingeniería de Software Clásica y Orientada a Objetos”,


6ta edición, Mc Graw Hill.

IX. PLAN CALENDARIO


Fecha por Objetivos Unidad y contenidos Estrategias Recursos Didácticos Evaluación
unidad (Conceptual, Metodológicas
(Período) procedimenta /Actividades
Año 2023 l, actitudinal)
09/02 Conceptuales Unidad I: Código Limpio Clases 1. Programas Participac
prácticas de 2. Planes de Clases ión
16/02 3.1.1
3.1.2 Entorno de Desarrollo laboratorio 3. Guías de
3.1.3 Aprendizaje Puntualid
3.1.4  Visual Studio Code Exposiciones 4. Medios ad
 Extensiones Audiovisuales
Procedimenta
les  Typescript Foros 5. Laboratorio de Disciplina
 Instalación Cómputos
3.2.1 Conferencias 6. Plataforma Virtual Evaluació
3.2.2  Cmder
 Postman 7. Softwares (Entornos n de
3.2.3
3.2.4 Cuestionarios de Desarrollo) trabajos
Buenas prácticas 8. Páginas Webs
Actitudinales

3.3.1  Formato
3.3.2  Estilos de escritura
3.3.3
 Nombres con Sentido

Introducción a Typescript

 Preparación del proyecto


 API’s
 Tipos y bases sobre módulos
 Tipos de datos
 Objetos e interfaces
 Tipos en arreglos
 Clases
 Métodos asíncronos

Conceptuales Unidad II: Implementación a partir del Clases 1. Programas Participac


23/02 diseño prácticas de 2. Planes de Clases ión
3.1.5
3.1.6 laboratorio 3. Guías de
02/03
3.1.7 Aprendizaje Puntualid
Bases de Datos
09/03 Procedimenta Exposiciones 4. Medios ad
les
 Estructura Audiovisuales
16/03
3.2.5  PostgreSQL o SQLite Foros 5. Laboratorio de Disciplina
3.2.6 Cómputos
3.2.7  Relaciones Conferencias 6. Plataforma Virtual Evaluació
3.2.8
7. Softwares (Entornos n de
3.2.9
3.2.10 Metodologías de Desarrollo Cuestionarios de Desarrollo) trabajos
8. Páginas Webs
Actitudinales
 Metodologías Ágiles
3.3.1  Metodologías Tradicionales
3.3.2
3.3.3
Integración con Frontend

 Conexión
 Vistas
 Componentes
 Llamados a la API

23/03 CORTE DEL PRIMER PARCIAL

30/03 Conceptuales Unidad III: Verificación y Validación Clases 1. Programas Participac


prácticas de 2. Planes de Clases ión
06/04 3.1.8
(Feriado) 3.1.9 Definición, beneficio, y adaptación laboratorio 3. Guías de
del análisis de desarrollo de Aprendizaje Puntualid
13/04 Procedimenta Software Exposiciones 4. Medios ad
les
Audiovisuales
20/04
3.2.11  Análisis estático Foros 5. Laboratorio de Disciplina
3.2.12  Análisis dinámico Cómputos
3.2.13 Conferencias 6. Plataforma Virtual Evaluació
3.2.14
Procesamiento de Errores 7. Softwares (Entornos n de
3.2.15
3.2.16 Cuestionarios de Desarrollo) trabajos
 Excepciones 8. Páginas Webs
Actitudinales
 Validaciones
3.3.1  Flujo del programa
3.3.2  Organización de clases
3.3.3
 Encapsulamiento
 Organizar cambios

27/04 Conceptuales Unidad IV: Mantenimiento y Evaluación Clases 1. Programas Participac


prácticas de 2. Planes de Clases ión
04/05
Métricas de Desarrollo laboratorio 3. Guías de
11/05 Procedimenta Aprendizaje Puntualid
les  Objetivos Exposiciones 4. Medios ad
 Taxonomía del Mantenimiento Audiovisuales
 Cuantificación del Software Foros 5. Laboratorio de Disciplina
Actitudinales Cómputos
Modelos de Evaluación Conferencias 6. Plataforma Virtual Evaluació
3.3.1
7. Softwares (Entornos n de
3.3.2
3.3.3  Métricas Cuestionarios de Desarrollo) trabajos
 Modelos de Evaluación 8. Páginas Webs
18/05 CORTE DEL SEGUNDO PARCIAL
25/05 EXAMEN ESPECIAL

Observación
Para las prácticas programadas será necesario el uso de medios y equipos
informáticos con todos sus accesorios (CPU, teclados, mouse) así como software
(sistemas operativos, lenguaje de programación). Para el caso del lenguaje de
programación en donde se estarán desarrollando las prácticas se utilizará Typescript, el
superset de Javascript. Será necesario el uso del laboratorio de informática o de
idiomas, para lo cual se estará haciendo coordinación con el responsable del mismo
para su debida planificación.

También podría gustarte