SlideShare una empresa de Scribd logo
1 de 27
METODOLOGIA DE
DESARROLLO DE
SOFTWARE
Profesor: Ing, Alba Vargas
Unidad I
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.
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.
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.
• 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.
• 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.
• 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.
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.
CARACTERISTICAS DEL SOFTWARE
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.
• 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.
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.
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)
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).
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
• 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.
• 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.
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?
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.
• 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.
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.
• 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).
• 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?
• 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?
• 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?
Mitos del software
•Los mitos del software son creencias
acerca del software y de los procesos
empleados para construirlo.
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.

Más contenido relacionado

Similar a UNIDAD_I.ppt

Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Jose Garcia
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
Edwin Alexander
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
Pablo Niama
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
Marijoalbarranb
 

Similar a UNIDAD_I.ppt (20)

Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
Metodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de informaciónMetodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de información
 
JavierPerez_Ing
JavierPerez_IngJavierPerez_Ing
JavierPerez_Ing
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Inf 162
Inf 162Inf 162
Inf 162
 
Ingeniería de software 2
Ingeniería de software 2Ingeniería de software 2
Ingeniería de software 2
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
Presentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptxPresentación Sesión 1 Ingeniería del Software.pptx
Presentación Sesión 1 Ingeniería del Software.pptx
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelos
 
Examen omar
Examen omarExamen omar
Examen omar
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 

UNIDAD_I.ppt

  • 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.