Sei sulla pagina 1di 7

ACTIVIDAD 1.

4
Clasificacin de la tecnologa en el desarrollo de software (Tecnologia estructurada y Orientada a Objetos)

18 DE FEBRERO DEL 2013


JOSE ANGEL DURAN REYNOSO - 10400363 Fundamentos de ingeniera de software

1.4 Clasificacion de la tecnologa en el desarrollo de software (tecnologa estructurada y orientada a objetos) Se puede clasificar al software en tres grandes tipos: - Software de programacin Es el conjunto de herramientas que permite al programador desarrollar programas informticos, usando diferentes alternativas y lenguajes de programacin, de una manera prctica. Incluye entre otros: - Editores de texto - Compiladores - Intrpretes - Enlazadores - Depuradores - Entornos de desarrollo integrados (IDE) : Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma que al programador no necesite introducir mltiples comandos para compilar, interpretar, depurar, etc Habitualmente cuentan con una avanzada interfaz grfica de usuario (GUI). - Software de aplicacin : Aquel que permite a los usuarios llevar a cabo una o varias tareas especificas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios, incluye entre otros: - Aplicaciones de sistemas de control y automatizacin - industrial - aplicaciones ofimticas - software educativo - software empresarial - bases de datos - telecomunicaciones - videojuegos - software medico - software de clculo numrico - software de diseo asistido - software de control numrico http://clubensayos.com/Tecnolog%C3%ADa/Introduccion-En-Fundamentos-De-Ingenieria/458270.html

Mientras que el Dr. Ingeniero Gonzalo Len Serrano nos hace mencin a este tema de esta manera: En la presente seccin pasaremos revista a dos grandes grupos de tecnologas de software analizando las principales caractersticas de sus componentes en el momento actual y sealando las tendencias observadas. Las tecnologas identificadas son: a) Tecnologas de desarrollo estructurado. b) Tecnologas orientadas a objetos. Se han seleccionado estas dos porque representan dos estadios distintos de la evolucin tecnolgica en la ingeniera de sistemas de software. Deliberadamente, no entraremos en profundidad en ninguna de ellas. Tecnologas de desarrollo estructurado Las tecnologas de desarrollo estructurado son las ms convencionales de las empleadas hoy da. Han surgido de la evolucin de las ideas de programacin estructurada (hace ms de veinticinco aos) hacia las fases iniciales del ciclo de vida. En su formulacin actual, las notaciones empleadas en las prime-ras fases del ciclo de vida (especificacin de requisitos de usuario y sistema) suelen estar constituidas por lenguajes grficos que permiten: identificar el sistema y el entorno; representar el flujo de informacin entre los elementos; y, describir los datos y las actividades del sistema. La idea base de esta tecnologa es que es posible estructurar el modelo de un sistema de software en base a funciones que procesan informacin que reciben de otras funciones (o del exterior) y dirigen la informacin procesada a otros mdulos funcionales (o al exterior). El enfoque seguido, por tanto, es el de pensar en las funciones del sistema necesarias (extradas de los requisitos del sistema) y luego en los datos que requieren. Entre las ms utilizadas para anlisis y especificacin de requisitos se encuentra SA/RT (Anlisis Estructurado con extensiones para tiempo real). Surgi como un lenguaje grfico capaz de representar las actividades que deber realizar el sistema, los intercambios de informacin entre ellos, etc. La descripcin del comportamiento se realiza mediante diagramas de transicin de estados. Existen otras notaciones basadas en conceptos muy similares y el utilizar una u otra es ms bien un problema de gusto. Las diferencias entre ellos provienen ms de la forma de usarla que de la potencia expresiva del lenguaje. Como evolucin de las tcnicas de anlisis estructurado, en la fase de diseo se han utilizado variantes de SA/RT: SD/RT (Diseo Estructurado con extensiones para Tiempo Real). Al igual que SA/RT consta de un lenguaje grfico no ejecutable e incorporan conceptos tales como: tarea, procesador, colas de mensajes, mecanismos de sincronizacin entre tareas, etc. que son conceptos necesarios en la fase de diseo. En una lnea diferente y para evitar los problemas de la explosin de estados se definieron por Harel los statecharts (variante de los diagramas de estado). Con ellos, se lograba compactar el espacio de estados que resultaba al describir sistemas de gran complejidad al permitir jerarquizacin de estados y descomposicin en componentes. En base a ellos se ha desarrollado una tecnologa estructurada adaptada a sistemas de control denominada Statemate Para la fase de anlisis y especificacin de requisitos, las herramientas estn

asociadas a la construccin de modelos del sistema (modelos lgicos con diagramas de estado asociados). Estas herramientas no son genricas sino que soportan mtodos concretos. Suelen constar de: A) Editores grfico-textuales de la notacin asociada a un mtodo (tanto para describir las funciones como para describir el comportamiento mediante diagramas de estado). B) Comprobadores de consistencia en la informacin relativa a refinamientos del modelo (nombres, tipos, uso, etc. de los elementos definidos en los diagramas). C) Sistema de gestin de la informacin almacenada (en ocasiones basada en bases de datos relacionales u orientados a objetos para gestionar el acceso a la informacin). D) Generadores de prototipos (normalmente de interfaz grfica) con objeto de evaluar los modelos lgicos o de diseo. En las fases de diseo del sistema se dispone del mismo tipo de herramientas aunque en este caso se suele disponer tambin de: analizadores temporales y estimadores de tiempos de ejecucin, generadores de cdigo (ms o menos completos) o facilidades para la utilizacin de componentes genricos contenidos en bibliotecas menos comunes pero cada vez ms conocidas son herramientas como las de animacin grfica de modelos. Estas herramientas aparecen como extensin de las que permiten editar y validar modelos de especificacin y diseo estructurado de sistemas de software. Finalmente, las herramientas que soportan la fase de implementacin son las ms conocidas dado que han estado en su mayor parte presentes desde los comienzos de la programacin: editores (conociendo la sintaxis del lenguaje en algunos casos), compiladores e intrpretes, generadores/optimizadores de cdigo, ejecutores de casos de prueba, depuradores simblicos, etc.

Aunque este tipo de tecnologas de software an se utilizan y sufren rejuvenecimientos peridicos, se est produciendo un desplazamiento de los usuarios hacia tecnologas orientadas a objetos que abordaremos seguidamente. nicamente en el caso de sistemas de tiempo real existe una inercia a su abandono puesto que an no se dispone de tecnologas orientadas a objetos validadas industrialmente en ese dominio. Tecnologas orientadas a objetos Las tecnologas de desarrollo estructurado han demostrado sus limitaciones a la hora de organizar y facilitar la evolucin de sistemas de software complejos. La descomposicin en funciones hace difcil al diseador mantener la relacin con los objetos del mundo real sobre los que se modifican generalmente los requisitos del usuario. Los mtodos de descomposicin orientada a objetos constituyen la tendencia ms influyente observada en la ingeniera de sistemas de software en los ltimos aos. Con ellos nos referimos a un conjunto de mtodos (an en fase de desarrollo o evolucin) que permiten al analista y diseador concebir su sistema identificando clases de objetos, operaciones permitidas y relaciones entre ellos como base para la estructura del sistema a disear. En ellas, un objeto es un conjunto de datos y funciones de manipulacin de los mismos encapsulados en una unidad que es posible tratar como un todo (crear, copiar, destruir, etc.). Un objeto posee unas operaciones visibles a otros objetos aunque stos no conocen cmo estn implementadas. El diseador reconoce inicialmente clases de objetos de las que se derivan los objetos concretos que utilizar en el diseo. Un objeto puede construirse jerrquicamente empleando, a su vez, a otros objetos ms simples. Una clase implica una generalizacin del concepto de objeto (identificando similitudes entre objetos similares) y constituye la base a partir de las cuales se construye el sistema. Existen varias tecnologas orientadas a objetos que, aunque similares en su potencia expresiva, ofrecen algunas diferencias que las hacen ms adecuadas para algn tipo concreto de sistemas. Podemos mencionar como una de las ms representativas a OMT. OMT est soportada por muchas herramientas CASE comerciales. Corresponde a una notacin grfica que permite representar las clases de objetos, sus relaciones y la creacin de ejemplares de los mismos. Aunque bsicamente empleada para la fase de anlisis de requisitos del sistema puede tambin emplearse para las primeras fases del diseo. La descripcin del comportamiento se realiza generalmente asociando a los objetos diagramas de transicin de estados similares a los empleados en las tecnologas de software estructuradas (con los mismos problemas de la explosin de estados). En Booch puede verse una idea general de su tecnologa orientada a objetos. Los mtodos de diseo orientados a objetos suelen facilitar el desarrollo de una implementacin en un lenguaje de programacin orientado a objetos (C++, Ada95 o Eiffel). No obstante, la eleccin del lenguaje de implementacin no es realmente importante y esta eleccin est condicionada por muchas otras razones. Justo es reconocer, sin embargo, que ha sido la Programacin Orientada a Objetos la que ha impulsado tambin la difusin de estas tcnicas. Las herramientas que acompaan a las tecnologas orientadas a objetos y disponibles en sistemas CASE comerciales no se diferencian en esencia de las que aparecen en las tecnologas estructuradas. El nico aspecto destacable es la proliferacin de catlogos de clases para aplicaciones determinadas y los mecanismos de recuperacin y personalizacin asociados.

(Serrano, 1996)

Referencias
Serrano, G. L. (1996). Ingeniera de Sistemas de software. Madrid, Espaa: Isdefe. http://clubensayos.com/Tecnolog%C3%ADa/Introduccion-En-Fundamentos-De-Ingenieria/458270.html

Potrebbero piacerti anche