Академический Документы
Профессиональный Документы
Культура Документы
S. E. C.
SEMESTRE
GRUPO
1
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
S. E. C.
INSTRUCTIVO DE PRACTICAS
LICENCIATURA EN INFORMATICA
INGENIERIA DE SOFTWARE
SISTEMAS OPERATIVOS
Semestre V
AUTOR(ES)
INGENIERIA DE SOFTWARE
L.I. ELIZABETH RODRÍGUEZ GUZMÁN
SISTEMAS OPERATIVOS
ING. RICARDO CARRERA HERNANDEZ
2
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
3
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
INDICE
Práctica No. Nombre Página
Ingeniería de Software
1 Aplicaciones de Software 5
4 Estimación de Costos 16
8 Diseño de Datos 30
Sistemas Operativos
Créditos 46
4
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
INGENIERIA DE SOFTWARE
PRACTICA 1
APLICACIONES DE SOFTWARE
OBJETIVO
El alumno debe ser capaz de clasificar las categorías genéricas del software.
DESCRIPCIÓN BASICA
5
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
Software de Inteligencia Artificial. Hace uso de algoritmos no numéricos para resolver problemas
complejos que no son adecuados para el calculo o análisis directo. Actualmente, el área más
activa de la I.A. es la de los sistemas expertos; otras áreas para ese software es el reconocimiento
de patrones (imágenes y voces), prueba de teoremas y juegos.
MATERIAL Y EQUIPO.
1 Libreta
1 Lápiz
1 Bolígrafo
- Material bibliográfico y revistas
1 Computadora (buscar por Internet)
DESARROLLO DE LA PRACTICA:
1.- Investigar en revistas y diferentes locales donde se vende software los nombres y características
de software disponible; así como el navegar en Internet para buscar los diferentes tipos de
software y tener más información sobre los mismos.
2.- Una vez recolectada la información. Dentro del salón de clases, relacionar a que clasificación del
software corresponden los nombres que investigaron y por que.
3.- Llenar la tabla 1 en base a la información encontrada.
Tabla 1
6
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
ESQUEMAS
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
7
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PREEMAN, Roger S.; Ingeniería de Software. Un enfoque práctico. Editorial Mc Graw Hill, España,
1994
Revistas PC Magazine, Byte, PC Computing
8
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 2
OBJETIVO
El alumno debe ser capaz de escoger y aplicar correctamente los paradigmas de la Ingeniería
de Software en el desarrollo de un software.
DESCRIPCIÓN BASICA
La Ingeniería de Software está compuesta de pasos que abarcan los métodos, herramientas y
procedimientos para el desarrollo del Software. Estos pasos se denominan frecuentemente
“Paradigmas de la Ingeniería de Software”. Un paradigma para la Ingeniería de Software se elige
basándose en la naturaleza del proyecto y de la aplicación, los métodos y herramientas a usar y los
controles y entregas requeridos. Se han tratado ampliamente los paradigmas que se describen a
continuación:
Ciclo de vida clásico: llamado “el modelo de cascada”, exige un enfoque sistemático, secuencial,
del desarrollo del Software que comienza en el nivel de sistemas y progresa a través del análisis,
diseño, codificación, prueba y mantenimiento. Este paradigma abarca las siguientes actividades:
• Ingeniería y análisis de sistemas
• Análisis de los requerimientos de software
• Codificación
• Prueba
• Mantenimiento
Construcción de prototipos: generalmente un cliente definirá un conjunto de objetivos generales
para el software, pero no identificará los requerimientos detallados de entrada, procedimientos o
salida. En algunas ocasiones el programador no puede estar seguro de la eficiencia de un
algoritmo, la adaptabilidad de un sistema operativo o la forma en que debe realizarse la
interacción hombre máquina. En estas y otras muchas situaciones, puede ser mejor método de
Ingeniería de Software realizar un prototipo.
• Recolección de requerimientos
• “Diseño rápido”
• Construcción de prototipo
• Evaluar y refinar los requerimientos
Técnicas de cuarta generación (T4G): se orientan hacia la habilidad de especificar software a un
nivel que sea más próximo al lenguaje natural o en una notación que proporcione funciones
significativas.
Un entorno para el desarrollo del software que soporte el paradigma T4G incluye algunas o todas
las siguientes herramientas: lenguajes procedimentales para consulta a la base de datos,
generación de informes, manipulación de datos, interacción y definición de pantallas y generación
de códigos; capacidades gráficas de alto nivel y capacidad de hoja de cálculo. Este paradigma
abarca las siguientes actividades:
• Recolección de requerimientos
• Estrategia de “diseño”
• Implementación usando L4G
• Producto
9
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
MATERIAL Y EQUIPO
1 Lápiz
1 Bolígrafo
Hojas blanca o libreta
Material bibliográfico
DESARROLLO DE LA PRACTICA
1.- Tomando como base la información proporcionada por parte del negocio o empresa que tenga
software implantado (para ver cual software utilizan), el alumno debe anotar e identificar cual de
los paradigmas de software utiliza la empresa o negocio para poder familiarizarse y
posteriormente poder desarrollar un software.
2.- Contestar lo siguiente y darlo a conocer en clases una vez analizado lo anterior.
1. Nombre de la Empresa o Negocio
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
10
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
ESQUEMAS
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
11
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PREEMAN, Roger S.; Ingeniería de Software. Un enfoque práctico. Editorial Mc Graw Hill, España,
1994.
12
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 3
OBJETIVO
DESARROLLO DE LA PRACTICA
La medición. La medición permite que los gestores y profesionales mejoren el proceso del
software: ayudan en la planificación, seguimiento y control de un proyecto de software; y evalúan
la calidad del producto (software) que se produce. Las mediciones de los atributos específicos del
proceso, del proyecto y del producto se utilizan para calcular las métricas del software. Estas
métricas pueden analizarse para proporcionar indicadores que guían acciones de gestión y
técnicas.
La métrica del proceso. La métrica del proceso permite que una organización tome una visión
estratégica proporcionando mayor profundidad de la efectividad de un proceso de software. Las
métricas del proyecto son tácticas. Estas permiten que un gestor de proyectos adapte el enfoque
a los flujos de trabajo del proyecto y a proyectos técnicos en el tiempo real.
La métrica orientada al tamaño y función. Las métricas orientadas tanto al tamaño como a la
función se utilizan en toda la industria. Las métricas orientadas al tamaño hace uso de la línea de
código como factor estandarizador de otras medidas, como persona-mes o defectos. El punto de
función proviene de las medidas de dominio de información y de una evaluación subjetiva de la
complejidad del problema.
Las métricas de calidad de software, como la métricas de productividad se encuentran en el
proceso, tanto en el proyecto como en el producto. Desarrollando y analizando una línea base de
métrica de calidad, una organización puede actuar como objeto de corregir esas áreas del proceso del
software que es la causa de los defectos del software.
La medición produce cambios culturales. La recopilación de datos, el cálculo de métricas y la
evaluación de métricas son tres pasos que deben implementarse al comenzar un programa de
métrica.
MATERIAL Y EQUIPO
1 Libreta
1 Lápiz
1 Bolígrafo
Material bibliográfico y revistas
13
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
DESARROLLO DE LA PRACTICA
ESQUEMAS
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
14
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PREEMAN, Roger S.; Ingeniería de Software. Un enfoque práctico. Editorial Mc Graw Hill, 4ª edición
España, 1998
FAIRLEY, Richard; Ingeniería de Software. Editorial Mc Graw Hill, 1ª edición, 1998
15
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 4
ESTIMACION DE COSTOS
OBJETIVO
Al termino de esta practica el alumno debe tener una idea general de la importancia que tiene
la planeación adecuada de la estimación de costo de un proyecto de software como una fase para
definir los objetivos, necesidades y restricciones, y ser capaz de aplicar su propio proyecto.
DESCRIPCION BASICA
Estimación del proyecto del software. La estimación del costo del software nunca será una ciencia
exacta. Son demasiadas las variables-humanas, técnicas de entorno, políticas que pueden afectar
al costo final del software y al esfuerzo aplicado para desarrollarlo. Sin embargo, la estimación del
proyecto de software puede dejar de ser un oscuro arte para convertirse en una serie de pasos
sistemáticos que proporcionen estimaciones con un grado de riesgo aceptable.
El planificador de proyecto de software tiene que estimar tres cosas antes de que
comience el proyecto: cuánto durará, cuánto esfuerzo requerirá y cuánta gente estaría implicada.
Además el planificador debe predecir los recursos (de hardware y de software) que va requerir, y
el riesgo implicado.
El enunciado de ámbito ayuda a desarrollar estimaciones mediante una o varias de las
técnicas siguientes: descomposición, modelos empíricos y herramientas automáticas. Las
técnicas de descomposición requieren un esbozo de las principales funciones del software,
seguido de estimaciones del numero de LDC (Líneas de Código) o del PF (Punto de Función), o
del número de personas-mes requeridas para implementar cada funcion.
MATERIAL Y EQUIPO
1 Libreta
1 Lápiz
1 Bolígrafo
16
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
DESARROLLO DE LA PRACTICA
1.- Presentar un sistema ya implantado (por ejemplo uno de ventas, control escolar)
2.- Dar a conocer:
• PF
• LDC
• Personas –mes, y
• Utilizar el modelo COCOMO (modelo básico)
E=ab KLDCbb
D=cb Edb
N= E/D
Donde:
E = Esfuerzo persona/mes
D = Tiempo de desarrollo en meses
KLDC = El número estimado de líneas de código distribuidas (en miles)
ab = Coeficientes (obtenidos de la parte orgánica, semiacoplado, empotrado)
ESQUEMAS
17
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PRACTICA 5
OBJETIVO
DESCRIPCION BASICA
Para el éxito de un desarrollo de software es esencial una comprensión total de los requisitos de
software. No importa lo bien diseñado y codificado que esté el programa si no se ha analizado
correctamente, pues defraudará al usuario y frustrará al desarrollador.
La tarea del análisis es un proceso de descubrimientos, refinamiento, modelado y especificación.
Se refina en detalle el ámbito del software, inicialmente establecido por el ingeniero de sistemas y
refinado durante la planificación temporal del proyecto de software. Se crean modelos de los
requisitos de datos, flujo de información y control, y del comportamiento operativo. Se analizan
soluciones alternativas y se asignan a diferentes elementos del software.
El análisis y la especificación de requisitos puede parecer un área relativamente sencilla, pero las
apariencias engañan. El contenido de comunicación es muy denso. Abundan las ocasiones para
las malas interpretaciones o falta de información. Es muy probable que haya ambigüedad.
Análisis de requisitos, es una tarea de ingeniería del software que cubre el hueco entre la
definición del software a nivel sistema y el diseño del software. El análisis de requisitos permite al
ingeniero de sistemas especificar la función y el rendimiento del software indica la interfaz del
software con otros elementos del sistema y establece las restricciones que debe cumplir el
software. El análisis de requisitos de software puede dividirse en cinco áreas de esfuerzo:
(1) Reconocimiento del problema
(2) Evaluación y síntesis
(3) Modelado
(4) Especificación y
(5) Revisión
Técnicas de comunicación. El análisis de requisitos del software siempre empieza con la
comunicación entre dos o más partes. Un usuario tiene un problema que pretende sea resuelto
con una solución basada en computadora.
Cada método de análisis tiene su propio punto de vista. Sin embargo todos los métodos de
análisis se relacionan por un conjunto de principios operativos:
1. Debe representarse y entenderse el dominio de información de un problema.
2. Deben definirse las funciones que debe realizar el software.
3. Debe representarse el comportamiento del software (como consecuencia de acontecimientos
externos).
4. Deben dividirse los modelos que representan información, función y comportamiento de
manera que se descubran los detalles por capas (o jerárquicamente).
5. El proceso de análisis debe ir desde información esencial hasta el detalle de implementación.
19
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
MATERIAL Y EQUIPO
1 Libreta
1 Lápiz
1 Bolígrafo
DESARROLLO DE LA PRACTICA
ESQUEMAS
20
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
21
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 6
OBJETIVO
DESCRIPCIÓN BASICA
22
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
Tabla 1
MATERIAL Y EQUIPO
1 Libreta
1 Lápiz
1 Lapicero
1 Equipo de cómputo con procesador 586 en adelante
DESARROLLO DE LA PRACTICA
23
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
ESQUEMAS
24
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PREEMAN, Roger S.; Ingeniería de Software. Un enfoque práctico. Editorial Mc Graw Hill, 4ª edición
España, 1998
25
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 7
OBJETIVO
El alumno debe investigar y aplicar los métodos de diseño para el desarrollo de software, así
como aplicar el proceso adecuado para la elaboración de su software.
DESCRIPCIÓN BASICA
Diseño e Ingeniería de Software. El diseño de software se sitúa en el núcleo técnico del proceso
de ingeniería de software y se aplica independientemente del paradigma de desarrollo utilizado.
Suponiendo que se hayan analizado y especificado los requisitos del software, el diseño
del software es la primera de las tres actividades técnicas –diseño, codificación y prueba-
necesarias para construir y verificar el software. Cada actividad transforma la información de
manera que se obtenga finalmente un software válido.
Cada uno de los elementos del modelo de análisis proporciona información necesaria para
crear un modelo de diseño. Los requerimientos del software, por los datos y modelo funcional y de
comportamiento, componen la fase de diseño. Mediante el empleo de uno de los métodos de
diseño, la fase de diseño produce un diseño de datos, un diseño arquitectónico, un diseño de
interfaz y un diseño procedimental.
Durante el diseño tomamos decisiones que afectarán al éxito de la construcción del
software, e igualmente importante, la facilidad con la que se podrá mantener. Pero ¿por qué es
tan importante el diseño?
La importancia del diseño del software se puede decir con una sola palabra: calidad. El
diseño es el lugar donde se fomenta la calidad en el desarrollo de software. El diseño nos
proporciona representaciones del software en las que puede valorar la calidad. El diseño es la
única manera de traducir con precisión los requerimientos del cliente en un sistema o producto de
software. El diseño del software sirve como fundamento para todas las fases posteriores de
ingeniería y mantenimiento de software. Sin el diseño, nos arriesgamos a construir un sistema
inestable, que fallará en cuanto se le hagan pequeños cambios; que puede ser difícil de probar;
uno cuya calidad no se puede valorar hasta bien avanzado el proceso del software, cuando quede
poco tiempo y se haya invertido ya mucho dinero.
Proceso de Diseño
Proceso de Diseño. El diseño del software es un proceso interactivo a través del cual se traducen
los requisitos en una representación del software. Inicialmente, el anteproyecto muestra una
visión holística del software. Es decir, el diseño se presenta en un alto nivel de abstracción, un
nivel que se puede seguir hasta requisitos específicos de datos, funcionales y de comportamiento.
A medida que ocurren interacciones del diseño, el refinamiento subsiguiente lleva a
representaciones del diseño de mucho menor nivel de abstracción. Estos todavía pueden ser
seguidos hasta los requisitos, pero la conexión es mucho más sutil.
26
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
Diseño y Calidad de Software. A lo largo del proceso de diseño, se evalúa la calidad del diseño
con una serie de revisiones técnicas formales, las cuales siguen tres características que sirven de
directrices para la evaluación de un buen diseño:
• El diseño puede implementar todos los requisitos explícitos contenidos en el modelo de
análisis y debe acomodar todos los requisitos implícitos que desea el cliente.
• El diseño debe ser una guía que puedan leer y entender los que construyan el código y los
que prueban y mantienen el software.
• El diseño debería proporcionar una completa idea de lo que es el software, enfocando los
dominios de datos, funcional y de comportamiento desde la perspectiva de la implementación.
Cada una de estas características es de hecho un objetivo del proceso de diseño. Pero
¿cómo se alcanza cada uno de los objetivos?
Para evaluar la calidad de una representación del diseño se pueden establecer unos criterios
técnicos para un buen diseño, es importante mencionar:
1. Un diseño debería representar una organización jerárquica que haga un uso inteligente del control
entre los componentes del software.
2. El diseño debería ser modular; es decir se debería hacer una partición lógica del software en
elementos que realicen las funciones y subfunciones específicas.
3. Un diseño debe contener abstracciones de datos y procedimentales.
4. Un diseño debería producir módulos.
5. Un diseño debería conducir a interfaces que reduzcan la complejidad de las conexiones entre
módulos y el entorno exterior.
6. Se debería producir un diseño usando un método que pudiera repetirse según la información
obtenida durante el análisis de requisitos de software.
MATERIAL Y EQUIPO
1 Libreta
1 Lápiz
1 Bolígrafo
1 Equipo de cómputo con procesador 586 en adelante
DESARROLLO DE LA PRACTICA
27
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
ESQUEMAS
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
28
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PREEMAN, Roger S.; Ingeniería de Software. Un enfoque práctico. Editorial Mc Graw Hill, 4ª edición
España, 1998
29
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 8
DISEÑO DE DATOS
OBJETIVO
El alumno debe ser capaz de aplicar el proceso adecuado para el diseño de datos.
DESCRIPCIÓN BASICA
Diseño de Datos. El diseño de datos es necesario en las actividades que se llevan a cabo en la
ingeniería del software.
El impacto de la estructura de datos en la estructura del programa y la complejidad
procedimental hace que el diseño de los datos tenga una profundidad de influencia en la calidad del
software. Los conceptos de ocultación de información y abstracción de datos proporcionan el
fundamento para un enfoque del diseño de datos.
Según Wasserman: La actividad principal del diseño de datos es seleccionar
representaciones lógicas de objetos de datos (estructuras de datos) identificadas durante la fase de
definición y especificación de requisitos. El proceso de selección puede incluir el análisis de
estructuras alternativas para determinar el diseño más eficiente o puede incluir simplemente el
ejemplo de un conjunto de módulos que proporcione las operaciones deseadas sobre alguna
representación de un objeto.
Una actividad relacionada importante durante el diseño es identificar aquellos módulos del
programa que deben operar directamente sobre las estructuras de datos lógicas. De esta manera se
puede restringir el alcance de efecto de las decisiones individuales sobre el diseño de datos.
Independiente de las técnicas de diseño que se emplean, unos datos bien diseñados pueden
conducir a una mejor estructura y modalidad del programa, y a una menor complejidad procedimental.
Wasserman ha propuesto un conjunto de principios que pueden emplearse para especificar y
diseñar datos. En realidad, el diseño de datos empieza durante la creación del modelo de análisis.
Recordando que el análisis de requisitos y diseño a menudo se solapan, consideramos el siguiente
conjunto de principios para la especificación de datos:
1. Los principios del análisis sistemático aplicados a la función y al comportamiento deberían aplicase
también a los datos
2. Todas las estructuras de datos y las operaciones a llevar a cabo en cada una de ellas deberían
estar claramente identificadas.
3. Se debería contar con un diccionario de datos y usarlo para definir el diseño de los datos y del
programa.
4. Las decisiones de diseño de datos de bajo nivel deberían dejarse para el final del proceso de
diseño.
5. La representación de las estructuras de datos deberían conocerla solo aquellos módulos que
deban hacer uso directo de los datos contenidos dentro de la estructura.
6. Debería desarrollarse una biblioteca de estructuras de datos útiles y de las operaciones que se les
puede aplicar.
7. Un diseño del software y un lenguaje de programación deberían soportar la especificación y
realización de los tipos abstractos de datos.
30
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
Los principios descritos anteriormente forman una base para un enfoque de diseño de datos
que puede integrarse en las fases de definición y desarrollo del proceso de ingeniería de software.
MATERIAL Y EQUIPO
1 Libreta
1 Lápiz
1 Bolígrafo
1 Equipo de computo con procesador 586 en adelante
1 Disco de 3 ½ de alta densidad
DESARROLLO DE LA PRACTICA
ESQUEMAS
31
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PREEMAN, Roger S.; Ingeniería de Software. Un enfoque práctico. Editorial Mc Graw Hill, 4ª edición
España, 1998.
32
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 9
OBJETIVO
El alumno debe ser capaz de aplicar la optimización del diseño arquitectónico y el diseño de la
interfaz en el desarrollo de su codificación.
DESCRIPCIÓN BASICA
Optimización del Diseño Arquitectónico. Cualquier estudio sobre la optimización del diseño debería
estar precedida del siguiente comentario: “Recuerde que un diseño óptimo que no funciona tiene un
valor cuestionable”.
El diseño del software debería preocuparse de desarrollar una representación del software
que satisfaga todos los requisitos funcionales y de rendimiento, y que merezca la aceptación
basándose en la calidad del diseño.
Hay que insistir en el refinamiento de la estructura del programa durante las primeras fases
del diseño. Se puede obtener, refinar y evaluar representaciones alternativas para decidir el “mejor”
enfoque. Este enfoque de optimización de la arquitectura del software.
Es importante resaltar que la simplicidad estructural a menudo refleja elegancia y eficacia. La
optimización del diseño deberá intentar conseguir el menor número de módulos que sea compatible
con una modularidad efectiva y la estructura de datos menos compleja que satisfaga adecuadamente
los requisitos de la información.
Para aplicaciones de rendimiento crítico, puede ser necesario “optimizar” durante fases
posteriores del diseño y posiblemente durante la construcción del código. El que desarrolla el software
debería tener en cuenta, sin embargo, que un porcentaje relativamente pequeño de un programa
(típicamente, entre un 10 - 20 %) ocupa un gran porcentaje del tiempo de procesamiento (50 – 20 %).
Es razonable proponer el siguiente enfoque para el software de rendimiento crítico:
1. Desarrollar y definir la estructura de programa sin preocuparse de la optimización del rendimiento
crítico.
2. Usar herramientas CASE que simulan el rendimiento en tiempo de ejecución para aislar áreas de
ineficacia.
3. Durante iteraciones posteriores del diseño, seleccionar los módulos sospechosos de “devorar
tiempo” y desarrollar cuidadosamente procedimientos (algoritmos) que mejoren la eficiencia en el
empleo del tiempo.
4. Codificar en un lenguaje de programación apropiado.
5. Instrumentar el software para aislar módulos que consuman mucho tiempo de procesador.
6. Si es necesario, rediseñar o decodificar en lenguaje máquina para mejorar la eficiencia.
Diseño de interfaz. El diseño arquitectónico proporciona al ingeniero del software una imagen de la
estructura del programa. Como el plano para una casa, el diseño general no está completo sin la
representación de las puertas, ventanas y conexiones a servicios para agua, electricidad y teléfono
(sin mencionar la televisión por cable). Las “puertas, ventanas y conexiones a servicios” para el
software de computadora componen el diseño de la interfaz del sistema.
El diseño de la interfaz se concentra en las siguientes áreas importantes:
33
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
MATERIAL Y EQUIPO
1 Libreta
1 Lápiz
1 Bolígrafo
1 Equipo de cómputo con procesador 586 en adelante
1 Disco de 3 ½ de alta densidad
DESARROLLO DE LA PRACTICA
ESQUEMAS
34
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
PREEMAN, Roger S.; Ingeniería de Software. Un enfoque práctico. Editorial Mc Graw Hill, 4ª edición
España, 1998
35
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
SISTEMAS OPERATIVOS
PRACTICA 1
OBJETIVO
El alumno debe ser capaz de analizar el comportamiento de los procesos informáticos en sus
diferentes estados.
DESCRIPCIÓN BASICA
El término proceso no está aún claramente definido, a veces se usa como sinónimo de tarea.
Se ha intentado definir también como un programa en ejecución, una unidad despachable, una
actividad asíncrona, etc.
Un proceso pasa por una serie de estados. Varios eventos pueden ocasionar que un proceso
cambie de estado.
Se dice que un proceso se está ejecutando si se tiene asignado al CPU. Se dice que un
proceso está listo si pudiera utilizar una CPU en caso de haber una disponible. Un proceso está
bloqueado si está esperando que suceda algún evento antes de poder proseguir su ejecución.
Cuando se admite una tarea en el sistema, se crea el proceso y se inserta al final de la lista de
procesos listos. El proceso se desplaza poco a poco hacia el frente de la lista de procesos listos, a
medida que los procesos que se encuentran antes que él completen su turno de uso de la CPU.
Cuando el proceso llega al principio de la lista, se le asigna la CPU cuando ésta queda disponible y
entonces se dice que hay una transición de estado del estado listo al estado de ejecución. La
asignación del procesador al primer proceso de la lista de procesos listos se denomina despacho;
dicha actividad la realiza una entidad del sistema llamada despachador.
Despierto en ejecución
Despachar Bloqueado
Expiración
del tiempo
MATERIAL Y EQUIPO
36
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
DESARROLLO DE LA PRACTICA
Nota: Linux es un sistema operativo para red multiusuario y multitarea ideal, para llevar a cabo todo el
proceso del análisis del comportamiento de los procesos. En Linux, al análisis de los procesos
se le llama control de trabajos y es la habilidad de poner procesos en segundo plano
(backgrownd) y ponerlos de vuelta en primer plano (foregrownd). Las dos palabras importantes
son fg para primer plano y bg para segundo plano.
I. Iniciar sesión de trabajo en Linux.
1.- Para poder iniciar una sesión de trabajo en Linux, existen dos maneras de hacerlo:
1.1 Si se está en red con un servidor Linux, ejecutar dentro de la computadora cliente con
Windows 95 una sesión telnet en línea de comando.
a) Conectarse a Linux seleccionando en el menú “conectar”
b) Seleccionar “sistema remoto”
c) En la ventana que se presenta, escribir el nombre del host (nombre del
servidor que contiene a Linux) o dirección IP del host
d) Oprimir el login y el password
1.2 Si se esta en una computadora con Linux instalado en el disco duro, insertar el diskette
con el sistema de arranque si este es el caso.
a) Encender la computadora
b) Proporcionar el login y el password
37
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
ESQUEMAS
38
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
GREENFIELD, Larry; Guía de Linux para el Usuario, Manual gratis obtenido en Internet en
ftp.sunsite.unc.edu
39
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 2
OBJETIVO
DESCRIPCIÓN BASICA
MATERIAL Y EQUIPO
DESARROLLO DE LA PRACTICA
40
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
Variables
Activo
Procedimiento proceso_uno
Inicia
Mientras verdadero hacer
Inicia
Tareas_preliminares_procesos_dos
P(activo)
Sección_crítica_dos
V(activo)
Otras_tareas_dos
Fin
Fin
Empieza
Inicia_semáforo (activo, 1)
Inicia paralelo
Proceso_uno
Proceso_dos
Fin paralelo
Fin
ESQUEMAS
41
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
42
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
PRACTICA 3
OBJETIVO
DESCRIPCIÓN BASICA
El monitor es una construcción para concurrencia que contiene tanto los datos como los
procedimientos necesarios para asignar un recurso compartido específico reutilizable en serie o un
grupo de estos recursos.
Para ejecutar una función de asignación de recursos, un proceso debe llamar a una entrada
de monitor específica.
Muchos procesos pueden desear entrar en el monitor en diversos momentos pero la exclusión
mutua se mantiene de manera estricta en los límites del monitor, solo se permite la entrada de un
proceso a la vez. Los procesos que desean entrar en el monitor cuando ya está en uso deben
esperar, el monitor controla automáticamente esta espera.
Si un proceso que está llamando a la entrada del monitor encuentra que el recurso requerido
ya ha sido asignado, el procedimiento monitor llama a la función esperar. El proceso podría
permanecer dentro del monitor, pero ello violaría la exclusión mutua si otro proceso entrara en el
monitor. Por tanto, el proceso que llamó a esperar debe aguardar fuera del monitor hasta que se
libere el recurso.
Para asegurar que un proceso que está esperando un recurso acabe por obtenerlo, el monitor
da mayor prioridad a los procesos en espera que a un nuevo proceso que solicite en el monitor.
Debe introducirse la noción de variable condicional. Son muy diferentes de las variables
“convencionales”. Cuando se define una variable condicional se crea una cola un proceso que llama a
la operación esperar se agrega a la cola, un proceso que llama a la operación señalar hace que un
proceso en espera sea sacado de la cola y entre al monitor.
En los sistemas de computo es común tener unos proceso (determinados lectores) que leen
datos y otros (denominados escritores) que los describen. Como los lectores no alteran el contenido
de la base de datos, muchos pueden obtener acceso a la base de datos al mismo tiempo. Sin
embargo, un escritor puede modificar los datos, por lo cual debe tener acceso exclusivo. Cuando un
escritor está activo, ningún otro lector o escritor puede estar igual.
MATERIAL Y EQUIPO
Lenguaje de programación
Computadora 586 con sistema operativo Linux
43
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
DESARROLLO DE LA PRACTICA
Monitor lectores_y_escritores
Variables: lectores de tipo entero
Alguien escribe de tipo booleano
Lectura permitida, escritura_permitida de tipo condición
Procedimiento comenzar_lectura
Inicio
Si alguien escribe o en_cola (escritura_permitida)
Entonces esperar (lectura permitida)
Lectores = lectores + 1
Señalar (lectura_permitida)
Fin
Procedimiento de lectura_terminada
Inicio
Lectores = lectores – 1
Si lectores = 0 entonces señalar (escritura-permitida)
Fin
ESQUEMAS
44
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
OBSERVACIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CUESTIONARIO
1.- _______________________________________________________________________________
2.- _______________________________________________________________________________
3.- _______________________________________________________________________________
4.- _______________________________________________________________________________
5.- _______________________________________________________________________________
CONCLUSIONES
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
CRITERIO DE EVALUACION
BIBLIOGRAFIA
45
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos
INSTRUCTIVOS DE PRACTICAS UGM
CREDITOS
PLANTEL: ORIZABA
COORDINADOR DE INSTRUCTIVO:
LIC. ALMA PATRICIA VASQUEZ GONZALEZ
AUTOR(ES):
INGENIERIA DE SOFTWARE
L.I. ELIZABETH RODRÍGUEZ GUZMÁN
SISTEMAS OPERATIVOS
ING. RICARDO CARRERA HERNANDEZ
REVISION:
ING. HILDA MARCELA RODRIGUEZ LAPA
ING. JAIME RODRIGO SANDOVAL GUZMAN
DEPARTAMENTO DE METODOS DE ENSEÑANZA
CAPTURISTA:
L.I. CLAUDIA VELASQUEZ CORTES
EDICION:
2001
46
Licenciatura en Informática Ingeniería de Software y Sistemas Operativos