Introducción a la Ingenieria de Software
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • :::) Like
    Are you sure you want to
    Your message goes here
  • Thanks
    Are you sure you want to
    Your message goes here
  • Bien....
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
5,427
On Slideshare
4,695
From Embeds
732
Number of Embeds
14

Actions

Shares
Downloads
368
Comments
3
Likes
12

Embeds 732

http://soreygarcia.me 357
http://www.soreygarcia.me 133
http://soreygarcia.com 123
http://gc.scalahed.com 56
http://www.soreygarcia.com 24
http://ced.ucla.edu.ve 11
http://localhost 10
http://aulavirtual.utel.edu.mx 4
http://50.63.90.73 4
http://blog.soreygarcia.me 4
http://www.soreygarcia.me. 3
http://cursos.itesm.mx 1
http://soreygarcia.me. 1
https://si0.twimg.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Ingeniería de Software
  • 2. Son las actividades que se realizan para laconstrucción, liberación y evolución de unproducto de software, comenzando con el estudiode una idea y finalizando con el implementaciónfinal del sistema.
  • 3. Requisitos nuevos omodificados Sistema nuevo o modificadoProceso de desarrollode software
  • 4. En ocasiones la Informática se considera en ocasiones como una ciencia desegunda clase, lo que provoca que cualquier persona se considere capaz dehacer un programa.Ello implica que programadores con poca cualificación son a veces losencargados de colaborar o desarrollar importantes aplicaciones informáticas,cuya eficiencia y seguridad en absoluto está garantizada.Saber Programar, NO ES saber Desarrollar SoftwareJosé Manuel García CarrascoEnsayo -¿Es necesario un código de ética en la informática?
  • 5. Métodos Herramientas Enfoque a la Procesos calidad . La gestión total de El proceso define un Los métodos de la Las herramientas la calidad y las marco de trabajo ingeniería de software de la ingeniería del filosofías similares para un conjunto de indican cómo construir técnicamente el software fomentan una áreas clave, las cuales software. Los métodos proporcionan un cultura continua de forman la base del abarcan una gran soporte automáticomejoras de procesos control de gestión de proyectos de gama de tareas que o semi-automático que conduce al incluyen análisis de para el proceso y desarrollo de software y establecen requisitos, diseño, los métodos, a el contexto en el cual: enfoques cada vez construcción de se aplican los programas, pruebas y estas herramientasmás robustos para la métodos técnicos, se mantenimiento. Estos se les llama ingeniería del producen resultados software métodos dependen de herramientas de trabajo, se un conjunto de CASE (Computer- establecen hitos, se principios básicos que Aided Software asegura la calidad y el gobiernan cada área Engineering). cambio se gestiona de la tecnología e adecuadamente. incluyen actividades de modelado y otras técnicas descriptivas
  • 6. formafinal durante su elaboración
  • 7. Practicas y PrincipiosElementos del Proceso - Roger Pressman Actividades Herramientas Personas Proceso de Software Notación Roles Artefactos
  • 8. En la Grafica anterior se muestran los elementos de un proceso de desarrollo de software y susrelaciones. Así las interrogantes se responden de la siguiente forma:Quién: Las Personas participantes en el proyecto de desarrollo desempeñando uno o másRoles específicos.Qué: Un Artefacto es producido por un Rol en una de sus Actividades. Los Artefactos seespecifican utilizando Notaciones específicas. Las Herramientas apoyan la elaboración deArtefactos soportando ciertas Notaciones (Preferiblemente que sean estándares).Cómo y Cuándo: Las Actividades son una serie de pasos que lleva a cabo un Rol durante elproceso de desarrollo. El avance del proyecto está controlado mediante hitos que establecenun determinado estado de terminación de ciertos Artefactos.
  • 9. El ciclo de vida describe losestados por los que pasa un Análisisproducto de software, desdesu concepción hasta sumuerte. DiseñoEl ciclo de vida clásico define Construcciónlas etapas principales delproceso de desarrollo, ycuando es ejecutado en Pruebasforma secuencial se conocecomo Modelo en Cascada Operación y Mantenimiento
  • 10. No existe un proceso de desarrollo de software universal quesea efectivo para todos los contextos de proyectos de desarrollo.Debido a esta diversidad, es difícil por ejemplo, automatizar todoun proceso de desarrollo de software y aun más unificar a losprofesionales del área sobre la ejecución de algún tipo deproceso en particular.Esto hace que existan diferentes metodologías que satisfacen lasvisiones principales de como debería asumirse el proceso dedesarrollo de software
  • 11. sobreIndividuos e Interacciones Procesos y herramientas Software que funciona sobre Documentación exhaustivaColaboración con el cliente sobre Negociación de contratosResponder ante el cambio sobre Seguimiento de un plan
  • 12. • SW funcionando != Documentation Mala • • Propiedad colectiva Mejora de la calidad iterativamente • Colaboración != Contrato Working SW >> Documentation •Nightly Builds (tooOwnership Collective early to tell) Improve Quality Iteratively •RefactorCollaboration>>Contracts (when time appropriate)Precaución •Ever-Present Customers (unlikely to work in real world) •Continuous Integration (unlikely for non-trivial) •Don’t Create Things to Discard (moderation!) • Historias de usuario • Programación en parejas Buena • • Releases frecuentes Reunión “Stand-up” cada día • Crear buenas arquitecturas Diapositiva obtenida de la presentación “A History of Agile Methods” presentada por Alan Davis en JISBD 2002
  • 13. Metodología Ágil Metodología No ÁgilPocos Artefactos Más ArtefactosPocos Roles Más RolesNo existe un contrato tradicional o al Existe un contrato prefijadomenos es bastante flexibleCliente es parte del equipo de El cliente interactúa con el equipodesarrollo (además in-situ) de desarrollo mediante reunionesGrupos pequeños (< 10 integrantes) Grupos grandesy trabajando en el mismo sitioMenos énfasis en la arquitectura La arquitectura es esencial
  • 14. http://vidanp.wordpress.com/2010/02/01/estandares-de-medida/
  • 15. El tema que tiene que ver con procesos es como el habito de comer,uno puede comer de dos maneras, bien o mal en ultima instancia el fin para muchas personas es llenarse… Uno puede comer comida sana o comida chatarra y vive, puede vivir con mas dificultades pero vive,… Sin embargo el que se alimenta bien tiene más posibilidades de sobrevivir Luis Fernando Londoño
  • 16.  Complejidad Costo beneficio Robustez del software Conocimiento disponible
  • 17. El desarrollo de software es una actividad que, dada su complejidad,debe desarrollarse en grupo.Además, esta actividad requiere de distintas capacidades, las que no seencuentran todas en una sola persona. Por ello, se hace necesarioformar el grupo de desarrollo con las personas que cubran todas lascapacidades requeridas.Cada una de esas personas aportará al grupo parte del total de lascapacidades necesarias para llevar a cabo con éxito el desarrollo.
  • 18. Las personas vinculadas aestos roles en un proyecto, son conocidos como los participantes.
  • 19. Administrador o Gerente de ProyectosAnalista FuncionalAnalista DiseñadorArquitectoProgramadorTester o Ingeniero de PruebasAsegurador de CalidadIngeniero de Verificación y ValidaciónAdministrador de la ConfiguraciónDocumentadorIngeniero de ManutenciónClienteUsuario
  • 20. @soreygarcia