Vous êtes sur la page 1sur 7

CONTEXTO GENERAL DEL DESARROLLO DE SISTEMAS

El Ingeniero de Sistemas en la sociedad actual tiene la misin de proporcionar soluciones, habitualmente, a partir del uso y aplicacin de las computadoras. Para poder cumplir con ese cometido, este profesional generalmente necesita realizar un tipo de trabajo especfico conocido como programacin, desarrollo de sistemas o desarrollo de software. En el desarrollo de software, como en cualquier otro proceso de construccin, intervienen tres elementos clave que son necesarios para la obtencin de un producto final que cumpla con las necesidades de los usuarios y que se elabore dentro de los plazos de tiempo establecidos; dichos elementos son: A. Herramientas HERRAMIENTAS B. Notacin C. Proceso Desarrollo de SW
NOTACIN PROCESO

A. HERRAMIENTAS: Las herramientas utilizadas para el desarrollo de software normalmente suelen ser otros productos software que permiten que el equipo de desarrollo pueda disear, implementar, implantar y documentar una solucin de software para un problema dado. Dichas herramientas pueden ser de los siguientes tipos: 1. Lenguajes de Programacin 2. Gestores de Bases de Datos (DBMS) 3. Herramientas de Ingeniera de Software (CASE) 1. LENGUAJES DE PROGRAMACIN: La programacin es una actividad en la que desarrolladores (programadores) hacen uso de lenguajes de programacin para poder dar instrucciones a la computadora; dichas instrucciones estn enfocadas a dar solucin a problemas especficos y son el resultado de procesos previos de anlisis y diseo. Cabe indicar que a partir del surgimiento de las computadoras han existido diferentes tipos de lenguajes de programacin, cuyas caractersticas principales se resumen a las siguientes: Tipos de Lenguajes de Programacin Lenguajes de Mquina Ej: Cdigo Binario:
11010001

Caractersticas Principales Forma nativa de procesamiento de la computadora. Tipo de programacin tediosa y complicada. Instrucciones expresadas en forma numrica. Programacin muy propensa a errores lgicos y sintcticos. Productividad del programador muy limitada. Resultado de la abstraccin de los lenguajes de mquina. Surgimiento del Lenguaje Ensamblador como herramienta

Lenguajes de Bajo Nivel Ej: Assembler:

mov bx, i

Lenguajes de Alto Nivel Ej: JAVA:


do sentencia; while (CondBooleana);

automtica para generar cdigo de mquina. Redujo los errores triviales de la programacin en lenguajes de mquina: manejo de nmeros. Instrucciones mnemotcnicas para expresar operaciones. Programacin muy propensa a cometer errores de lgica. Productividad del programador muy limitada. Surgen a partir de los aos 60s. Resultado de de la abstraccin de los leng. de bajo nivel. Nacimiento de FORTRAN como primer lenguaje de alto nivel (FORmula TRANslation). Utilizan instrucciones con sentencias similares a los lenguajes humanos. Busca el mayor nivel de abstraccin posible para facilitar el trabajo del programador y aumentar su productividad. Ejemplos de lenguajes de alto nivel son: Pascal, C, C++, C#, Java, Delphi, Visual Basic, Phyton, PHP, etc.

2. GESTORES DE BASES DE DATOS (SGBD): Un Sistema de Gestin de Base de Datos (SGBD; en ingls, Database Mangement System: DBMS) es un conjunto de programas que permite a los programadores crear y mantener una base de datos. El SGBD es un sistema software de propsito general que facilita el proceso de definir, construir y manipular bases de datos para diversas aplicaciones. Construir una base de datos es el proceso de guardar los datos mismos en algn medio de almacenamiento controlado por el SGBD. Algunos ejemplos de los DBMS ms utilizados en la actualidad son: Oracle, PostGreSQL, Dbase, Informix, SQL Server y otros. 3. HERRAMIENTAS DE INGENIERA DE SOFTWARE (CASE): Las herramientas de Ingeniera de Software, tambin conocidas como herramientas CASE (Ingeniera de Software Asistida por Computadora) son diferentes tipos de programas que se utilizan para ayudar a las actividades del proceso de elaboracin de software (como el anlisis, el modelado, la implementacin y la documentacin). Las herramientas CASE incluyen generadores que automticamente producen cdigo fuente a partir de los modelos que son elaborados previamente; esto implica una mejora considerable a la productividad del equipo de desarrollo ya luego de elaborados los diferentes modelos, no es necesario trabajar en la correspondiente implementacin a cdigo fuente, ya que automticamente es generado por la herramienta CASE. Algunos ejemplos de las herramientas CASE ms populares en la actualidad son: Rational Rose, ERwin, Enterprise Architect, Omondo y otras. B. NOTACIN: De forma general, una notacin es un Sistema de signos convencionales que se adopta para expresar ciertos conceptos de una disciplina concreta.

En el desarrollo de software, la notacin es utilizada para plasmar y permitir la comunicacin de ideas entre todos los miembros involucrados en el desarrollo del sistema. De forma general se pueden considerar los siguientes tipos de involucrados en la produccin de sistemas de software: Rol Analistas Arquitectos Desarrolladores Testers (Control de Calidad) Lderes de Proyecto Usuarios Finales Inversionistas Descripcin Quienes especifican la estructura y comportamiento requerido de un sistema. Quies disean sistemas que satisfacen los requisitos plasmados por los analistas. Quienes convierten las arquitecturas diseadas en cdigo ejecutable. Quienes verifican y validan la estructura y comportamiento del sistema. Quienes orquestan y orientan los recursos necesarios para desarrollar el sistema. Quienes utilizarn el producto software final. Quienes con recursos, patrocinan y financian el proyecto.

Segn Roger Pressman, existen 3 tipos bsicos de notacin: 1. Las Notaciones Algortmicas 2. Las Notaciones Tabulares 3. Las Notaciones Grficas 1. NOTACIONES ALGORTMICAS Las notaciones algortmicas son conocidas tambin como Lenguajes de Diseo de Programas (LDP). Este tipo de notacin se basa en el uso de Pseudocdigo a partir de la adopcin, a la forma natural de expresin del lenguaje del programador, de la sintaxis de algn lenguaje de programacin de alto nivel. Es una forma de notacin bsica cuyos orgenes se remontan al periodo de apogeo del paradigma estructurado. 2. NOTACIONES TABULARES Este tipo de notacin se basa en el uso de tablas de decisin (tambin llamadas de condicin) que permiten plasmar requerimientos, definir condiciones y orientar acciones. La forma bsica de una tabla de decisin es la siguiente:

3. NOTACIONES GRFICAS Es el tipo de notacin ms ampliamente utilizado por los diseadores para plasmar las ideas que se tienen para el desarrollo de proyectos. Se basa en el hecho de utilizar elementos grficos que idean la forma lgica y estructural que tendr un sistema.

Ejemplos de notaciones grficas son los conocidos Diagramas de Cajas y Diagramas de Flujos que se adaptan muy bien al Paradigma Estructurado; como tambin UML que fue concebido en base a los principios del Paradigma Orientado a Objeots. C. PROCESO: Un proceso o metodologa de desarrollo de software sirve para que, dentro de un equipo de desarrollo de software, se pueda organizar y definir quin debe hacer que y cuando debe hacerlo. Un proceso de desarrollo indica de forma general los pasos a seguir para producir organizada y econmicamente software de alta calidad. Los procesos de desarrollo de software estan construidos sobre la base conceptual de: 1. Los diferentes Modelos de Desarrollo de Software 2. Los Paradigmas de Programacin. PROCESOS DE DESARROLLO DE SOFTWARE (METODOLOGAS) MODELOS DE DESARROLLO DE SW PARADIGMAS DE PROGRAMACIN

4. MODELOS DE DESARROLLO DE SOFTWARE Un Modelo de Desarrollo de Software es una representacin simplificada de un proceso que conlleva una estrategia global para abordar el desarrollo de software. A continuacin se presentan los modelos de proceso de software mas conocidos: Codificar y corregir (code-and-fix) Desarrollo en cascada Desarrollo evolutivo Desarrollo formal de sistemas Desarrollo basado en reutilizacin Desarrollo incremental Desarrollo en espiral

5. PARADIGMAS O ENFOQUES DE PROGRAMACIN Los paradigmas de Programacin son corrientes metodolgicas o modelos que guan la forma de encarar el anlisis, diseo y desarrollo de soluciones de problemas a partir de la forma de programacin misma. Los paradigmas de programacin ms importantes son el Paradigma Estructurado y el Paradigma Orientado a Objetos. A continuacin se mencionan las caractersticas ms importantes de dichos paradigmas: Paradigma Estructurado Caractersticas Principales Tambin llamada Programacin Estructurada, Enfoque Estructurado o Desarrollo Estructurado. Estilo de programacin seguido por lenguajes procedimentales como: Fortran, Basic, Cobol, C y C++. Este enfoque de programacin se centra en las operaciones y los datos de forma independiente, en base a la siguiente ecuacin: Datos + Algoritmos = Programas. nfasis en la transformacin de datos, sin que estos estn protegidos ante modificaciones accidentales. Funciones y datos tratados como entidades separadas. Cdigo fuente difcil de entender y mantener. Existe poca correspondencia entre el modelado de la realidad y la programacin misma realizada bajo este enfoque. Metodologa poco aplicable a proyectos de gran envergadura. Tambin llamada Programacin Orientada a Objetos, Enfoque Orientado a Objetos o Desarrollo Orientado a Objetos. Estilo de programacin seguido por lenguajes orientados a objetos como: Java, Visual Basic, C#. Las entidades centrales de este tipo de programacin son los objetos, que son tipos de datos que encapsulan con el mismo nombre estructuras de datos y las operaciones que manipulan dichos datos. nfasis en la abstraccin de datos, protegiendo a los mismos ante modificaciones accidentales mediante mecanismos de encapsulacin. Este enfoque presenta grandes facilidades de compresin de cdigo fuente y facilidades de mantenimiento. Correspondencia directa entre los elementos del mundo real y la forma de programacin mediante este enfoque. Metodologa idnea para el desarrollo de aplicaciones de gran envergadura.

Orientado A Objetos

Cabe aclarar que adems de los paradigmas de programacin estructurados y orientados a objetos existen otros paradigmas de programacin, como lo son: El Paradigma de Programacin Lgica (Prolog); el Paradigma de Programacin Funcional (Lisp).

Entonces, en funcin a los paradigmas de programacin mencionados, diferentes autores han confeccionado y propuesto diferentes procesos o metodologas para orquestar el desarrollo de software. Algunos de estos se detallan a continuacin:
PROCESOS DE DESARROLLO DE SOFTWARE (METODOLOGAS)

ESTRUCTURADOS

ORIENTADOS A OBJETOS

BOOCH

OOSE

METRICA 3

OMT

OOA

S.A.D.T.

S.A.S.D.

MERISE

OTRAS

R.D.D.

RUP

CATALYSIS

Proceso S.A.D.T. R.D.D. S.A.S.D. MERISE MTRICA 3 BOOCH OMT OOSE OOA RUP XP CATALYSIS

Nombre Completo Structured Analysis and Desing Technique Requirement Driven Desing Structured Analysis and Structured Design ??? ??? ??? Object Modeling Technique Object Oriented Software Engineering Object Oriented Analysis Rational Unified Process eXtreme Programming Catalysis

Autor(es) Ross Alford Yurdon & Constantine Gobierno Francs Gobierno Espaol Booch Rumbaugh Jacobson Goldberg Booch & Jacobson & Rumbaugh ??? D Souza

Es importante mencionar que no existe una metodologa de software aplicable a todos los procesos de desarrollo de software. Las caractersticas de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable a cada caso particular. ELEMENTOS DE LOS PROCESOS DE DESARROLLO DE SOFTWARE: De forma general todo proceso de desarrollo de software deber considerar los siguientes elementos y sus relaciones:

XP

Ao 1985 1985 1979 ?? 2001 ?? 1993 1994 ??? 1998 ??? 1998

Vous aimerez peut-être aussi