Está en la página 1de 33

Ingeniera de software

La Ingeniera delSoftwarees una disciplina o rea de laInformtica que


ofrece mtodos y tcnicas para desarrollar y mantener software de
calidad que resuelven problemas de todo tipo.

Hoy da es cada vez ms frecuente la consideracin de la


Ingeniera del
Software como una nuevareade la ingeniera, y el ingeniero
del software
comienza a ser una profesin implantada en el mundo
laboral.

Ingeniera del software


Esta ingeniera trata con reas muy diversas de lainformtica y de
lasciencias de la computacin, abordando todas las fases del ciclo
de vida del desarrollo de cualquier tipo de sistemas de informacin y
aplicables a infinidad de reas:
1. Negocios,
2. Investigacin cientfica
3. Medicina
4. Produccin
5. Logstica
6. Banca,
7. Control de trfico
8. Meteorologa
9. Derecho
10.Internet
11.Intranet,
12.Entre otras reas .

PRODUCTO Y PROCESO EN LA
INGENIERA DEL SOFTWARE

El producto: entregado por el ingeniero en software no es siempre


el mismo que espera el usuario o cliente, El producto que ellos
esperan es la solucin del problemas descritos por ellos.
El proceso: es un dilogo en el que se rene el conocimiento y se
incluye en el software, El proceso proporciona una interaccin entre
los usuarios y los diseadores, entre los usuarios y las
herramientas de desarrollo, y entre los diseadores y las
herramientas de desarrollo.

Diferencia entre ing. software y ing. sistema


Que es la ing. Sistema?
Es una disciplina en cargada de la
analizaras, implementar y verificar
sistemas informticos.

Que es la ing. Software?


Es una disciplina que utiliza metodologas
para el anlisis, implementacin,
construccin y prueba de software.

Al conocer sus definiciones nos damos cuenta de que ing. software es un


parte de la ing. Sistema pero no siempre
ya que un sistema informtico podra dar solucin a un problema sin
necesidad de la creacin un software.

Ciclo de vida en la ingeniera del software


La vida til o ciclo de vida: es el intervalo de tiempo determinado
para el proyecto de desarrollo de software, contando con partes
fundamentales para el desarrollo del mismo representa por modeles
estandarizados, que se pueden adaptar a nuestros proyecto de
pendiendo de la arquitectura del proyecto se decide el ciclo de vida
o modelo de ciclo de vida para su implementacin las principales
son:

Modelo de Desarrollo Rpido de


Aplicaciones(RAD)
Modelo Incremental
Modelo en Cascada
Modelo Espiral

Ciclo de vida en la ingeniera del


software
Modelo de Desarrollo Rpido
El Desarrollo Rpido de Aplicaciones oRAD (Rapid
ApplicationDevelopment): es aquel mtodo quecontempla
un desarrollo de modo iterativo as cmo la realizacin de
prototipos, su esencia se concentra en la usabilidad y utilidad
as como la rapidez de ejecucin.
Esta metodologa est constituida por las siguientes etapas:

Ciclo de vida en la ingeniera del


software
ETAPAS DEL DESARROLLO RPIDO DE APLICACIONES
Modelado de la gestin: Dentro de esta etapa, el objetivo es la
solucin de las preguntas; por ejemplo:
Que informacin conduce el proceso de gestin?,
Qu informacin se genera?, A donde va a parar esa informacin?,etc.
Modelado de datos: Contempla la definicin de las caractersticas de
los objetos, as como la constitucin de los objetos y sus vnculos entre
ellos.
Modelado de proceso: Describe las metodologas que manipulan los
objetos as como la comunicacin entre ellos.
Generacin de aplicaciones: Permite la utilizacin de recursos que ya
existen o crear componentes reutilizables.
Pruebas de entrega: Prueba todos los componentes nuevos.

Ciclo de vida en la ingeniera del


software
DESARROLLO RPIDO DE APLICACIONES

Ventajas

Desventajas

Ciclos de desarrollo ms
pequeos.
El desarrollo se realiza a un
nivel de abstraccin mayor.
Menor codificacin manual.
Mayor involucramiento de
los usuarios.
Posiblemente menos fallas.
Interfaz grfica estndar.
Posiblemente menos fallas.

Comprar puede ser ms


caro que construir.
Progreso ms difcil de
medir.
Menos eficiente.

Ciclo de vida en la ingeniera del


software
Modelo Incremental

El Modelo Incremental para el desarrollo del software,


consiste en crear funcionalidad por pequea que sea de modo que a partir
de ella, las creaciones posteriores en base a la que primero fue creada.

Definicin de requerimientos.
Asignar los requerimientos a los incrementos.
Diseo del incremento a partir de los requerimientos.
Desarrollo del incremento.
Validar incrementos.
Integrar incrementos.
Validar funcionamiento.

Ciclo de vida en la ingeniera del


software
Ventajas

Modelo Incremental

-Despus de
realizar una entrega
no se puede dar
marcha atrs
-Si el proyecto es
muy pequeo
puede tardarse
mas.

Desventajas

-Fcil
administracin
-Sencilla
comprensin
-Fcil prueba
-Poco tiempo por
entrega

Ciclo de vida en la ingeniera del software


Modelo en Cascada

El Modelo en Cascada da las pautas que permiten laorganizacin en el


desarrollo del software a travs de la implementacin de sus caractersticas
o etapas, esto quiere decir que no se podr avanzar a la siguiente etapa
hasta no concluir con todas las tareas.

Ciclo de vida en la ingeniera del software


Modelo en cascada

Anlisis: se obtienen los


Requerimientos.
Diseo: describe la atraccin y el diseo
visual que cumplan con los requerimientos.
Codificacin: se codifica en un lenguaje
de programacin.

Anlisis

Prueba: se verifica que el software cumpla con


los requerimientos y funcionalidad deseada.

Diseo

Mantenimiento: se realizan cabios al software para


solucionar errores y adaptacin a nuevas tecnologas.

Codificacin
Pruebas

Mantenimiento

Ciclo de vida en la ingeniera del


Modelo en cascada
software
Desventajas
Si se detecta algn fallo hay que comenzar
todo el proceso tomando en cuenta que hay
que comenzar la construccin desde el inicio.
Mantenimiento difcil.
Perdida de tiempo en etapas innecesarias.

Ventajas

Fcil administracin.
Sencilla comprensin.
Fcil implementacin.
Recursos para implementacin mnimos.

Ciclo de vida en la ingeniera del


software
Modelo Espiral

Ciclo de Vida en Espiral tiene en cuenta fuertemente el riesgo que aparece a la


hora de desarrollar software. Para ello, se comienza mirando las posibles
alternativas
de desarrollo, se opta por la de riesgo ms asumible y se hace un ciclo de la
espiral.
El modelo espiral tuvo varias modificaciones que son:
Modelo Original de Boehm.
Modelo Tpico de Seis Regiones.
Modelo WINWIN.

Ciclo de vida en la ingeniera del


software
Modelo Original de Boehm.
Determinacin de objetivos
Se definen objetivos especficos para la fase.
Se identifican los posibles riesgos.
Anlisis y reduccin de riesgos
Se toman medidas para reducir los riesgos.
Desarrollo y validacin
Se elige un modelo de desarrollo
Se desarrolla un prototipo.
Planeacin
Se evala el proyecto.
Se decide si se contina con otra iteracin de la
espiral.
Se planea la siguiente fase.

Ciclo de vida en la ingeniera del


Modelo Tpico de Seis Regiones
software
Comunicacin con el cliente:las tareas requeridas para establecer comunicacin entre
el desarrollador y el cliente.
Planificacin:las tareas requeridas para definir recursos, el tiempo y otras
informaciones relacionadas con el proyecto.
Son todos los requerimientos.
Anlisis de riesgos:las tareas requeridas para evaluar riesgos tcnicos y otras
informaciones relacionadas con el proyecto.
Ingeniera:las tareas requeridas para construir una o ms representaciones de la
aplicacin.
Construccin y adaptacin:las tareas requeridas para construir, probar, instalar y
proporcionar soporte al usuario.
Evaluacin del cliente:las tareas requeridas para obtener la reaccin del cliente segn
la evaluacin de las representaciones
del software creadas durante la etapa de ingeniera e implementacin durante la etapa de
instalacin.

Ciclo de vida en la ingeniera del


software Modelo WINWIN
WIN-WIN: es una adaptacin del modelo de espiral y define un conjunto de
actividades de negociacin al principio de cada paso alrededor de la espiral.

Se basa en el principio que el proyecto solo es exitoso


si y solo si todos los implicados resultan ganadores.

Actividades
Identificacin del sistema o subsistemas clave de los directivos.
Determinacin de las condiciones de victoria de los directivos.
Negociacin de las condiciones de victoria de los directivos para
reunirlas en un conjunto de condiciones para todos los afectados.

Ciclo de vida en la ingeniera del


software Modelo en espiral

Ventajas

Desventajas

Los desarrolladores y
cliente pueden
reaccionar a riegos con
anticipacin.
Permite utilizar
enfoques de prototipo.
En sistema grande
puede doblar la
productividad.

Es difcil convencer a
clientes de enfoques
evolutivos.
Por su complejidad no
seria bueno utilizarlo en
sistemas pquelos.

Herramientas en la ingeniera de
software
A lo largo de las historia de la ingeniera en software han ido
surgiendo herramienta para ayudar o facilitar las tares del
ingenieros estas herramientas permites desde crear modelos uml
hasta crear modelo de relaciones en base de datos facilitado su
posterior uso en la construccin o en la implementacin del
modelo dentro de estas herramientas encontramos de distintas
licencia como pueden ser paga , free y open sourse.

Herramientas en la ingeniera de software


Enterprise Architect 12

$ 699

Administrar Requisitos
Modelar y analizar los procesos de negocios
Construir diseo y modelos de comportamientos
Generar e importar cdigo fuente en una variedad de lenguajes
Generar e importar esquema de base de datos
Crearmodelos de componentesyde despliegue
Rastrear cambios
Administrarpruebas
Confirmar latrazabilidaddesde los requisitos a travs y hasta el
despliegue
Documentar sudesarrollo de software
Comunicar y desarrollar proyectos deingeniera de
softwarebasados en el equipo
Modelado/ingeniera rpida de sudesarrollo de software

Herramientas en la ingeniera de
software
Project Professional 2013
por /mes

$1,159.99 || 25.00

Permite la administracin y manejo de los proyectos, divide las


tareas por importancia Permite conectar te desde cualquier lugar y
comunicarte con tu equipo puedes disear estadstica para ver y
prevenir Situaciones antes de que ocurran en el proyecto, y
permitiendo usar diagrama de Gantt.

Herramientas en la ingeniera de
software
Rational Rose Enterprise $ 2,923.00 / 12 meses

Permite acelerar el desroo de aplicaciones creando cdigo atreves de modelos uml


Y permite modelar aplicaciones web.
CA Erwin $778.99

Permite crear modelado diagramas y relaciones de bases de dato


Y luega crear crear el cdigo sql para la mayor parte de gestores de base de d
SQL Server, MySQL, Oracle, Progress

Herramientas en la ingeniera de
software
Gantt Project (free)

Permite disear diagramas Gantt. Fcil de usar, con


importacin y exportacin de archivos en formato MS Project

Open projer (open sourse)


Solucin multiplataforma que sustituye a alternativas de
seguimiento de proyectos. Permite realizar manejos de
proyectos ,costos de valor acumulado Diagrama de Gantt, grafico
pert

Redmine (open sourse)

Es una herramienta para lagestin de proyectos Soporta


mltiplesproyectos.
Sistema de seguimiento de errores flexible, Diagramas de
Gantt y calendario, Subversin, Soporta diferentesbases de
datos(MySQL,PostgreSQLySQLite).

Arquitectura de
Software

Es un conjunto de patrones que proporcionan un marco de referencia necesario para


guiar la construccin de un software permitiendo a losprogramadores,analistasy
todo el conjunto de desarrolladores del softwarecompartir una misma lnea de trabajo
y cubrir todos los objetivos y restricciones de la aplicacin.

Para utilizar la arquitectura de software


se sigue un conjunto de patrones de la
arquitectura, entre los cuales podemos
encontrar:

Cliente-Servidor.

Tipos de arquitecturas

Blackboard.

Modelo entre capas.

Intrprete.

Orientada a Servicios

Tipos de arquitecturas
Cliente-Servidor

Esta arquitectura
las tareas del
sistema es
repartidas un
servidor que la
ejecuta y un
cliente que la pide

Tipos de arquitecturas
Blackboard
Esta arquitectura utiliza varios
servidores para completar
una terea dividindola en varias
partes en distintos sistemas.

Tipos de arquitecturas
Modelo entre capas

Esta arquitectura permite crear una mejor abstraccin y manejo en el


modelo por que divide la funcionalidad del software en varias capas
creado una independencia entre ella y una mejor forma de prueba. Estas
capas pueden reutilizarse con mayor facilidad, dividimos las capas en:
Presentacin: tiene las vista o atraccin del programa;
Dato: contiene todas las conexiones y funcionalidades de las base de
datos;
Negocio: tiene relacin directa con la capa de dato;
Entidad: contiene todas las entidades de la conexin;

Tipos de arquitecturas
Intrprete

Esta arquitectura costa de utilizar lenguajes que son


interpretados (que no son trasformado total mente en un
objeto y necesitan asistencia para ser entendidos por el
computador) donde permite una prueba mas fcil ya que
al momento de probarlos puedes tener acceso al cdigo
fuente ejemplo: java, HTML, Ruby, php, python.

Tipos de arquitecturas
Arquitectura Orientada a Servicios

Como su nombre lo indica la funcin de esta arquitectura es crear un


marcho de aplicaciones que puedan trabajar con servicio, pudiendo
resolver los objetivos de negocio como integracin de los datos con
todas la aplicaciones Una mayor flexibilidad y sistemas mas escalables.

El ciclo de desarrollo de la
arquitectura

Requerimientos: La etapa de requerimientos se enfoca en la captura,


documentacin y priorizacin de requerimientos que influencian la
arquitectura.
Diseo: La etapa de diseo es la etapa central en relacin con la arquitectura
y probablemente la ms compleja. Durante esta etapa se definen las
estructuras que componen la arquitectura. La creacin de estas estructuras se
hace en base a patrones de diseo, tcticas de diseo y elecciones
tecnolgicas.
Documentacin: Una vez creado el diseo de la arquitectura, es necesario
poder comunicarlo a otros involucrados dentro del desarrollo. La comunicacin
exitosa del diseo muchas veces depende de que dicho diseo sea
documentado de forma apropiada.
Evaluacin: Dado que la arquitectura de software juega un papel crtico en el
desarrollo, es conveniente evaluar el diseo una vez que este ha sido
documentado con el fin de identificar posibles problemas y riesgos.

Herramienta para la arquitectura de


software
Altova 1,390.00
Herramientas para desarrollo de aplicaciones XML, SQL y UML y para
proyectos de arquitectura informtica

Herramientas basadas en un servidor para gestionar y automatizar flujos


de trabajo y procesos de integracin de datos.

argoUml (open sourse)


Asistencia al momento de modular uml y distintos diagramas
Como Clases, Estados, Casos de Uso, Actividad, Colaboracin, Desarrollo
Secuencia.

También podría gustarte