Vous êtes sur la page 1sur 15

Contrasea www.archivosx.mex.

tl
Conceptualizacin tcnica del software y la ingeniera del software
Modelado del proceso y del ciclo de vida
Planificar y gestionar proyectos
Determinar los requerimientos del sistema

Conceptualizacin tcnica del software y la ingeniera del software

Ingeniera de Software es
una disciplina o rea de las ciencias de la computacin
que ofrece mtodos
y tcnicas para desarrollar y mantener software de
calidad que resu
elve problemas de todo tipo.
La ingeniera de software
proporciona diversas mtricas y metodologas que pueden
usarse como espe
cificaciones en proyectos de software, ciclos de vida de
un proyecto, costos de un proyecto y en s, todo el aspecto administrativo
que implica desarrollar software.
Se puede ver el software como
un conjunto de programas (fuentes y ejecutables),
reglas y documentacin posible asociada, as como los
datos pertenecientes a la operacin del sistema.

procedimientos,

Definiendo el proceso de desarrollo de software se puede afirmar:


la

es un conjuto de actividades tecnicas y administrativas necesarias para


construccion de un producto de software
La madurez de una organizacion es proporcional a su capacidad para poner
en practica procesos de software que produzcan los resultados pr

evistos

La ingenieria de software tiene mucha relacion con otras especificaciones, puest


o que es una disciplina pragmatica que utiliza:
------------------------------------------------------------------------------CIENCIA DE LA COMPUTACION
FUNDAMENTOS CIENTIFICOS
------------------------------------------------------------------------------ADMINISTRACION
ectos

Fundamentos para administracion de proy

ECONOMIA
sos y control de costos.

Fundamentos para la estimacion de recur

PSICOLOGIA Y TECNICAS DE

Fundamentos para trabajo interdisciplin

ario y buena comunicacion


COMUNICACION

interpersonal entre grupo y clientes

-------------------------------------------------------------------------------------

Y al ser un proceso sistemtico, podemos decir que es la disciplina que combina:


Mtodos completos para todas las fases del desarrollo de software.
Mejores herramientas para automatizar estos mtodos.
Bloques de construccin ms potentes para la implementacin del software.
Mejores tcnicas para la garanta de calidad del software.
Filosofa predominante para la coordinacin, control y gestin.

FACTORES QUE INFLUYEN EN LA CALIDAD Y PRODUCTIVIDAD DEL SOFTWARE:


Capacidad Individual
Orientado a la capacidad de los desarrolladores o ingenieros de software
que particiaparan en los proyectos.
Entendimiento del problema
el mayor problema que se presenta en el desarrollo de sofware , es que m
uchas veces los
desarrolladores no logran comprender la naturalieza del problema que se
intenta resolver, por
lo cual su proceso se ver con obstaculos desde el principio y muy probabl
emente hasta el
final.
Comuncacion de Grupo
El desarrollo de software es una actividad en equipo, usuario finales ex
pertos del area,
desarrolladores, etc, Cuando la comunicacion falla es sentido comun visu
aliza que el proyecto
fracasar.
Para un buen desarrollo del proyecto deberan considerarse los canales d
e comunicacion
idoneos para cada proyecto deberan definirse estandares de comunicacion
y deber manejarse
lenguaje que permita la comunicacion adecuada entre todas las partes.
Complejidad del producto
Muchas veces se subestima un producto, se consideran pocos recursos o se
pone una fecha de
entrega demasiado corta, debido a una mala evaluacin de la complejidad de
l producto a
desarrollar
Habilidades decesarias
En algunos proyectos, el equipo de desarrollo no cuenta con las habilida

des necesarias, por


ejemplo una tecnologia o un hardware totalmente desconocido para el equi
po encargado de la
creacion del software.
Facilidades y recursos
en muchos de los desarrollos no se cuenta con los recursos de hardware,s
oftware, recursos
humanos adecuado.
Metas no Adecuadas
Uno de los problemas comunes es el mal establecimiento de metas, es deci
r colocando tiempos
de entrega fuera de la realidad o asegurando la creacion de componentes
que no son
alcanzables en el tiempo con los recursos o con el equipo de trabajo act
uales.
Control de cambio
El manejo de Versiones es uno de los problemas que parecen risibles pero
que generan muchos
problemas a los ingenieros de software, suponga un equipo de trabajo de
20 personas donde
cada uno esta haciendo cambios y al momento de integrar las herramientas
creadas, se
sustituye un archivo que genera la perdida de informacio
n de otros mienbros , el caso
presentado genera un costo en ti
empo y dinero

Notacion adecuada
El establecimiento de estandares de notacion es muy importante, debido a
que para algunos una palabra o un simbolo podria significar una cosa y para o
tros podria significar algo
totalmente diferente

Entrenamiento adecuado
Los ingenieros de sofware necesitan un entrenamiento , si la naturaleza
de un proyecto
conlleva trabajar con terminos desconocidos o de un area
en particular que no es del dominio
del equipo

Habildiades administrativas
la mala gestion en los recursos humanos financieros y otros hace que los
proyectos de sofware
sean cancelados o no lleguen a finalizarse

Problemas del software


Insatisfaccin del cliente por falta de una buena definicin de los requerim
ientos.

De cada 6 proyectos de software, 2 son abandonados.


Millones de dlares son gastados en proyectos de software que nunca sern ut
ilizados.
Muchos sistemas no son presentados en las fechas especificadas. Cuando h
ay contratos
establecidos, los costos en intereses pueden ser muy elevados.
No se tienen datos histricos sobre el proceso de desarrollo de software.
No se pueden hacer
buenas estimaciones.
No se puede evaluar con precisin la eficacia de las nuevas herramientas,
tcnicas o
estndares.
La Tecnologa de la Informacin representa ms del 40% de los gastos en pases desarroll
ados.
Los mercados de desarrollo de software invierten muchos millones de dlare
s en recursos
humanos y financieros.
En colombia en 1993 fueron invertidos US$253 millones en compra de paque
tes de software
(Venezuela 2
ms, Mxico 4 y Brazil 10).
El caso de la India: 1985
1994
1997

US$ 16 millones
US$ 360
US$ 1000

Que se puede esperar de un software


Creacion de empleo
Generacion de exportaciones no tradicionales de alto valor agregado
Facilitar el proceso de modernizacion de las economias nacionales
Metas de la ing. del Software
Mejorar la calidad de los procesos de construccion de software
Mejorar la calidad de los productos de software
Aumentar la productividad y satisfaccion profesional de los
ingenieros de esta disciplinas.

TEMA DOS ***************** Modelado del proceso y del ciclo de vida.

En ingeniera del software se trabaja orientado a


modelos de desarrollo. Estos modelos han sido implementados durante dca
das y cada uno de
ellos presenta algunas variantes. A continuacin,

se presentan los modelos y se


software.

analizan las fases del ciclo de vida de

Los modelos de desarrollo de software no son


descripciones definitivas de los procesos del software, sino abstraccion
es tiles que se
pueden utilizar para explicar diferentes enfoques al mom
ento de crear software. Debe
aclararse que para sistemas muy
grandes no se usa un proceso sencillo, sino que en diferentes modelos para la
consecucin del proyecto global.

A continuacin, veamos los modelos ms frecuentemente usados


Modelo en Casacada
el Primer modelo de proceso de desarrollo de software que se public se de
riv de otros
procesos de ingenierial. Las principales etapas de este modelo se transf
orman en actividades
fundamentales de desarrollo:
1- Analisis y definicion de requerimientos
En esta fase se analizan las necesidades de los usuarios
finales del sofware
para determinar que objetivos debe cubrir. De esta fase
surge una memoria
llamada SRD- Specifications Requriments Document (Docum
ento de
especificacion de requermientos, que contiene la espefic
iacione completa de
lo que debe hacer el sistema sin entrar en detalles inte
rnos.
Es importante sealar que en esta etapa se debe consensuar
todo lo que se
requiere del sistema y sera aquello lo que seguira en la
s siguientes etapas
no pudiendose requerir nuevos resultados a mitad del pro
ceso de elaboracion
del software

2- Diseo de Sistemas y de Software


Se descompone y organiza en sistema en elementos que pue
dan elaborarse por
separado,aprovechando las ventajas del desarrollo en equ
ipo. Como resultado
surge el SDD (Documento de

Diseo de Software),

que

contiene la
descripcion de la estructura relacional global del siste
ma y la espeficiacion
de lo que se debe hacer cada una de sus partes, asi como
la manera en que se
combinan unas con otras.

Es conveniente distinguir entre diseo de alto nivel o arq


uitectonico y
deseo detallado. el primero de ellos tiene como objetivo
definir la
estructura de la solucion (una vez que la fase de anali
sis ha descrito el
problema identificando grandes modulos (Conjunto de func
iones que van a estar
asociadas) y sus relaciones , como ello se define la arq
uitectura de la
solucion elegida.
El segundo define los algoritmos y la organizacion del c
odigo para comenzar
la implementacion.
Tambien se realizan los algoritmos necesarios para el cu
mplimiento de los
requerimientos del usuario asi como tambien los analisis
necesarios para
saber cuales herramientas usar en la etapa de codificaic
on
3- implementacion y prueba de unidades
Es la fase de programacion o implementacion propiamente
dicha, Aqui se
implementa el codigo fuente. haciendo uso de los prototi
pos asi como
las pruebas y ensayos para corregir errores.
Dependiendo del lenguaje de programacion y su version se
crean las
bibliotecas y componentes reutilizables dentro del mismo
proyecto para hacer
que la programacion se un proceso mucho mas rapido .
Los elementos ya programados se ensamblan para componer
el sistema y se
comprueba que funciona correctamente y que cumple con l
os requisitos, antes
de ser puesto
El software obtenido se pone en produccion. se implantan
los niveles
software y hardware que componen el proyecto. la implant
acion es la fase con
mas duracion y con mas cambios en el ciclo de elaboraci
on de un proyecto. es
una de las fases finales del proyecto.
Durante la explotacion del sistema de software pueden su
rgir cambios, bien
para corregir errores

o bien para introducir mejoras.

Todos ello se recoge


en los documentos de cambios.
4- implementacion y prueba de unidades

Los programas o las unidades individuales de programas s


e integran y prueban
como un sistema completo para asegurar que se cumplan lo
s requisitos del
software despues de las pruebas. el sistema de software
se entrega al
usuario.
5- Operacion y Mantenimiento
Por lo general esta es la fase mas grande el ciclo de vi
da. El sistema se
instala y pone en uso practico. El mantenimiento implic
a corregir errores no
descubiertos en las etapas anteriores del ciclo de vida,
mejor la
implementacion de las unidades del sistema y resaltar l
os servicios del
sistema una vez que se descubren nuevos requerimientos.

Etapas de un Sistemas
Analisis
diseo
Implementacion
Prueba
Mantenimiento
Desventajas
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto c
rea una mala
implementacin del modelo, lo cual hace que lo lleve al fracaso.
El proceso de creacin del software tarda mucho tiempo, ya que debe pasar
por el proceso de
prueba y hasta que el software no est completo no se opera. Esto es la ba
se para que
funcione bien.
Ventajas
Se tiene todo bien organizado y no se mezclan las fases.
Es perfecto para proyectos que son rgidos, y adems donde se especifiquen m
uy bien los
requerimientos y se conozca muy bien la herramienta a utilizar.

Desarrollo evolutivo
Basado en la idea de desarrollar una implementacin inicial, exponindola a
los comentarios
del usuario y refinndola a travs de las diferentes
versiones hasta que se desarrolla un
sistema adecuado.

Es utilizado en las siguientes Circunstancias:


Si los requisitos cambian conforme el desarrollo avanza
Si las fechas de mercado hacen imposible tener un producto completo hay
que introducir
una version limitada
Si los requisitos centrales estan bien definidos pero todavia hay que de
finir los detalles
de las extenciones del producto.
Se diferencia del modelo por prototipos en
que en prototipos se da por hecho que aunque se necesiten varias iteraci
ones para lograrlo al
final se llegar a tener una serie de requisitos completos y sin errores,
que no vayan a
cambiar ms
En el modelo evolutivo se asume que
los requisitos pueden cambiar en cualquier momento del ciclo de vida y n
o solo en la etapa de
anlisis.

Modelo Evolutivo
Especificaciones
iniciales

Definicion del problema y especifiacion Inicial


en base a los requerimientos definidos

Desarrollo del
Producto

Desarrollo del Software en base a un proceso


con enfasis en la rapidez de la liberacion

Implementacion
tacion
uso y evaluacion

implantacion y uso del software en ambiente de explo


monitoreo y de los nuevos requerimientos

Versiones del
Sofware
Re-especificacion
erimientos.

Re-definicion del problema en base a los nuevos requ

Modelo Incremental
Propuesto por Mills en 1980. Sugiri el enfoque incremental de desarrollo

como una forma de reducir


la repeticin del trabajo en el proceso de desarro
llo y dar oportunidad de retrasar la toma de
decisiones en los requisitos has
ta adquirir experiencia con el sistema. Surge porque en los
primeros desarro
llos se poda esperar largo tiempo hasta que el software estuviese listo. Las
reglas del negocio de hoy no lo permiten.

TEMA TRES ***************** Planificar y gestionar proyectos

La planificacin y la gestin de un proyecto son


los aspectos probablemente ms importantes y que a veces son los ms descuid
ados, lo que conlleva a
retrasos en las entregas, prdidas de proyectos, fallas en la ejecucin y ot
ros muchos problemas.

La administracin efectiva de un proyecto de software depende de


planear completamente el progreso del proyecto. El administrador del pro
yecto debe anticiparse a
los problemas que puedan surgir, as como preparar soluciones tentativas a
esos problemas.

Planificar un proyecto es
disear acciones orientadas a la consecucin de determinados propsitos, procu
rando utilizar racionalmente los recursos disponibles.
Dicho sintticamente, planificar consiste en definir hoy dnde se quiere es
tar maana y cmo se
piensa llegar.
Gestionar un proyecto es
administrarlo optimizando la relacin recursos-resultados, median
te el uso de herramientas
especficas en el seguimiento de cada etapa.
Aplicado al mundo laboral, planificar y gestionar proyectos consiste en
definir objetivos productivos de corto, mediano y largo plazo e
n funcin de los cuales se
programan acciones y se ordenan recursos, bajo un rgimen de contr
ol de gestin y
evaluacin de resultados.
El proceso de planeacin inicia con
una valoracin de las restricciones que afectan el proyecto, por e
jemplo, la fecha de
entrega requerida, personal disponible, presupuesto global, entr

e otros.

A continuacin, se presentan los tipos de planes que se trabajan en los proyectos:

PLAN DE CALIDAD
calidad que se utilizan

Describe los procedimientos y estandares de


en un proyecto

PLAN DE VALIDACION
ramacion utilizados para

Describe el enfoque, los recursos y la prog


para la validacion del sistema.

PLAN DE ADMINISTRACION DE LA CONFIGURACION


Describe los procedimientos de administracio
n de la configuracion y
las estructuras a utilizarse.
PLAN DE MANTENIMIENTO
del sistema, los costos

Predice los requerimientos de mantenimiento


del mantenimiento y el esfuerzo requerido.

PLAN DE DESARROLLO DEL PERSONAL


y experiencias de los

Describe como se desarrolla las habilidades


Miembros del equipo del proyecto.

Valorizacin del rea Planificacin y Gestin de Proyectos


Veamos las siguientes preguntas:
Por qu una persona obtiene resultados mientras otra que trabaja co
n la misma intensidad
no lo logra?
Por qu una persona tiene orgullo por lo logrado mientras otra no e
xperimenta emociones
vinculadas con su quehacer?
En la vida ciertamente se obtiene mayor realizacin si primero nos hemos preguntad
o a dnde se quiere ir y luego se hacen los esfuerzos necesarios para llegar.

Se puede partir por permitirse soar. Soar qu se quiere, qu es lo que gusta, qu se qui
ere y a dnde se quiere llegar.

La planeacin supone querer llegar a algn lugar en un futuro, visto desde el presen
te.
Ahora bien, dependiendo de la complejidad de las aspiraciones y de la concrecin q
ue se propongan, ser necesario establecer una estrategia, un plan de accin, se te
ndr que definir qu recursos se van a necesitar, en qu tiempo se podr lograr y cmo s
e controlarn los avances.
Lo anterior rige tanto en el mbito personal como en lo laboral.
En lo personal, todos necesitamos formalizar planes concretos en funcin de objeti
vos. En lo laboral, el xito de una organizacin depende del logro de sus objetivos
y de que sus clientes aprecien los productos y servicios ofrecidos, lo cual supo
ne una complejidad mayor, puesto que producir bienes involucra procesos de inver
sin, de produccin, de calidad y de venta.

Hay grandes espacios de tiempo entre los primeros pasos y un resultado disponibl
e en el mercado, por lo que se requiere una visin de largo o mediano plazo, a est
o llamamos Planificacin.

Como los recursos disponibles son siempre escasos, las personas involucradas so
n ms de una, hay que armonizar entre equipo de desarrollo y usuarios finales (cli
entes). Es necesario administrar y controlar, a esto se llama gestin.

En el plan de proyecto,
se fijan los recursos disponibles,
Se divide el trabajo y se crea un calendario de trabajo. En algunas orga
nizaciones, el plan del
proyecto es un nico documento que incluye todos los diferentes tipos de p
lanes que se presentaron
previamente
Muchos planes incluyen las siguientes secciones:
INTRODUCCION
Describe brevemente los objetivos del proyecto y expone las rest
rcciones (presupuesto,
tiempo Recursos humanos) que afectan la administracion del proy
ecto
ORGANIZACION DEL PROYECTO
Describe la forma en que el equipo de desarrollo esta organizado
, la gente involucrada
y sus tareas en el equipo
ANALISIS DE RIESGOS
Describe los posibles riesgos del proyecto, la probabilidad de q
ue surjan estos riesgos

y las estragegias de reduccion de riesgos propuestas.


REQUERIMIENTO DE RECURSOS DE HARDWARE Y SOFTWARE
Describe el hardware y la ayuda de software requerida para lleva
r a cabo el desarrollo.
Si es necesario comprar hardware, se deben incluir los estimados
de los precios y las
fechas de entrega
DIVISION DEL TRABAJO
Describe la division del proyecto en actividades e identifica lo
s hitos
y productos a entregar asociados con cada actividad.
PROGRAMA DEL PROYECTO
Describe las dependencias entre actividades, el tiempo estimado
requerido par alcanzar
cada Hito y la asignacion de la gente a las actividades
MECANISMO DE SUPERVISION E INFORME
Describe la administracion de informes y cuando deben producirse
, asi como los mecanimos
de supervision del proyecto a utilizar

Con respecto a la gestin, resulta interesante la informacin que Simon Buehring pu


blica en mayo del 2006 con el tema Gestin de Proyectos: las 7 Mejores Prcticas.
Gestionar un proyecto puede ser una tarea desalentadora.
Ya se trate de planificar una boda, desarrollar un nuevo website para un
a empresa o construir una casa soada
a orillas del mar, necesita emplear tcnicas de gestin de proyectos (projec
t management en la bibliografa
en ingls) que ayuden a tener xito.

Las 7 Mejores Prcticas


A

DEFINIR ALCANCES Y OBJETIVOS


Primero entienda los objetivos del proyecto.
El alcance o area de competencia define los limites del proyecto
Quienes son los interesados

DEFINIR TAREAS
Definir que tareas se esperan del proyecto

PLANIFICAR EL PROYECTO

Decidir que gente recursos y presupuesto se requieren para compl


etar el mismo
D

COMUNICACION
La planificacion resulta inutil si no es comunicada efectivament

e.
E

SEGUIMIENTO Y REPORTES DE AVANCE

GESTION DE CAMBIO
Los accionistan a menudo cambian de parecer en lo que respecta a
las areas del proyecto.
G

GESTION DE RIESGOS
Los riesgos son eventos que pueden afectar negativamente.

No se conocen todos los riesgos porque estos pueden ser muchos y no todos tienen
el mismo impacto.
Referencia para artculo de Gestin de proyectos:
Gestin de Proyectos: las 7 Mejores Prcticas

TEMA CUATRO ***************** Determinar los requerimientos del sistema


Lo que mal se inicia, mal finaliza. Este principio se aplica en el desarrollo de
software, por ello,
es vital poner mucho cuidado en la fase de la obtencin de requerimientos, ya que
es una
especie de contrato sobre el cual el usuario (cliente) demanda lo que el sistema
har y el desarrollador
puede usarlo para que no se le exija ms de lo acordado.

Los requerimientos para un sistema son


la descripcin de los servicios proporcionados por el sistema y sus restri
cciones operativas.
Estos requerimientos reflejan las necesidades de los clientes de un sist
ema que ayude a resolver
algn problema como el control de un dispositivo, hacer un pedido o encont
rar informacin.

Los requerimientos son vitales para la consecucin exitosa de un software, puede h


acerse la analoga siguiente:
Cuando se abotona una camisa, si se inicia mal con el primer botn es lgico saber q
ue se acabar mal con el
resto de botones y se tendr que volver a hacer todo de nuevo, lo que repr

esenta un doble esfuerzo de tiempo.

Los requerimientos pueden separarse en las siguientes categorias:


REQUERIMIENTOS FUNCIONALES
Son declaraciones de los servicios que deben proporcionar el sis
tema. de manera en que este debe
reaccionar a entradas particulares y de como se debe comportar e
n situacion particular. en algunos
casos, los requerimientos funcionales de los sistemas tambien pu
eden declarar explicitamente lo que
el sistema no debe hacer
REQUERIMIENTOS NO FUNCIONALES
Son aquellos requerimientos que no se fefieren directamente a la
s funciones especificas que
proporciona el sistema, si no a las propiedades emergentes de es
te como la fiabilidad, el tiempo
de respues y la capacidad de almacenamiento.
El incumplimiento de un requerimiento no funcional puede signifi
car que el sistema entero sea
inutilizable.
TIPOS DE REQUERIMIENTOS NO FUNCIONALES
REQUERIMIENTO DE PRODUCTO.
estos requermientos especifican el comportamient
o del producto.
algunos son los requermientos de rendimiento en
la rapidez de ejecucion del sistema
REQUERIMIENTO ORGANIZACIONALES
Se derivan de politicas y procedimientos existen
tes en la organizacion del cliente y
en la organizacion del cliente y en la del desar
rollador
REQUERIMIENTO EXTERNOS.
Se derivan de los factores externos al sistema y
de sus procesos de desarrollo
pueden requerir requerimiento de interoperabilid
ad
REQUERIMIENTO DE USUARIO:
Son los que describen los requerimientos funcion
ales y no funcionales de manera
que sean comprensibles por los usuarios sin con
ocimiento tecnico
REQUERIMIENTO DE SISTEMA.

Son versiones extendidas de los requerimientos d


el usuario que son utilizados por los
ingenieros de software como punto de partida.

Agregan detalle y explican cmo el sistema debe proporcionar los requerimientos de


l usuario.
Otra agrupacin de requerimientos, suele presentarse de la siguiente forma
:
Los requerimientos no funcionales:
Usabilidad: factores humanos, ayuda y documentac
in.
Confiabilidad: frecuencia de fallas y tiempo de
recuperacin.
Performance: tiempo de respuesta, tasa de proces
amiento, precisin y capacidad de
carga.
Soportabilidad: adaptabilidad, mantenibilidad, c
onfigurabilidad e
internacionalizacin.
Interfaces: restricciones en la comunicacin con s
istemas externos.
Restricciones: en el uso de Sistemas o paquetes
existentes.
Plataformas.
Lenguajes de programacin.
Ambientes de desarrollo.
Herramientas (sistemas de bases
de datos, middleware, etc.)

Vous aimerez peut-être aussi