Documente Academic
Documente Profesional
Documente Cultură
¿Qué es?
El software de computadora es el producto que construyen los programadores
profesionales y al que después le dan mantenimiento durante un largo tiempo. Incluye
programas que se ejecutan en una computadora de cualquier tamaño y arquitectura,
contenido que se presenta a medida de que se ejecutan los programas de cómputo e
información descriptiva tanto en una copia dura como en formatos virtuales que
engloban virtualmente a cualesquiera medios electrónicos.
INGENIERÍA DE SOFTWARE
Software de sistemas:
Conjunto de programas escritos para dar servicio a otros programas. Determinado
software de sistemas (por ejemplo, compiladores, editores y herramientas para
administrar archivos) procesa estructuras de información complejas pero
deterministas.
Software de aplicación:
Programas aislados que resuelven una necesidad específica de negocios.
Software incrustado:
Reside dentro de un producto o sistema y se usa para implementar y controlar
características y funciones para el usuario final y para el sistema en sí.
Aplicaciones web:
Llamadas “webapps”, esta categoría de software centrado en redes agrupa una amplia
gama de aplicaciones. En su forma más sencilla, las webapps son poco más que un
conjunto de archivos de hipertexto vinculados que presentan información con uso de
texto y gráficas limitadas.
Modelo en Cascada
El modelo de la cascada, a veces llamado ciclo de vida clásico, sugiere un enfoque
sistemático y secuencial6 para el desarrollo del software, que comienza con la
especificación de los requerimientos por parte del cliente y avanza a través de
planeación, modelado, construcción y despliegue, para concluir con el apoyo del
software terminado.
Modelo en V
Modelos de proceso incremental
Hacer prototipos
Los modelos evolutivos son iterativos; los caracteriza la forma en que permiten que
los ingenieros de software desarrollen versiones cada vez más completas del
software.
El diseño rápido se basa en una representación de aquellos aspectos del software que
serán visibles para el cliente o el usuario final (por ejemplo, la configuración de la
interfaz con el usuario y el formato de los despliegues de salida). El diseño rápido
conduce a la construcción de un prototipo, el cual es evaluado por el cliente o el
usuario para una retroalimentación; gracias a ésta se refinan los requisitos del
software que se desarrollará. La iteración ocurre cuando el prototipo se ajusta para
satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el
desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto
plazo.
Construcción de Prototipos
El modelo espiral es un modelo evolutivo del proceso del software y se acopla con la
naturaleza iterativa de hacer prototipos con los aspectos controlados y sistémicos del
modelo de cascada. Tiene el potencial para hacer un desarrollo rápido de versiones
cada vez más completas.
DESARROLLO ÁGIL
Los principios Scrum son congruentes con el manifiesto ágil y se utilizan para guiar
actividades de desarrollo dentro de un proceso de análisis que incorpora las
siguientes actividades estructurales: requerimientos, análisis, diseño, evolución y
entrega. Dentro de cada actividad estructural, las tareas del trabajo ocurren con un
patrón del proceso (que se estudia en el párrafo siguiente) llamado sprint. El trabajo
realizado dentro de un sprint (el número de éstos que requiere cada actividad
estructural variará en función de la complejidad y tamaño del producto) se adapta al
problema en cuestión y se define —y con frecuencia se modifica— en tiempo real por
parte del equipo Scrum.
ANÁLISIS DE LOS REQUERIMIENTOS
Definición del caso de estudio: Se identifica el tema central que motiva el inicio del
estudio, pudiendo ser la creación de un nuevo sistema ó la modificación a uno ya
existente.
Análisis de datos. Se identifican todos los datos que se van a utilizar describiendo sus
características: significado, fuente, tipo, longitud, rango de valores, código de
equivalencia, nivel de actualización, etc. Por ejemplo a continuación se presentan
ejemplos de datos y la Tabla 1 con instancias de valores.
Equipo de Trabajo
Ejecutivos: que definen los aspectos del negocio que usualmente tienen una
influencia significativa en el proyecto.
Técnicos: quienes planifican, motivan, organizan y controlan a los
profesionales que realizan el trabajo de software
Profesionales: quienes proporcionan las habilidades técnicas necesarias para
realizar la ingeniería de algún producto o aplicación
Clientes: quienes especifican los requisitos para la ingeniería de software y
otros elementos que tienen un interés mínimo en el resultado
Usuarios Finales: quienes interactúan con el software una vez que se libera
para su uso productivo
El plan del proyecto fija los recursos disponibles, divide el trabajo y crea un
calendario de trabajo. En algunas organizaciones, el plan del proyecto es un
único documento que incluye todos los diferentes tipos de planes.
1. Introducción.
2. Organización del proyecto.
3. Análisis de riesgo.
4. Requerimientos de recursos de HW. y SW.
5. División del trabajo.
6. Programa del proyecto.
7. Mecanismos de supervisión e informe.
El Diagrama Gantt ilustra la duración y las relaciones de tiempo entre las
actividades de un proyecto en forma gráfica. Esta herramienta está bastante
relacionada con la Malla Pert, en cuanto ayuda a tener una visión más clara de las
actividades a realizar y de la duración del proyecto.
Intuitiva. Grado en el que la interfaz sigue patrones esperados de uso, de modo que
hasta un novato la pueda utilizar sin mucha capacitación.
Las revisiones técnicas son una de las muchas acciones que se requieren como parte
de las buenas prácticas de la ingeniería de software. Cada acción requiere un esfuerzo
humano dirigido. Como el esfuerzo disponible para el proyecto es finito, es importante
que una organización de software comprenda la eficacia de cada acción, definiendo un
conjunto de métricas que puedan utilizarse para evaluar esa eficacia.
El primer enfoque de pruebas considera una visión externa y se llama prueba de caja
negra. El segundo requiere una visión interna y se denomina prueba de caja blanca.
La prueba de caja negra se refiere a las pruebas que se llevan a cabo en la interfaz del
software. Una prueba de caja negra examina algunos aspectos fundamentales de un
sistema con poca preocupación por la estructura lógica interna del software. La
prueba de caja blanca del software se basa en el examen cercano de los detalles de
procedimiento. Las rutas lógicas a través del software y las colaboraciones entre
componentes se ponen a prueba al revisar conjuntos específicos de condiciones y/o
bucles.
UML
DIAGRAMAS DE CLASE
Para modelar clases, incluidos sus atributos, operaciones, relaciones y asociaciones
con otras clases,2 el UML proporciona un diagrama de clase, que aporta una visión
estática o de estructura de un sistema, sin mostrar la naturaleza dinámica de las
comunicaciones entre los objetos de las clases.
DIAGRAMAS DE IMPLEMENTACIÓN
Un diagrama de implementación UML se enfoca en la estructura de un sistema de
software y es útil para mostrar la distribución física de un sistema de software entre
plataformas de hardware y entornos de ejecución.
DIAGRAMAS DE COMUNICACIÓN
Herramientas CASE
Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas
que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante
todos los pasos del Ciclo de Vida de desarrollo de un Software.
Entre los beneficios más significativos de las herramientas CASE se enumeran los
siguientes:
2. Microsoft Project
3. Racional Rose
4. JDeveloper
5. MagicDraw
6. Visual Paradigm
7. Microsoft Visio
8. Enterprise Architect