Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Ingeniería de Sistemas Embebidos (Powerpont) (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Desarrollo de ciclo de vida de software. Modelo espiral
17
Determinar objetivos, alternativas, limitaciones

Evaluar alternativas, identificar, solucionar riesgos, desarrollar prototipos

Planificar las siguientes fases

Desarrollar, verificar los productos del siguiente nivel

Monografias.com

18
Hardware-Software Co-Diseño de Sistemas Embebidos
El Software que basa su funcionalidad en los productos embebidos de hoy causan retrasos en la completitud de los proyectos si se tiene que esperar al prototipo de hardware para empezar el desarrollo de software y su depuración.
Diseño concurrente y verificación de hardware y software es una tendencia que reduce el tiempo de lanzamiento al mercado.

(ver más en [4, 5] )

Monografias.com

Requisitos
Problema de definición ? Especificación de requisitos
Determinar exactamente qué quiere el cliente y el usuario.
Desarrollar un contrato con el cliente
Especificar qué va a hacer el software de producto
Dificultades
El cliente solicita el producto que no es adecuado
El cliente no conoce el software
Las especificaciones son ambiguas, inconsistentes e incompletas.
19

Monografias.com

Arquitectura/Diseño
Especificación de requisitos? Arquitectura/Diseño
Arquitectura: descomponer el software en módulos con interfaces
diseño: desarrollo de las especificaciones del módulo (algoritmos, tipos de datos)
Mantener un registro de las decisiones de diseño y trazabilidad
Especifica cómo el product de software hace sus tareas.
Dificultades
La falta de comunicación entre los diseñadores de módulos
El diseño puede ser incoherente, incompleto y ambiguo.
20

Monografias.com

Arquitectura vs. Diseño[Perry & Wolf 1992]
La Arquitectura tiene que ver con la selección de los elementos arquitectónicos, sus interacciones y las limitaciones de los elementos y sus interacciones necesarias para proporcionar un marco en el que se cumplan los requisites y que sirva como base para el diseño.
El diseño se ocupa de la modularización y las interfaces detalladas de los elementos de diseño, sus algoritmos y procedimientos, y los tipos de datos necesarios para apoyar la arquitectura y para satisfacer los requisitos.
21

Monografias.com

Implementación e Integración
Diseño ? Implementación
Implementar módulos; verificar que cumplen con sus especificaciones
Combinar módulos de acuerdo con el diseño
Especifica cómo el product de software realiza sus tareas
Dificultades
Errores de interacción del módulo
Orden de integración puede influir en la calidad y la productividad
22

Monografias.com

Desarrollo basado en componentes
Desarrollar components generalmente aplicables de un tamaño razonable y reutilizarlos a través de sistemas.
Asegurarse de que son adaptables a los diferentes contextos
Extender la idea más allá del código en el desarrollo de otros artefactos
Pregunta: ¿Qué viene primero?
Integración, a continuación despliegue
Despliegue, a continuación integración
23

Monografias.com

Diferentes componentes
Software de terceros “piezas”
Los Plug-ins de efectos/ complementos
Applets
Frameworks
Sistemas abiertos
Infraestructuras de objetos distribuidos.
Documentos compuestos
Los sistemas heredados
24

Monografias.com

Verificación y validación
¿Qué es verificación y validación?
VerificaciónLa verificación confirma que el trabajo de los productos reflejan adecuadamente los requisitos prescritos para los mismos. En otras palabras, la verificación asegura que “el product se ha construido correctamente”
ValidaciónLa validación confirma que el product, según lo previsto, cumplirá con su uso previsto. En otras palabras, la validación asegura que “has construido lo correcto”.

25

Monografias.com

Verificación y validación ¿Cómo actúa?
26
Modelo de desarrollo de sistema

Monografias.com

Calidades de Software
Exactitud
Óptima calidad
establecido w.r.t., la especificación de los requisitos
absoluta
Confiabilidad
Propiedad estadística
Probabilidad de que el software funcionará como se esperaba durante un período de tiempo dado
Relativo
Robustez
Comportamiento “razonable” en circunstancias imprevistas
subjectiva
Un requisito especificado es un problema de la corrección;un requisito no especificado es un problema de robustez.
27

Monografias.com

Usabilidad
Capacidad de que los usuarios finales puedan utilizer fácilmente el software
Extremadamente subjetivo.
Comprensibilidad
Capacidad de los desarrolladores a entender fácilmente los artefactos producidos
La calidad interna del producto
subjetivo
Verificabilidad
La facilidad de establecer las propiedades deseadas
Realizado por análisis formal o pruebas
Calidad interna
Rendimiento
Equiparado con la eficiencia
Evaluables mediante la medición, el análisis y simulación.
Calidades de software (cont.)
28

Monografias.com

Desarrollo
Posibilidad de añadir o modificar la funcionalidad
Aborda el mantenimiento adaptativo y perfectivo.
problema: La evolución de la implementación es muy fácil
La evolución debe comenzar en los requisitos o en el diseño
Reutilización
Capacidad de construir un Nuevo software a partir de piezas existentes
Debe ser planificado
Ocurre a todos los niveles: desde la gente a los procesos, desde los requisitos hasta el código.
Interoperabilidad
Capacidad de los (sub)sistemas de software a cooperar con los demás
Fácilmente integrable en sistemas más grandes.
Técnicas communes que incluyen APIs, protocolos plug-in, etc.

Calidades de Software (cont.)
29

Monografias.com

Calidad de software (cont.)
Escalabilidad
Capacidad de un Sistema de software para crecer en tamaño, mientras que mantiene sus propiedades y cualidades.
Asume el mantenimiento y la capacidad de evolucionar
Objetivo de desarrollo basado en componentes
Heterogeneidad
Capacidad de componer un Sistema de piezas desarrolladas en varios lenguajes de programación, en multiples plataformas, por multiples desarrolladores, etc.
Necesario para la reutilización.
Objetivo de desarrollo basado en componentes
Portabilidad
Capacidad de ejecución en entornos nuevos con un mínimo esfuerzo.
Puede ser planeado mediante el aislamiento de componentes dependientes del entorno.
Necesarios para la aparición de los sistemas altamente distribuidos (por ejemplo, Internet)

30

Monografias.com

Evaluar calidades del software
Las calidades deben ser medibles
La medición require que las calidades sean definidas de forma precisa
La mejora requiere una medición precisa
Actualmente la mayoría de las calidades se definen de manera informal y son difíciles de evaluar

Monografias.com

Ingeniería del Software “Axiomas”
La adición de desarrolladores a un proyecto probablemente resultará en más retrasos y acumulación de costes.
Tensión básica de la ingeniería de software
Mejor, más barato, más rápido – elegir cualquiera de los dos¡
Funcionalidad, escalabilidad, rendimiento – elegir cualquiera de los dos¡
Cuanto más dura un fallo en el software
Mayores son los costes de la detección y corrección del fallo
Menos probable es que sea debidamente corregido
Hasta el 70% de todos los fallos detectados en los proyectos de software a gran escala se introducen en los requerimientos y el diseño
La detección temprana de las causas de los fallos puede reducir sus costos resultantes por un factor de 100 o más.

Monografias.com

Despliegue y evolución
Operación ? Cambio
Mantener el software durante / después de la operación del usuario
Determinar si el product todavía funciona correctamente
Dificultades
Diseño rígido
Falta de documentación
Rotación de personal
33

Monografias.com

Principios de la Ingeniería del Software
Rigor y formalidad
La separación de los asuntos de interés
Modularidad y descomposición
Abstracción
Anticipación del cambio
Generalidad
Incrementalidad
Escalabilidad
Composicionalidad
Heterogeneidad
34

Monografias.com

35
Arquitectura del Software
Arquitectura del Software es la organización fundamental de un Sistema, dentro de sus componentes, las relaciones entre sí y con el entorno, y los principios que rigen su diseño y evolución.
La arquitectura del Software abarca el conjunto de decisiones importantes sobre la organización de un Sistema de software
Selección de los elementos estructurales y sus interfaces por los que se compone un Sistema.
Comportamiento como se especifica en las colaboraciones entre esos elementos.
Composición de estos elementos estructurales y de comportamiento en subsistemas más grandes.
El estilo arquitectónico que guía esta organización

Monografias.com

36
Arquitectura del software Embebido
Estructura de Software y la complejidad de un Sistema embebido pueden variar significativamente según la aplicación
Las arquitecturas de software de uso general incluyen:
Lazos de control simples
Interrupción del Sistema controlado
Sistema multitarea no preferente
La multitarea preventive o multi-threading (incluye los sistemas operativos en tiempo real – RTOS)
Microkernels – micronúcleos (un paso adelante respecto a un RTOS para incluir la asignación de memoria, sistemas de archivos, etc)
Kernel Monolitico (un relativo gran kernel con capacidades sofisticadas, se adaptan a un entorno embebido). Linux embebido y Windows CE Móviles y embebidos son algunos ejemplos.

Monografias.com

37
Sistemas operativos embebidos
Tradicional OS
Grandes requerimientos de memoria
Arquitectura multiamenazas
Modelo I/O (entrada/salida)
Núcleo y separación de usuario
No hay restricciones de energía
Amplios recursos disponibles

Características deseadas para EOS
Huella de memoria pequeña
Computo eficiente
Protocolos de comunicación
Interfaz fácil de exponer datos
Apoyar el diseño de aplicaciones diversas
Forma fácil de programar, actualizar y depurar aplicaciones de red.

Monografias.com

38
Algunos sistemas operativos integrados
RTOSs
pSOS
VxWorks
VRTX (Versátil en tiempo real)
uC/OS-II
Java RTS etc.
Palm OS (fuente: Wikipedia)
Sistema operative embebido desarrollado inicialmente por U.S. Robotics-owned Palm Computing, Inc. para asistentes digitales personales (PDAs) en 1996
SymbianOS (fuente: Wikipedia)
Sistema operativo diseñado para dispositivos móviles por SymbianLtd. (se ejecuta generalmente en OMAP (Plataforma de aplicaciones multimedia abierta) procesadores, los cuales generalmente incluyen un propósito general de arquitectura en el núcleo del procesador ARM más uno o más coprocesadores especializados.
Android
Projecto abierto Handset Alliance
Basado en núcleo Linux 2.6 (http://code.google.com/android/)

Monografias.com

39
Algunos sistemas operativos embebidos (cont.)
Windows CE (WinCE) (fuente: Wikipedia)
Sistema operativo de Microsoft para ordenadores minimalistas y sistemas embebidos
WinCE es un Sistema operative muy diferente, en lugar de una version abreviada del escritorio de Windows
Linux embebido (uClinux, ELKS, ThinLinux) (fuente: Wikipedia)
El uso de un Sistema operativo Linux en sistemas informáticos integrados
Según la encuesta realizada por Venture Development Corporation, Linux fue utilizada por el 18% de los ingenieros
Versiones embebidas de Linux están diseñados para dispositivos con recursos relativamente limitados, tales como teléfonos móviles y decodificadores
Dado que los dispositivos integrados se utilizan para fines específicos en lugar de fines generales, los desarrolladores optimizan sus distribuciones de Linux embebido para conseguir las configuraciones de hardware específicas y las situaciones de uso.

Monografias.com

40
Sistemas embebidos de tiempo Real
Los sucesos de procesos de sistemas de tiempo real.
Los eventos ocurridos en las entradas externas provocan el que otros eventos tengan lugar como salidas (outputs)
Minimizar el tiempo de respuesta suele ser un objetivo principal, o de lo contrario todo el Sistema puede dejar de funcionar correctamente.
Los tipos de sistemas embebidos en tiempo real
Tiempo real Estricto (Hard) — por ejemplo, sistemas de control de vuelos
Tiempo real Flexibles (Soft) — por ejemplo, Sistema de adquisición de datos.
Tiempo real (Real) — por ejemplo Sistema de guía de misiles
Tiempo real firmes (Firm)

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter