2. Definición
La metodología de desarrollo de software es el conjunto
de técnicas y métodos que se utilizan para diseñar una
solución de software informático. Es importante señalar que
existen varias, de manera que es una decisión de cada equipo.
3. La naturaleza del software
• En la actualidad el software juega un papel muy importante en
los dispositivos digitales. Es un producto y al mismo tiempo es
una forma de entregar un producto. Brinda el potencial de
computo incorporado al hardware que hace de forma individual
o en red.
4. Dominios de aplicación del software
• Actualmente hay 7 grandes categorías del software que plantea
retos para los ingenieros en software; esto serian:
• Software de sistemas: es un conjunto de programas escritos
para dar servicio a otros programas. Por ejemplo,
compiladores, editores y herramientas para administrar
archivos.
• Software de aplicación: son programas aislados que
resuelven una necesidad especifica de negocios. Las
aplicaciones en esta área procesan datos comerciales o
técnicos en una forma que facilita las operaciones de negocios
o la toma de decisiones.
5. • Software de ingeniería y ciencias: se han caracterizado por
ser algoritmos que transforman números. Las aplicaciones van
desde la astrología, análisis de tensiones en automóviles hasta
la biología molecular que permita la automatización de
procesos.
• Software incrustado: reside dentro de un producto o sistema y
se utiliza para implementar y controlar características y
funciones para el usuario final. El software incrustado ejecuta
funciones limitadas y particulares. Por ejemplo, el control de un
tablero de un horno de microondas.
6. • Software de líneas de productos: es proporcionar para
realizar una actividad en específico para uso de muchos
consumidores. El software de línea de productos se centra en
un mercado limitado y particular. Por ejemplo, el control de
inventarios de una empresa u organización.
• Software de aplicación web: esta categoría de software
centrado en redes agrupa una amplia gama de aplicaciones.
Las webs son más que un conjunto de archivos de hipertexto.
Sin embargo, desde que surgió la web 2.0 estas han
evolucionado hacia ambientes de computo sofisticados que no
solo provee características aisladas, funciones de cómputo y
contenido para el usuario final, sino que también se encuentra
integradas en bases de datos corporativas y aplicaciones de
negocios.
7. • Software de inteligencia artificial: hace uso de algoritmos no
numéricos para resolver problemas complejos que no son
fáciles de tratar en términos de computación. Las aplicaciones
en esta área incluyen robótica, sistemas expertos,
reconocimiento de patrones y voz, redes neuronales artificiales,
demostración de teoremas y juegos.
8. INGENIERIA DEL SOFTWARE
• Introducción la Ingeniería del Software
• El software de computadora sigue siendo la tecnología más
importante en la escena mundial. Se considera una tecnología
indispensable para los negocios, ciencias e ingeniería.
10. DEFINICION
• La ingeniería de software es una disciplina formada por un
conjunto de métodos, herramientas y técnicas que se utilizan
en el desarrollo de los programas informáticos
• Esta disciplina trasciende la actividad de programación, que es
el pilar fundamental a la hora de crear una aplicación. El
ingeniero de software se encarga de toda la gestión del
proyecto para que éste se pueda desarrollar en un plazo
determinado y con el presupuesto previsto.
• Es hacer todo lo necesario para producir un software de alta
calidad en el que alguien pueda confiar.
11. • Componentes De La Ingeniería De Software
• El componente técnico se refiere a todas aquellas
metodologías, procedimientos y herramientas que permiten
al ingeniero de software desarrollar un sistema de información
siguiendo una secuencia lógica de fases, utilizando una serie
de estándares de la industria y ayudándose con herramientas y
técnicas ya existentes.
• El componente no técnico está constituido por todas aquellas
actividades administrativas y de gestión que permiten a
los equipos de desarrollo de software controlar las diferentes
fases técnicas y facilitar el uso eficiente de los canales de
comunicación.
12. Que contiene la ingeniería de software?
• El análisis previo de la situación
• El diseño del proyecto
• El desarrollo del software.
• Las pruebas necesarias para confirmar su correcto
funcionamiento
• La implementación del sistema.
13. Requisitos
Durante esta fase, se identifican las necesidades y objetivos del
SW a crear. Esto será determinado en conjunto por el
programador y el cliente, ya que el primero determinará los
requerimientos básicos de programación y de sistema de
acuerdo a lo que desea lograr el cliente con el programa a crear.
Esta etapa inicial es primordial para proceder a la segunda
etapa, diseño.
requerimientos funcionales y no funcionales – YouTube
Requerimientos funcionales: Ejemplos - La Oficina de Proyectos de
Informática (pmoinformatica.com)
14. Diseño
En esta etapa, se diseña utilizando diferentes herramientas.
En esta etapa, se determina a nivel general cuáles serán las
funcionalidades el SW, tomando en cuenta los requisitos de HW,
Red y Sistema. Durante esta etapa, se define la arquitectura,
utilizando diagramas según el tipo de SW y resultado esperado
(de clases, base de datos, despliegue o secuencia).
15. Implementación
• Esta etapa se divide en varias fases. Programación, Desarrollo,
Pruebas, Implementación y Documentación.
Desarrollo:
• Desarrollo de infraestructura: Desarrollo y organización de elementos
que formarán parte de la infraestructura.
• Adaptación del paquete: Análisis de cada elemento para maximizar la
funcionalidad del SW y evitar errores dentro de lo posible.
• Desarrollo de unidades de diseño interactivas: Se ejecutan
procedimientos por medio de diálogo usuario-sistema
16. • Desarrollo de unidades de diseño batch: Uso de diagramas tablas de
decisión para plasmar claramente las especificaciones, con el fin de
que el programador tenga claros las funcionalidades y resultados
esperados.
• Desarrollo de unidades manuales: proyectar procesos administrativos
• Programación: Durante esta etapa se pasa el diseño a código.
• Pruebas de SW: comprobar que el SW funcione y realice las
tareas indicadas correctamente.
17. • Documentación: Consiste recopilar cualquier herramienta que
haya sido parte del diseño del programa (Modelos UML,
Diagramas), las pruebas y escribir manuales de usuario y
técnicos. El objetivo de esta fase es facilitar su uso a usuarios y
en caso de futuras correcciones o mantenimiento, es útil.
• Implementación: Esta etapa se caracteriza por obtener y
distribuir el ejecutable del programa, una vez terminados el
diseño, la programación, pruebas y documentación.
18. EL PROCESO DEL SOFTWARE
• Proceso: es una “serie de acciones que conducen a un final”
• ¿El proceso se refiere a administración, ingeniería, o ambas? ¿El
proceso implica demasiada documentación y nos abstiene de
desarrollar el producto objetivo?
19. Proceso de software
• Un proceso de desarrollo de software es un conjunto de
personas, estructuras de organización, reglas, políticas,
actividades y sus procedimientos, componentes de software,
metodologías, y herramientas utilizadas o creadas
específicamente para definir, desarrollar, ofrecer un servicio,
innovar y extender un producto de software.
20. • Un proceso de software efectivo habilita a la organización a
incrementar su productividad al desarrollar software:
• Permite estandarizar esfuerzos, promover reuso, repetición y
consistencia entre proyectos.
• Provee la oportunidad de introducir mejores prácticas de la
industria.
• Permite entender que las herramientas deben ser utilizadas para
soportar un proceso.
• Establece la base para una mayor consistencia y mejoras
futuras.
21. Practica de la ingeniería de software
• ¿Que es la práctica?
La práctica es una Colección de conceptos, principios, métodos y
herramientas para la planeación y desarrollo del software.
• La práctica de la ingeniería del software la aplican los ingenieros de software
y sus gerentes. Es importante porque ayuda y proporciona los detalles que se
necesitan para transitar a lo largo del camino. Indica donde están ubicados
los puentes, los bloqueos del camino y los obstáculos; enseña como conducir,
donde reducir y donde aumentar la velocidad. La práctica es lo que se realiza
a diario mientras el software evoluciona desde una idea hasta una realidad.
22. • La esencia de la práctica.
1. Entender el problema (comunicación y análisis)
2. Planear una solución (modelado y el diseño del software)
3. Llevar a cabo el plan (generación del código)
4. Examinar el resultado para probar la precisión(realización de
pruebas y aseguramiento de la calidad).
23. • ENTENDER EL PROBLEMA.
*. ¿A quien le interesa la solución del problema? Es decir,
¿Quiénes son los clientes?
*. ¿Cuáles aspectos se desconocen? ¿Qué datos , funciones,
características y comportamientos que se requieren para
resolver de manera apropiada el problema?.
*. ¿El problema puede dividirse en categorías? ¿es
posiblerepresentar problemas menores que puedan entenderse
con mayor facilidad?
*. ¿El problema puede representarse de manera grafica? ¿se
puede crear un modelo de análisis?
24. • PLANEAR LA SOLUCIÓN.
*. Se habían visto problemas similares antes? ¿Existen
patrones reconocibles en una solución potencial? ¿Hay un
software existente que implemente los datos, las funciones, las
características y loscomportamientos que se requieren?
*. ¿Se ha resuelto un problema similar? ¿Si es así los
elementos de la solución pueden reutilizarse?
*. ¿Se puede definir los subproblemas? Si es así, ¿Las
soluciones para los subproblemas parecen fáciles?
*. Se puede representar una solución de modo que conduzca a
una implementación efectiva? ¿Se puede crear un modelo de
diseño?
25. • LLEVAR ACABO EL PLAN
*. ¿La solución marcha conforme al plan? ¿El código fuente se
puede seguir conforme al modelo de diseño?
*. ¿Es probable que cada parte de la solución del componente
sea correcta? ¿Se ha revisado el diseño y el código, ó mejor
aun, se han aplicado al algoritmo pruebas de corrección?
26. Mitos del software
•Los mitos del software son creencias
acerca del software y de los procesos
empleados para construirlo.
27. Mitos del software
• Muchas de las causas de la crisis del software pueden ser
encontradas en una mitología que surge durante los primeros años
del desarrollo del software
• Los mitos del software propagaron información errónea y generaran
confusión.