Está en la página 1de 26

Ingeniera del Software y

Lenguaje Unificado de
Modelado UML
Ingeniera de Software
Es la rama de la ingeniera que aplica los
principios de la ciencia de la computacin y las
matemticas para lograr soluciones costo-
efectivas (eficaces en costo o econmicas) a los
problemas de desarrollo de software.
El proceso de ingeniera de software se define como "un conjunto
de etapas parcialmente ordenadas con la intencin de lograr un
objetivo, en este caso, la obtencin de un producto de software
de calidad".

El proceso de desarrollo de software "es aquel en que las
necesidades del usuario son traducidas en requerimientos de
software, estos requerimientos transformados en diseo y el
diseo implementado en cdigo, el cdigo es probado,
documentado y certificado para su uso operativo".
Concretamente "define quin est haciendo qu, cundo
hacerlo y cmo alcanzar un cierto objetivo".
Ingeniera de Software
Ingeniera de Software
El proceso de desarrollo de software requiere conjunto de
conceptos, una metodologa y un lenguaje propio.

A este proceso tambin se le llama el ciclo de vida del
software que comprende cuatro grandes fases:

1. Concepcin: Define le alcance del proyecto,
2. Elaboracin: Define un plan del proyecto, especifica las
caractersticas y fundamenta la arquitectura.
3. Construccin: Crea el producto y
4. Transicin: Transfiere el producto a los usuarios.tas
Ingeniera de Software

Pasos del proceso

1. Anlisis de requisitos
2. Especificacin
3. Diseo y arquitectura
4. Programacin
5. Prueba
6. Documentacin
7. Mantenimiento
Anlisis de Requisitos
Extraer los requisitos de un producto de software es
la primera etapa para crearlo.

Mientras que los clientes piensan que ellos saben
lo que el software tiene que hacer, se requiere de
habilidad y experiencia en la ingeniera de
software para reconocer requisitos incompletos,
ambiguos o contradictorios.

Anlisis de Requisitos
La captura, anlisis y especificacin de requisitos
(incluso pruebas de ellos), es una parte crucial; de
esta etapa depende en gran medida el logro de los
objetivos finales. Se han ideado modelos y diversos
procesos de trabajo para estos fines. Aunque an no
est formalizada, ya se habla de la Ingeniera de
Requisitos.

Especificacin
Es la tarea de describir detalladamente el software a
ser escrito, en una forma matemticamente rigurosa.
En la realidad, la mayora de las buenas
especificaciones han sido escritas para entender y
afinar aplicaciones que ya estaban desarrolladas. Las
especificaciones son ms importantes para las
interfaces externas, que deben permanecer estables.
Diseo y Arquitectura
Se refiere a determinar como funcionar de forma
general sin entrar en detalles. Consiste en incorporar
consideraciones de la implementacin tecnolgica,
como el hardware, la red, etc. Se definen los Casos de
Uso para cubrir las funciones que realizar el sistema, y
se transforman las entidades definidas en el anlisis de
requisitos en clases de diseo, obteniendo un modelo
cercano a la programacin orientada a objetos.
Programacin
Reducir un diseo a cdigo puede ser la parte ms
obvia del trabajo de ingeniera de software, pero no
necesariamente es la que demanda mayor trabajo y
ni la ms complicada. La complejidad y la duracin
de esta etapa est ntimamente relacionada al o a
los lenguajes de programacin utilizados, as como al
diseo previamente realizado.

Prueba
Consiste en comprobar que el software realice correctamente
las tareas indicadas en la especificacin del problema.

Una tcnica es probar por separado cada mdulo del software,
y luego probarlo de forma integral, para as llegar al objetivo. Se
considera una buena prctica el que las pruebas sean
efectuadas por alguien distinto al desarrollador que la program,
idealmente un rea de pruebas; sin perjuicio de lo anterior el
programador debe hacer sus propias pruebas.


Prueba

Hay dos grandes formas de organizar un rea de pruebas, la
primera es que est compuesta por personal inexperto, que
desconozca el tema de pruebas, de esta forma se evala que la
documentacin entregada sea de calidad, que los procesos
descritos son tan claros que cualquiera puede entenderlos y el
software hace las cosas tal y como estn descritas.
Prueba
El segundo enfoque es tener un rea de pruebas
conformada por programadores con experiencia,
personas que saben sin mayores indicaciones en
qu condiciones puede fallar una aplicacin y que
pueden poner atencin en detalles que personal
inexperto no considerara.
Documentacin
Todo lo concerniente a la documentacin
del propio desarrollo del software y de la
gestin del proyecto, pasando por
modelaciones (UML), diagramas, pruebas,
manuales de usuario, manuales tcnicos,
etc; todo con el propsito de eventuales
correcciones, usabilidad, mantenimiento
futuro y ampliaciones al sistema.
Mantenimiento
Mantener y mejorar el software para enfrentar
errores descubiertos y nuevos requisitos. Esto puede
llevar ms tiempo incluso que el desarrollo inicial
del software. Alrededor de 2/3 de toda la
ingeniera de software tiene que ver con dar
mantenimiento. Una pequea parte de este
trabajo consiste en arreglar errores, o bugs. La
mayor parte consiste en extender el sistema para
hacer nuevas cosas. De manera similar, alrededor
de 2/3 de toda la ingeniera civil, arquitectura y
trabajo de construccin es dar mantenimiento.

La Programacin Orientada a Objetos (OOP por sus
siglas en ingls de Object Oriented Programming), es
una forma de pensar, una filosofa, de la cual se
incorporan tcnicas y metodologas diferentes.
Orientacin a Objetos
Orientacin a Objetos
La Programacin Orientada a Objetos desde el
punto de vista computacional "es un mtodo de
implementacin en el cul los programas son
organizados como grupos cooperativos de objetos,
cada uno de los cuales representa una instancia
de alguna clase, y estas clases, todas son miembros
de una jerarqua de clases unidas va relaciones de
herencia
Fundamentos de lo Orientado a Objetos
La Orientacin a Objetos se basa en el concepto de objeto.

Objeto: Aquello que tiene estado (propiedades ms valores),
comportamiento (acciones y reacciones a mensajes) e
identidad (propiedad que lo distingue de los dems objetos).
La estructura y comportamiento de objetos similares estn
definidos en su clase comn.

Clase: Es un conjunto de objetos que comparten una
estructura y comportamiento comn.

1. Abstraccin. Es una descripcin simplificada o especificacin
de un sistema que enfatiza algunos de los detalles o
propiedades del sistema, mientras suprime otros.

2. Encapsulacin. En el proceso de ocultar todos los detalles de
un objeto que no contribuyen a sus caractersticas esenciales.

3. Modularidad. Es la propiedad de un sistema que ha sido
descompuesto en un conjunto de mdulos coherentes e
independientes.

4. Jerarqua o herencia. Es el orden de las abstracciones
organizado por niveles.

Principios del Modelo Orientado a Objetos
Principios del Modelo Orientado a Objetos

5. Tipificacin. Es la definicin precisa de un objeto de tal forma
que objetos de diferentes tipos no puedan ser intercambiados o,
cuando mucho, puedan intercambiarse de manera muy
restringida.

6.Concurrencia . Es la propiedad que distingue un objeto que est
activo de uno que no lo est.

7. Persistencia. Es la propiedad de un objeto a travs de la cual su
existencia trasciende el tiempo (es decir, el objeto continua
existiendo despus de que su creador ha dejado de existir) y/o el
espacio (es decir, la localizacin del objeto se mueve del
espacio de direccin en que fue creado).


Beneficios del Enfoque Orientado a Objetos

Primero, el uso del modelo OO ayuda a explotar el poder
expresivo de todos los lenguajes de programacin basados
en objetos y los orientados a objetos, como Smalltalk, Object
Pascal, C++, CLOS, Ada, [ y recientemente Java] .

Segundo, el uso del modelo OO alienta el re-uso no solo del
software, sino de diseos completos.

Tercero, produce sistemas que estn construidos en formas
intermedias estables y por ello son ms resistentes al cambio
en especificaciones y tecnologa.

Introduccin a UML
Lenguaje Unificado de Modelado (Unified Modeling Language) es
el lenguaje de modelado de sistemas de software ms conocido
y utilizado en la actualidad. Es un lenguaje grfico para visualizar,
especificar, construir y documentar un sistema de software. UML
ofrece un estndar para describir un "plano" del sistema (modelo),
incluyendo aspectos conceptuales tales como procesos y
funciones del sistema, aspectos concretos como expresiones de
lenguajes de programacin, esquemas de bases de datos y
componentes de software reutilizables.

UML es un "lenguaje" para definir un sistema de software, para
detallar los artefactos en el sistema y para documentar y construir.
Modelado Visual
Un modelo es una simplificacin de la realidad. El
objetivo del modelado de un sistema es capturar las
partes esenciales del mismo.

Para facilitar este modelo, se realiza una abstraccin y
se plasma en una notacin grfica (modelo visual).

El modelo visual permite manejar la complejidad de los
sistemas a analizar o disear.
Qu es UML?
Ante todo es un lenguaje que proporciona un
vocabulario y reglas para permitir una comunicacin.

Este lenguaje nos indica como crear y leer modelos.
Algunos de los objetivos de UML son:

Visualizar
Especificar
Construir
Documentar
Bloques de Construccin
Un modelo UML est compuesto por
tres clases de bloques de
construccin:

Elementos
Relaciones
Diagramas
Diagramas UML
UML incluye los siguientes diagramas:

Casos de Uso
Clases
Objetos
Secuencia
Colaboracin
Estados
Actividades
Componentes
Despliegue

También podría gustarte