Software
n Definición (Pressman):
n Instrucciones (programas de computadora) que cuando se ejecutan proporcionan la función y el rendimiento deseados
n Estructuras de datos que permiten a los programas manipular adecuadamente la información
n Documentos que describen la construcción y uso de programas
Características del software
n El software se desarrolla, no se fabrica
n Los costes se centran en ingeniería, no en fabricación
n Los proyectos software no se pueden gestionar como procesos de fabricación
n El software no se estropea
Características del software
n Reparación del software
n El software deteriorado no se puede reparar • ¿revisar miles de líneas de código?
n Muchas veces las reparaciones dañan más al software
n El software debe estar bien diseñado para facilitar su evolución
Software bien diseñado
n Software bien diseñado
n Ingeniería: creación y mantenimiento de una serie de componentes estándar con el fin de no reinventar la rueda
n Software bien diseñado debe favorecer la reutilización de código
n Las tecnologías OO y de componentes software reutilizables favorecen dicha reutilización
n Atributos del software bien diseñado
n Mantenible
• Capaz de evolucionar según las necesidades de cambio de los clientes
n Seguro
• Robusto, que no produce daños incluso bajo un fallo del sistema
n Eficiente
• No desperdicia los recursos del sistema (memoria, procesador, disco)
n Amistoso
• Buena interfaz
n Bien documentado
Tipos de software
n Por su estructura
n Funcional
n Orientado a listas
n Orientado a objetos
n Orientado a componentes
n Por su función
n Producto. Programas que gestionan y transforman información
• Programas o Sistemas de Usuario
• CAD
• Procesadores de Texto
• Aplicaciones Web
• Etc.
n Herramientas para desarrollar y ejecutar productos
• Sistemas operativos
• Middleware
• Compiladores
• Bases de datos
• Librerías
• Interfaces Hombre-Maquina
Tipos de software
n Por su plataforma de ejecución
n Sistemas embebidos
n Sistemas de computación distribuida
n Sistemas de computación paralela
n Sistemas de tiempo real
n Sistemas basados en Chips
n Sistemas de computo ubicuos
n Wearable computing systems
Aplicaciones
n Software de sistemas
n Programas escritos para servir a otros programas
• Compiladores, Sistemas Operativos (SOs), etc.
n Características:
• Fuerte interacción con el hardware de computadora
• Múltiples usuarios
• Operación concurrente
• Compartición de recursos
• Estructuras de datos complejas
Aplicaciones
n Software de tiempo real
n Mide, analiza y controla sucesos del mundo real conforme ocurren
• Control de aviones, procesos de fabricación, etc.
• Sistemas de tiempo real estricto (hard real time) o no (soft real time)
n Componentes:
• Adquisición de datos. Recolecta y da formato a la información recibida del entorno externo
• Análisis. Transforma la información según lo requiere la aplicación
• Control/salida. Responde al entorno externo
• Monitorización. Coordina a los demás componentes para obtener una respuesta en tiempo real (de 1 ilisegundo a 1 minuto)
Aplicaciones
n Software de gestión
n Proceso de información comercial, accediendo a Bases de datos que contienen dicha información
• Gestión de nóminas, control de almacén, etc.
n Software de ingeniería y científico
n Algoritmos numéricos
• Programas CAD, predicción meteorológica, etc.
Aplicaciones
n Software de PC
n Se venden en la gran distribución
• Procesadores de texto, hojas de cálculo, etc.
n Software empotrado (embedded systems)
n Controla productos y sistemas de mercados industriales y de consumo
n Control de fábricas, etc.
n Reside en ROM
n Relacionado con el tiempo real
Aplicaciones
n Software de inteligencia artificial
n Algoritmos no numéricos para resolver problemas complejos para los que no son adecuados el cálculo o análisis directo
• Sistemas expertos
• Reconocimiento de patrones (voz, imágenes, etc.)
• Agentes software
Conclusiones
n Software: producto de desarrollo (más que de fabricación)
n Software: rápida evolución
n Constante en la evolución: problemas que se pretende solucionar con IS
n ¡Cuidado con los mitos!
El Producto Del Software
No hay comentarios:
Publicar un comentario