Historia Procesos de Sw

Transcripción

Historia Procesos de Sw
Breve historia del surgimiento de las
tecnologías, metodologías y
procesos de sw
Rubby Casallas
Maestría en Ingeniería de Sofware
MISO
Tecnologías
70s
80s
90s
00s
10s
Metodologías
Procesos de Sw
Exigencias /
Requerimientos
TECNOLOGÍA
1970
In 1979, Relational
Software, Inc. (now
Oracle) introduced the
first commercially
available
implementation of SQL
1976
Peter Chen
Merging the networks and creating the
Internet
1982 – TCP/IP protocol suite formalized
1982 – Simple Mail Transfer Protocol (SMTP)
1983 – Domain Name System(DNS)
1985 – First .COM domain name registered
1988 – OSI Reference Modelreleased
1991 – World Wide Web(WWW)
1993 – Mosaic web browserreleased
Commercialization, privatization, broader
access leads to the modern Internet:
1995 – New Internet architecture with
commercialISPs
1995 – IPv6 proposed
1999 – IEEE 802.11b wireless networking
2000 – Dot-com bubble bursts
2001 – New top-level domain names activated
2006 – First meeting of the Internet
Governance Forum
2010 – First internationalized country code
top-level domainsregistered
Examples of popular Internet services:
1990 – IMDb Internet movie database
1995 – Amazon.com online retailer
1995 – eBay online auction and shopping
1996 – Hotmail free web-based e-mail
1997 – Babel Fish automatic translation
1998 – Google Search
METODOLOGÍAS
“Crisis de software” acuñado en 1968, en la primera conferencia organizada por
la OTAN sobre desarrollo de software, de la cual nació formalmente la rama de
la ingeniería de software
• Los proyectos no terminaban en plazo.
• Los proyectos no se ajustaban al presupuesto inicial.
• Baja calidad del software generado.
• Software que no cumplía las especificaciones.
• Código inmantenible que dificultaba la gestión y
evolución del proyecto.
Go To Statement Considered Harmful
Edsger W. Dijkstra
Communications of the ACM, Vol. 11, No. 3,
March 1968, pp. 147-148. Copyright © 1968,
Association for Computing Machinery, Inc.
"No Silver Bullet — Essence and Accidents of
Software Engineering") es un documento
ampliamente discutido sobre ingeniería del
software escrito porFred Brooks en 1986.
1975
SIMULA 1970
Smalltalk 70s
C++ 1980
…
Java 1995
CORBA 2.0 in 1997
Bjarne Stroustrup
SIMULA 1970
Smalltalk 70s
C++ 1980
…
Java 1995
CORBA 2.0 in 1997
The object-modeling technique (OMT) is
an object modeling approach
for software modeling and designing. It was
developed around 1991 by Rumbaugh,
El método desarrollado por Ivar Jacobson
OOSE ha sido llamado “un enfoque para el
manejo de casos de uso”, en este enfoque el
modelo de casos de uso sirve como un modelo
central del cual todos los otros modelos son
derivados. Un modelo de casos de uso
describe la funcionalidad completa del
sistema, identificando como, todo lo que esta
fuera del sistema, interactúa con él.
PROCESOS DE SOFTWARE
• Waterfall
• Espiral
• CMMI
• PSP/TSP
• RUP
• Ágiles
• Lean
Royce, Winston (1970), "Managing the
Development of Large Software
Systems", Proceedings of IEEE
WESCON 26 (August): 1–9
“… the implementation described above is
risky and invites failure.”
1986
http://www.softwaremetrics.com/Articles/history.htm
http://www.softwaremetrics.com/Articles/history.htm
1981
2001
Barry Boehm in his 1986
1979
1989
The Capability Maturity Model was originally developed
as a tool for objectively assessing the ability of government
contractors' processes to perform a contracted software
project.
The model is based on the process maturity framework first
described in the 1989 book Managing the Software
Process by Watts Humphrey. It was later published in a report
in 1993 and as a book by the same authors in 1995.
ALENDARIO DE ADJUDICACIÓN
Última actualización: 28/01/2014
ACTIVIDAD
FECHA
Apertura convocatoria
Cierre de convocatoria
27 de Enero de 2014
10 de Marzo de 2014
Evaluación
11 de marzo al 14 de marzo de 2014
Reunión Junta Administradora para
adjudicar créditos
17 de marzo de 2014
Publicación resultados
18 de Marzo de 2014
Legalización de créditos
18 de Marzo al 11 de Abril de 2014
Proceso de capacitación y certificación
Del 11 de Abril al 15 de Julio
Disciplinas y Actividades
• Cada disciplina puede tener asociada varias
actividades (Steps)
• Cada actividad se describe como un flujo de
trabajo (Workflow)
• Cada flujo de trabajo describe:
– el qué: los entregables o artefactos
– el cómo: las tareas
– el quién: los roles
Ejemplo de un flujo de trabajo
56
Se expresa en un diagrama
de actividades UML
Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html
Ejemplo de un flujo de trabajo
57
Se expresa en un diagrama
de actividades UML
Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html
Ejemplo de un flujo de trabajo detallado
58
Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html
Ejemplo de un flujo de trabajo detallado
Artefactos
Roles
Tareas
59
Roles
• Analyst
– Business-Process
Analyst
– Business Designer
– Business-Model
Reviewer
– Requirements Reviewer
– System Analyst
– Use-Case Specifier
– User-Interface Designer
• Developer
– Architect
– Architecture Reviewer
– Capsule Designer
– Code Reviewer
– Database Designer
– Design Reviewer
– Designer
– Implementer
– Integrator
60
2006
Roles on the Contractor s Software
Development Team
On February 11-13, 2001, at The Lodge at Snowbird ski resort in the Wasatch
mountains of Utah, seventeen people met to talk, ski, relax, and try to find
common ground and of course, to eat. What emerged was the Agile Software
Development Manifesto.
Representatives from Extreme Programming, SCRUM, DSDM, Adaptive
Software Development, Crystal, Feature-Driven Development, Pragmatic
Programming, and others sympathetic to the need for an alternative to
documentation driven, heavyweight software development processes convened.
Now, a bigger gathering of organizational anarchists would be hard to find, so
what emerged from this meeting was symbolic a Manifesto for Agile Software
Development signed by all participants.
Principios del Manifiesto Ágil
• Nuestra mayor prioridad es satisfacer al cliente
mediante la entrega temprana y continua de software con
valor
• Aceptamos que los requisitos cambien, incluso en
etapas tardías del desarrollo. Los procesos Ágiles
aprovechan el cambio para proporcionar ventaja
competitiva al cliente
• Entregamos software funcional frecuentemente, entre dos
semanas y dos meses, con preferencia al periodo
de tiempo más corto posible
67
Principios del Manifiesto Ágil (2)
• Los responsables de negocio y los desarrolladores
trabajamos juntos de forma cotidiana durante todo el
proyecto
• Los proyectos se desarrollan en torno a
individuos motivados. Hay que darles el entorno y el
apoyo que necesitan, y confiarles la ejecución del trabajo
• El método más eficiente y efectivo de
comunicar información al equipo de desarrollo y entre
sus miembros es la conversación cara a cara
• El software funcionando es la medida principal
de progreso
68
Principios del Manifiesto Ágil (3)
• Los procesos Ágiles promueven el desarrollo
sostenible. Los promotores, desarrolladores y usuarios
debemos ser capaces de mantener un ritmo constante de
forma indefinida
• La atención continua a la excelencia técnica y al
buen diseño mejora la agilidad
• La simplicidad, o el arte de maximizar la cantidad de
trabajo no realizado, es esencial
• Las mejores arquitecturas, requisitos y diseños
emergen de equipos auto-organizados
69
Principios del Manifiesto Ágil (4)
• A intervalos regulares el equipo reflexiona sobre
cómo ser más efectivo para a continuación ajustar y
perfeccionar su comportamiento en consecuencia
70
eXtreme Programming XP: 12
Prácticas
72
1.
2.
3.
4.
5.
6.
7.
Eliminate waste
Amplify learning
Decide as late as possible
Deliver as fast as possible
Empower the team
Build integrity in
See the whole

Documentos relacionados