jueves, 8 de noviembre de 2012

Metodologías o procesos de desarrollo de software.


Es un  framework  o marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información y consiste en:
§  Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de software
§  Herramientas, modelos y métodos para asistir al proceso de desarrollo de software
Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología.
Algunas metodologías;
1970s
§  Programación estructurada sol desde 1969
§  Programación estructurada Jackson desde 1975
1980s
§  Structured Systems Analysis and Design Methodology (SSADM) des de 1980
§  Structured Analysis and Design Technique (SADT) des de 1980
§  Ingeniería de la información (IE/IEM) desde 1981
1990s
§  Rapid application development (RAD) des de 1991.
§  Programación orientada a objetos (OOP) a lo largo de la década de los 90's
§  Virtual finite state machine (VFSM) des de 1990s
§  Dynamic Systems Development Method desarrollado en UK des de 1995.
§  Scrum (desarrollo), en la última parte de los 90's
§  Rational Unified Process (RUP) des de 1999.
Nuevo milenio
§  Extreme Programming(XP) desde 1999
§  Enterprise Unified Process (EUP) extensiones RUP desde 2002
§  Constructionist design methodology (CDM) des de 2004 por Kristinn R. Thórisson
§  Agile Unified Process (AUP) des de 2005 por Scott Ambler.

Modelado de sistema


EL modelado de sistemas no es más que el intercambio de información de diseño e ideas usando entre cliente y diseñador utilizando los medios que siempre han sido populares: pizarras, cuadernos y trozos de papel por nombrar algunos. Pero actualmente se puede leer que es mucho más fácil darle el moldeado a un sistema por medio de la notación UML, sirve mejor por lo cual puede ser usada para capturar, guardar, rechazar, integrar automáticamente información, y diseño de documentación.

Técnicas y Herramientas en el proceso de desarrollo de software


Técnicas:

Las técnicas que se podrían utilizar en la elaboración de un software seria el procedimiento o conjunto de reglas, normas o protocolos, que tienen como objetivo obtener un resultado determinado para que dicho software sea lo más parecido a las exigencias del cliente, podrían ser: 

Técnica para la Recopilación de Datos
La recolección de datos se refiere al uso de una gran diversidad de técnicas y herramientas que pueden ser utilizadas por el analista para desarrollar los sistemas de información, los cuales pueden ser;
Las entrevistas: Es una técnica de obtención de información mediante el diálogo mantenido en un encuentro formal y planeado.
La encuesta: estudio en el cual el investigador obtiene los datos a partir de realizar un conjunto de preguntas normalizadas dirigidas a una muestra representativa o al conjunto total de la población.
El cuestionario: es un conjunto de preguntas sobre los hechos o aspectos que interesan en una investigación y son contestados por los encuestados. 
La observación: Es una técnica que consiste en observar atentamente el fenómeno, hecho o caso, tomar información y registrarla para su posterior análisis.
Técnica de Costo-Beneficios 
El análisis de costo-beneficio es una técnica analítica que enumera y compara el costo neto de una intervención con los beneficios que surgen como consecuencia de aplicar dicha intervención.
Técnica de Planificación y Control de Proyectos</sup>
La Planificación y Control de Proyectos de Software comprende una serie de procedimientos, sin embargo, se mencionaran solo los más complejos y/o significativos, los cuales son:
Objeto
Alcance
Entradas
Salidas Desarrollo
Planificación
Programación
Control



Herramientas:

Las Herramientas dan  ayuda al desarrollo de Sistemas de Información, ayudan a solucionar  los problemas que se nos presentan en los proyectos y desarrollos de aplicaciones informáticas.

Tal  es el caso que para el desarrollo de software libre se pueden conseguir unas cuantas herramientas  pero todas utilizan la notación UML.
Existen herramientas orientadas a una db en especifico y estas son MySql y PostgreSQL, el de MySql (MySql WorkBench no es libre).

También se puede utilizar, Herramientas para Ingeniería de Software Asistida por Computadora (CASE) Son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información.

Clasificación de las herramientas CASE

No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a:

• Las plataformas que soportan.
• Las fases del ciclo de vida del desarrollo de sistemas que cubren.
• La arquitectura de las aplicaciones que producen.
• Su funcionalidad.