You are on page 1of 29

Definiciones Lingsticas

Mtodo Desde el punto de vista de los diccionarios de la lengua espaola, un mtodo se define como: 1) Modo de decir o hacer una cosa con orden, 2) Modo de obrar o proceder; hbito o costumbre que cada uno tiene y observa.

Definiciones Lingsticas
Mtodo Bajo la perspectiva de Webster de ingls, mtodo se define como: 1) Manera o modo de proceder, 2) Manera de hacer algo de acuerdo con un plan definido, 3) Configuracin ordenada y sistemtica.

Definiciones Lingsticas
Mtodo En las anteriores definiciones se centra la atencin en el modo o manera de hacer algo el CMO y en un plan sistemtico para hacerlo. As que una primera aproximacin de definicin orientada a Ingeniera de Software IS es: un mtodo es la manera de hacer

algo siguiendo sistemtico.

un

plan

definido

Definiciones Lingsticas
Proceso Desde la perspectiva de los diccionarios de la lengua espaola, proceso tiene las siguientes connotaciones: 1) Accin de ir hacia delante 2) Transcurso del tiempo 3) Conjunto de las fases sucesivas de un fenmeno natural o de una operacin artificial.

Definiciones Lingsticas
Proceso De acuerdo con Webster de ingls un proceso es: 1) Serie de acciones sistemticas dirigidas a un fin, 2) Accin continua, operacin o serie de cambios que tienen lugar de una manera definida.

Definiciones Lingsticas
Proceso En el contexto del lenguaje de empresa el estndar ISO, define proceso como una

coleccin de pasos que tienen lugar de una manera prescrita y que conduce al logro de algn resultado.

Definiciones Lingsticas
Proceso El principal aspecto comn de las anteriores definiciones es que proceso enfatiza en lo que se debe hacer, en QUE acciones efectuar y en la existencia de un fin predeterminado o meta.

Definiciones Lingsticas
Proceso En la IS, se plantea la siguiente aproximacin de definicin: Un proceso es un conjunto de

cambios continuos de estado (fases), reconocibles en una operacin artificial, que se llevan a cabo con un fin predeterminado. Entendiendo que el desarrollo de sistemas software es una operacin artificial.

Definiciones Lingsticas
Procedimiento Como ste trmino se usa con frecuencia en las definiciones de mtodo y proceso, y en algunas ocasiones se les usa con semntica equivalente.

Definiciones Lingsticas
Procedimiento Segn los diccionarios de la lengua espaola, procedimiento se define como: 1) Accin de proceder, 2) Mtodo de ejecutar algunas cosas; Segn el diccionario Webster procedimiento es la Manera de proceder en una accin o proceso.

Definiciones Lingsticas
Procedimiento Con lo anterior y la definicin de proceder de los diccionarios de la lengua espaola, podemos decir que: Un procedimiento

describe la manera de ejecutar sucesivamente algunas cosas (o acciones), que pueden tener un determinado precedente.

Notando que el procedimiento se centra en el CMO, pero es mucho ms conciso que un mtodo.

Mtodo y Proceso en el entorno de Desarrollo de Sw


Conjunto de pasos y procedimientos que deben seguirse para el desarrollo de software
Cmo se debe dividir un proyecto en etapas. Qu tareas se llevan a cabo en cada etapa. Heursticas para llevar a cabo dichas tareas. Qu salidas se producen y cundo se deben producir. Qu restricciones se aplican. Qu herramientas se van a utilizar. Cmo se gestiona y controla un proyecto.

Mtodos de desarrollo de software


Conjunto de pasos y procedimientos que deben seguirse para el desarrollo de software
Cmo se debe dividir un proyecto en etapas. Qu tareas se llevan a cabo en cada etapa. Heursticas para llevar a cabo dichas tareas. Qu salidas se producen y cundo se deben producir. Qu restricciones se aplican. Qu herramientas se van a utilizar. Cmo se gestiona y controla un proyecto.

Mtodos de desarrollo de software


Es necesario establecer un enfoque disciplinado y sistemtico para desarrollar un proyecto de software

Mtodo

Mtodo Notacin

Mtodo Tcnica
Mtodo Metodologa

Qu es un mtodo de desarrollo de software?


Conjunto de procedimientos, tcnicas, herramientas, y un soporte documental que ayuda a los desarrolladores a producir nuevo software
Modelo de proceso (fases y subfases, actividades,

tareas)

Puede acomodar varios ciclos de vida: Ciclo de vida: qu hay que producir, no cmo Mtodo: qu y cmo

Procedimientos que dan lugar a productos Tcnicas (grficas, textuales) (p.ej. DFDs, E/R, HVE) Herramientas (p.ej. System Architect 2001)

Qu es un mtodo de desarrollo de software? (II)


Definicin alternativa de (Sommerville 2002) Un mtodo de ingeniera de software es un enfoque estructurado para el desarrollo de software cuyo propsito es facilitar la produccin de software de alta calidad de una forma costeable. Todos los mtodos se basan en la idea de modelos grficos de desarrollo de un sistema y en el uso de estos modelos como un sistema de especificacin o diseo.

Qu es un mtodo de desarrollo de software? (III)


Componentes
Descripciones del modelo del sistema

Descripcin
Descripciones de los modelos del sistema que se desarrollar y la notacin utilizada para definir estos modelos

Ejemplo
Modelos de objetos, de flujo de datos, de mquina de estado, etc.

Reglas

Restricciones que siempre aplican a los modelos de sistemas


Heurstica que caracteriza una buena prctica de diseo en este mtodo. Seguir estas recomendaciones debe dar como resultado un modelo del sistema bien organizado. Descripciones de las actividades que deben seguirse para desarrollar los modelos del sistema y la organizacin de estas actividades.

Cada entidad de un modelo de sistema debe tener un nombre nico


Ningn objeto debe tener ms de 7 subobjetos asociados a l.

Recomendaciones

Guas en el proceso

Los atributos de los objetos deben documentarse antes de definir las operaciones asociadas a un objeto.

Los Modelos de Procesos de Software y El desarrollo de SW


Una metodologa, mtodo, proceso de desarrollo, etc. puede seguir uno o varios modelos de proceso de desarrollo, es decir, Este indica qu es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cmo hacerlo. La metodologa, mtodo o proceso indica cmo hay que obtener los distintos productos parciales y finales

Mtodos de desarrollo Beneficios


Sistemas de mayor calidad
pero el seguimiento de una metodologa no basta!

Proceso de desarrollo (modelo de procesos) definido productos intermedios en cada fase mejor planificacin y gestin del proyecto
desarrollos ms rpidos recursos adecuados

Proceso estndar en la organizacin facilidad de cambios de personal

Mtodos de desarrollo Adaptacin del mtodo


No existe un mtodo universal o ideal
Mtodos diferentes tienen distintas reas donde son aplicables
P.ej., los mtodos OO son adecuados para sistemas interactivos, pero no para sistemas en tiempo real con requisitos severos (Sommerville 2002)

El mtodo est condicionado por el tamao y estructura de la organizacin, y el tipo de aplicaciones. No es razonable pensar que dos organizaciones utilicen la misma metodologa sin realizar cambios sobre ella.
(entre otras razones) Proliferacin de metodologas, tcnicas, notaciones

Mtodos de desarrollo Caractersticas deseables


Existencia de reglas predefinidas.
Fases y subfases, tareas, productos intermedios, tcnicas, herramientas, etc.

Cobertura total del ciclo de desarrollo. Verificaciones intermedias. Planificacin y control. Comunicacin efectiva. Uso sobre un amplio abanico de proyectos. Fcil formacin.

Mtodos de desarrollo Caractersticas deseables (II)


Herramientas CASE. Debe contener actividades que mejoren el proceso de desarrollo. Soporte al mantenimiento.
p.ej. reingeniera

Soporte de la reutilizacin del software


no slo reutilizacin de cdigo

Actualmente, se huye de mtodos muy burocrticos o monolticos Mtodos giles

Mtodos giles
(Sommerville 2004) En los 80 y principios de los 90, exista un acuerdo generalizado en que la mejor forma de desarrollar buen software era a travs de:
Cuidadosa planificacin del proyecto Formalizar el aseguramiento de calidad Mtodos de anlisis y diseo soportados por herramientas CASE Proceso de desarrollo controlado y riguroso

Proceda de la experiencia de desarrollo de sistemas software grandes, de larga vida, que estaban compuestos de un gran nmero de programas
Muchas veces estos sistemas eran crticos Grandes equipos de desarrollo, a veces geogrficamente dispersos, a veces trabajando incluso para empresas distintas
P.ej., el software para un sistema de control de un avin
A veces lleva diez aos desde la especificacin inicial al despliegue

En estos sistemas era necesario una sobrecarga en planificacin, diseo y documentacin del sistema

Mtodos giles (II)


Qu ocurre cuando se aplican estos mtodos heavyweight a una aplicacin de gestin de tamao medio o pequeo?

La sobrecarga de trabajo (requisitos, diseo, documentacin) domina el proceso de desarrollo Se dedica ms tiempo a cmo el sistema ser desarrollado que a programacin y prueba Cada vez que cambia un requisito hay que hacer mucho trabajo de rediseo y redocumentacin
Insatisfaccin del cliente y del equipo de desarrollo

A finales de los 90, aparecen mtodos giles (lightweight) como extreme programming (Beck 2000)
Atencin al software ms que al diseo y la documentacin Iterativos e incrementales

Mtodos giles (III)


Principios de los mtodos giles
Implicacin del cliente

Descripcin
Los clientes deberan estar muy involucrados en el proceso de desarrollo. Deben proporcionar y otorgar prioridades a los nuevos requisitos del sistema y evaluar las iteraciones del sistema. El software es desarrollado en incrementos, y es el cliente el que especifica los requisitos que se deben incluir en cada incremento. Las destrezas del equipo de desarrollo deben ser reconocidas, y se les debe sacar partido. Los miembros del equipo deberan poder usar sus propias formas de trabajo (creatividad) en lugar de trabajar con procesos prescriptivos. Ser consciente de que los requisitos del sistema cambiarn, de manera que se debe disear el sistema para acomodar esos cambios. El enfoque debe estar en la simplicidad, tanto en el software como en el proceso de desarrollo. Donde sea posible, trabajar activamente para eliminar la complejidad del sistema.

Entrega incremental Personas, no proceso

Asumir el cambio

Mantener la simplicidad

Mtodos giles (IV)


Cundo son tiles? (Sommerville 2004)
tiles para aplicaciones de gestin y productos software de tamao pequeo o medio con requisitos que cambian rpidamente durante el proceso de desarrollo No son tiles en desarrollo de software de gran escala con equipos de desarrollo en lugares distintos y con interacciones complejas con otros sistemas software y hardware. Tampoco son tiles en sistemas crticos en los que es necesario un anlisis detallado de los requisitos del sistema para comprender las implicaciones de seguridad (security y safety)

Con los mtodos giles, dnde queda el SRS como contrato con los clientes?

Mtodos. Clasificacin
ENFOQUE TIPO DE SISTEMA FORMALIDAD

ESTRUCTURADOS Orientados a procesos Orientados a datos Jerrquicos No jerrquicos Mixtos OO

GESTIN

NO FORMAL

TIEMPO REAL

FORMAL

Mtodos. Clasificacin (II)


Estructurados: representan los procesos, flujos y estructuras de datos, de una manera jerrquica, descendente
Ven el sistema como entradas-proceso-salidas Orientados a procesos:
se centran en la parte proceso constan de (fundamentalmente) DFDs, DD, miniespecificaciones de proceso, E-R/DED

Orientados a datos:
se orientan ms a las entradas y salidas primero se definen los datos a partir de ellos, los componentes procedimentales Los datos son ms estables

Mtodos. Ejemplos
Estructurados
De Marco 79 Gane & Sarson 79 Yourdon 89 SSADM Merise MTRICA 2.1

OO
OMT (Rumbaugh et al. 91) Booch 94 Objectory/OOSE (Jacobson 93) FUSION (Coleman 94) OOram (Reenskaug 96) Proceso Unificado (Jacobson et al. 99) Rational Unified Process (RUP) (Krutchen et al. 99)

Orientados a datos
JSP/JSD Jackson Warnier 74

Tiempo real
Ward & Mellor 85 Hatley & Pirbhay 87

You might also like