Você está na página 1de 13

1

Ingeniera de software UNI-I Luis Enrique R


2010
5
Se llama ciclo de ida del software a las fases !or las que !asa un !ro"ecto de software
desde que es conce#ido$ %asta que est& listo !ara usarse' (!icamente$ inclu"e las
siguientes actiidades) toma de requisitos$ an&lisis$ dise*o$ desarrollo$ !rue#as
+alidaci,n$ aseguramiento de la calidad-$ instalaci,n +im!lantaci,n-$ uso$ mantenimiento
" o#solescencia' El !ro"ecto tiende a !asar iteratiamente !or estas fases$ en lugar de
%acerlo de forma lineal' .s !ues$ se %an !ro!uesto arios modelos +en cascada$
incremental$ eolutio$ en es!iral$ o concurrente$ !or citar algunos- !ara descri#ir el
!rogreso real del !ro"ecto'
MODELO EN CASCADA
El modelo en cascada es el m&s sim!le
de todos ellos " sire de #ase !ara el
resto' Sim!lemente asigna unas
actiidades a cada fase$ que serir&n
!ara com!letarla " !ara !ro!orcionar los
requisitos de la siguiente' .s$ el
!ro"ecto no se dise*a %asta que %a sido
anali/ado$ o se desarrolla %asta que %a
sido dise*ado$ o se !rue#a %asta que %a
sido desarrollado$ etc'
5
MODELO EN ESPIRAL
El modelo en es!iral se #asa en la
creaci,n de !rototi!os del !ro"ecto$ que
!asan !or las fases anteriores$ " que an
acerc&ndose sucesiamente a los
o#0etios finales' .s !ues$ nos !ermite
e1aminar " alidar re!etidamente los
requisitos " dise*os del !ro"ecto antes de
acometer nueas fases de desarrollo'
MODELO ITERATIVO O
INCREMENTAL
2inalmente$ el modelo iteratio
o incremental es el que !ermite
que las fases de an&lisis$
dise*o$ desarrollo " !rue#as se
retroalimenten continuamente$
" que em!iecen lo antes
!osi#le' 3ermitir& atender a
!osi#les cam#ios en las
necesidades del usuario o a
nueas %erramientas o
com!onentes que los
desarrolladores descu#ran "
que faciliten el dise*o o
!ro!orcionen nueas
funcionalidades'
Se trata de o#tener lo m&s
r&!idamente una ersi,n
funcional del software$ "
a*adirle !restaciones a !artir
de lo que se %a a!rendido en la ersi,n anterior' El a!rendi/a0e !roiene tanto del
5
desarrollo anterior$ como del uso del software$ si es !osi#le' En este ti!o de desarrollo es
im!rescindi#le esta#lecer una lista de control del !ro"ecto$ donde iremos registrando las
funcionalidades que faltan !or im!lementar$ las reacciones de los usuarios$ etc' " que
nos !ro!orcionar& las #ases !ara cada nuea iteraci,n'
Este 4ltimo m5todo es el m&s usado +aunque sea inoluntariamente- en !ro"ectos de
software li#re$ !or la !ro!ia naturale/a cam#iante de los requisitos

(odo sistema tiene un !eriodo de definici,n en el cual se %an de !lanificar todas las
eta!as del mismo$ tanto de creaci,n como de correcci,n' 3ara llearlo a ca#o tenemos
diferentes o!ortunidades$ la elecci,n ser& m&s ,!tima si anali/amos #ien los
requerimientos " !ro!iedades que se desean !ara el sistema'
La determinaci,n de los requerimientos se %alla en #ase a la e1!eriencia de %a#lar con
el usuario final so#re sus necesidades " anali/ando un sistema de software e1istente'
!odemos modeli/ar los requerimientos del usuario mediante lengua0es como U6L$ que
dis!onen de modelos llamados casos de uso !ensados !ara descri#ir las
funcionalidades necesarias !ara los usuarios'
7a" diferentes ti!os de requerimientos) de entorno +Sistema 8!eratio$ sistema gestor
de #ase de datos$ sistema de arc%ios etc'9- ergon,micos +interfa/ grafica$ etc'9-
funcionales +que de#e %acer el sistema-$ de rendimiento$ de tiem!o$ formato de entrega$
etc'
Un Anlisis de Sistema se lleva a cabo teniendo en cuenta los siuientes ob!etivos en
mente"
Identifique las necesidades del :liente'
Eal4e que conce!tos tiene el cliente del sistema !ara esta#lecer su ia#ilidad'
Realice un .n&lisis (5cnico " econ,mico'
.signe funciones al 7ardware$ Software$ !ersonal$ #ase de datos$ " otros
elementos del Sistema'
Esta#le/ca las restricciones de !resu!uestos " !lanificaci,n tem!oral'
:ree una definici,n del sistema que forme el fundamento de todo el tra#a0o de
Ingeniera'

Para lograr estos objetivos se requiere tener un gran conocimiento y dominio


del Hardware y el Software, as como de la Ingeniera humana (Manejo y
dministraci!n de "ersonal#, y administraci!n de base de datos$
5
Ob!etivos del Anlisis#
Identi$icaci%n de Necesidades#
Es el !rimer !aso del an&lisis del sistema$ en este !roceso en .nalista se re4ne con el
cliente ";o usuario +un re!resentante institucional$ de!artamental o cliente !articular-$ e
identifican las metas glo#ales$ se anali/an las !ers!ectias del cliente$ sus necesidades
" requerimientos$ so#re la !lanificaci,n tem!oral " !resu!uestal$ lneas de mercadeo "
otros !untos que !uedan a"udar a la identificaci,n " desarrollo del !ro"ecto'
.lgunos suelen llamar a esta !arte &Anlisis de Re'uisitos % " lo diiden en cinco
!artes)
Reconocimiento del problema.
Evaluacin y Sntesis.
Modelado.
Especificacin.
Revisin.
.ntes de su reuni,n con el analista$ el cliente !re!ara un documento conce!tual del
!ro"ecto$ aunque es recomenda#le que este se ela#ore durante la comunicaci,n :liente
< analista$ "a que de %acerlo el cliente solo de todas maneras tendra que ser
modificado$ durante la identificaci,n de las necesidades'
Estudio de Viabilidad#
6uc%as eces cuando se em!rende el desarrollo de un !ro"ecto de Sistemas los
recursos " el tiem!o no son realistas !ara su materiali/aci,n sin tener !5rdidas
econ,micas " frustraci,n !rofesional' La ia#ilidad " el an&lisis de riesgos est&n
relacionados de muc%as maneras$ si el riesgo del !ro"ecto es alto$ la ia#ilidad de
!roducir software de calidad se reduce$ sin em#argo se de#en tomar en cuenta cuatro
&reas !rinci!ales de inter5s)
(# Viabilidad econ%mica#
Una ealuaci,n de los costos de desarrollo$ com!arados con los ingresos netos o
#eneficios o#tenidos del !roducto o Sistema desarrollado'
)# Viabilidad T*cnica#
Un estudio de funciones$ rendimiento " restricciones que !uedan afectar la
reali/aci,n de un sistema ace!ta#le'
+# Viabilidad Leal#
5
Es determinar cualquier !osi#ilidad de infracci,n$ iolaci,n o res!onsa#ilidad legal en
que se !odra incurrir al desarrollar el Sistema'
Es!ecificaciones del Sistema) Es un =ocumento que sire como fundamento
!ara la Ingeniera 7ardware$ software$ >ase de datos$ e ingeniera 7umana'
=escri#e la funci,n " rendimiento de un Sistema #asado en com!utadoras " las
dificultades que estar&n !resentes durante su desarrollo' Las Es!ecificaciones de
los requisitos del software se !roducen en la terminaci,n de la tarea del an&lisis'
El conce!to 8rientado a 8#0eto es m&s sim!le " est& menos relacionado con la
inform&tica que el conce!to de flu0o de datos' Esto !ermite una me0or comunicaci,n
entre el analista " el e1!erto en el dominio del !ro#lema +es decir$ el cliente-'
2' El !aradigma 8rientado a 8#0eto utili/a la %erencia !ara e1!resar e1!lcitamente
las caractersticas comunes de una serie de o#0etos' Estas caractersticas comunes
quedan escondidas en el an&lisis " dise*o estructurado " llean a du!licar entidades
en el an&lisis " c,digo en los !rogramas' Sin em#argo$ el !aradigma 8rientado a
8#0eto !one es!ecial 5nfasis en la reutili/aci,n$ " !ro!orciona mecanismos efectios
que !ermiten reutili/ar aquello que es com4n$ sin im!edir !or ello descri#ir las
diferencias'
?' La !rogramaci,n orientada a o#0etos es muc%o m&s fia#le !or diersas ra/ones'
En !rimer lugar !or el desarrollo incremental " la !rogramaci,n !or diferencia$ al
!oder ir a*adiendo funcionalidad a %erencia' El tama*o medio de una rutina en
entornos orientados a o#0etos es de @ o 5 lneasA " se %a de tener en cuenta que s,lo
se tienen rutinas$ "a que no e1iste el conce!to de !rograma !rinci!al' La utili/aci,n
masia de li#reras de clases garanti/a la fia#ilidad$ "a que los com!onentes s,lo se
a*aden a la li#rera cuando se %a erificado la correcci,n de su funcionamiento'
El an&lisis estructurado se #asa fundamentalmente en la descom!osici,n funcional
del sistema que queremos construir' Esta descom!osici,n funcional requiere traducir
el dominio del !ro#lema en una serie de funciones " su#funciones' El analista de#e
com!render !rimero el dominio del !ro#lema " a continuaci,n documentar las
5
funciones " su#funciones que de#e !ro!orcionar el sistema' El !ro#lema es que no
e1iste un mecanismo !ara com!ro#ar si la es!ecificaci,n del sistema e1!resa con
e1actitud los requisitos del sistema'

@' El !aradigma orientado a o#0etos es una forma de !ensar acerca de un !ro#lema
en t5rminos del mundo real en e/ de en t5rminos de un ordenador' El .n&lisis
8rientado a 8#0etos !ermite anali/ar me0or el dominio del !ro#lema$ sin !ensar en
t5rminos de im!lementar el sistema en un ordenador como el an&lisis " dise*o
estructural' El .n&lisis 8rientado a 8#0etos !ermite !asar directamente el dominio del
!ro#lema al modelo del sistema'
5' Los cam#ios en los requisitos afectan nota#lemente a la funcionalidad de un
sistema$ !or lo que afectan muc%o al software desarrollado con m5todos
estructurados' Sin em#argo$ los cam#ios afectan en muc%a menor medida a los
o#0etos que com!onen o mane0a el sistema$ que son muc%o m&s esta#les' Las
modificaciones necesarias !ara ada!tar una a!licaci,n #asada en o#0etos a un
cam#io de requisitos suelen estar muc%o m&s locali/adas'
B' La transici,n entre las fases de an&lisis " dise*o en la orientaci,n al o#0eto es
muc%o m&s suae que en las metodologas estructuradas$ no %a#iendo tanta
diferencia entre las eta!a'
Enca,sulaci%n - ocultaci%n de datos" El t5rmino enca!sulaci,n indica l ca!acidad
que tienen los o#0etos de construir una c&!sula a su alrededor$ ocultando la
informaci,n que contienen +aqu5lla que es necesaria !ara su funcionamiento interno$
!ero innecesaria !ara los dem&s o#0etos- a las otras clases que com!onen la
a!licaci,n'
La ca!acidad de !resentaci,n de informaci,n dentro de un o#0eto se diide en dos
!artes #ien diferenciadas)
Inte.na" La informaci,n que necesita el o#0eto !ara o!erar " que es innecesaria !ara
los dem&s o#0etos de la a!licaci,n' Estos atri#utos se denominada !riados " tienen
como marco de a!licaci,n 4nicamente a las o!eraciones asociadas al o#0eto'
E/te.na" La que necesitan el resto de los o#0etos !ara interactuar con el o#0eto que
definimos' Estas !ro!iedades se denominan !4#licas " corres!onde a la informaci,n
que necesitan conocer los restantes o#0etos de la a!licaci,n res!ecto del o#0eto
definido !ara !oder o!erar'
Las caractersticas de =ise*o estructurado de o#0etos +=88-)
Mantenibilidad" :ualidad que indica que un !rograma o sistema de#e ser
f&cilmente modifica#le' Es decir que los cam#ios en las condiciones e1ternas
+como la definici,n de una nuea aria#le- im!licar&n modificaciones
5
!eque*as en el !rograma ; sistema' El conce!to de manteni#ilidad im!lica
que un !rograma$ al igual que un ser io de#e ser ca!a/ de ada!tarse a un
medio am#iente siem!re cam#iante'
Reusabilidad" a noci,n de o#0eto !ermite que !rogramas que traten las
mismas estructuras de informaci,n reutilicen las definiciones de o#0etos
em!leadas en otros !rogramas e incluso los !rocedimientos que los
mani!ulan' =e esta forma$ el desarrollo de un !rograma !uede llegar a ser
una sim!le com#inaci,n de o#0etos "a definidos donde estos est&n
relacionados de una manera !articular'
La eoluci,n del dise*o de software$ como !arte del !roceso de desarrollo de software$
es un !roceso continuo que se %a ido !roduciendo durante las 4ltimas tres d5cadas' Los
!rimeros tra#a0os so#re dise*o se centraron so#re los criterios !ara el desarrollo de
!rogramas modulares " los m5todos !ara me0orar la arquitectura del software de una
manera descendente' Los as!ectos !rocedimentales de la definici,n del dise*o
eolucionaron %acia una filosofa denominada !rogramaci,n estructurada' 3osteriores
tra#a0os !ro!usieron m5todos !ara la traducci,n del flu0o de datos o de la estructura de
los datos$ en una definici,n de dise*o' Nueos enfoques !ara el dise*o !ro!onen un
m5todo orientado a o#0etos !ara la o#tenci,n del dise*o'
:ada metodologa de dise*o de software introduce %eursticas " notaciones !ro!ias$ as
como una isi,n algo !articular de lo que caracteri/a a la calidad del dise*o' Sin
em#argo$ todas las metodologas tienen arias caractersticas comunes)
Un mecanismo !ara la traducci,n de la re!resentaci,n del cam!o de informaci,n
en una re!resentaci,n de dise*o A
5
Una notaci,n !ara re!resentar los com!onentes funcionales " sus interfaces A
7eursticas !ara el refinamiento " la !artici,n$ "
:riterios !ara la aloraci,n de la calidad'
El o#0etio m&s im!ortante es )
Entregar las funciones requeridas !or el usuario +Satisfaga una es!ecificaci,n funcional
dada-'
3ero adem&s !ara lograr esto de#en considerarse los as!ectos de)
Rendimiento" cu&n r&!ido !ermitir& el dise*o reali/ar el tra#a0o dado un recurso
!articular de %ardware' Es decir que contem!le las limitaciones del medio donde ser&
im!lementado el sistema$ " alcance los requerimientos de !erformance " uso de
recursos'
Cont.ol" !rotecci,n contra errores %umanos$ m&quinas defectuosas$ o da*os
intencionales'
Con$iabilidad" facilidad con la cual el dise*o !ermite modificar el sistema'
El 4nico instrumento adecuado !ara determinar el status de la calidad de un !roducto
software es el !roceso de !rue#as' En este !roceso se e0ecutan !rue#as dirigidas a
com!onentes del software o al sistema de software en su totalidad$ con el o#0etio de
medir el grado en que el software cum!le con los requerimientos' En las !rue#as se
usan casos de !rue#a$ es!ecificados de forma estructurada mediante (5cnicas de
!rue#a' El !roceso de !rue#as$ sus o#0etios " los m5todos " t5cnicas usados se
descri#en en el !lan de !rue#a'
(i!os de !rue#a)
P.uebas unita.ias" E0ecutado ma"ormente !or los desarrolladores
P.uebas de Ca!a 0lanca" Esta #asada en la l,gica interna de la a!licaci,n " el
c,digo' 7ace una co#ertura de declaraciones del c,digo$ ramas$ caminos "
condiciones'
5
P.uebas de Ca!a Ne.a" No est& #asada en el conocimiento del c,digo o dise*o
interno$ determina la funcionalidad del sistema'
P.uebas al$a1 - ,.uebas beta" Es la !rue#a cuando la a!licaci,n esta cerca de la
entrega al usuario' Se %acen !eque*os cam#ios generalmente en el dise*o de
interfaces' Esta !rue#a es %ec%a !or usuarios' Es la #4squeda de #ugs en el
!rograma com!leto' Ceneralmente es %ec%a !or usuarios'
3rue#as de Integridad
P.uebas del Sistemas" Es una !rue#a de ca0a negra inclu"endo todos los
com!onentes del sistema desde el %ardware a la documentaci,n'
Pasos ,a.a el desa..ollo de ,.uebas"
- Obtener los requerimientos en forma clara.
- Obtener planificacin de diseo.
- Determinar funcionalidad.
- dentificar aplicaciones de alto ries!o o con prioridad de prueba.
- Determinar m"todos de prueba.
- Determinar conte#to de la prueba.
- Obtener datos de prueba.
- Estimar tiempo de prueba.
- $lasificar errores del pro!rama.
- Documentar errores del pro!rama.
- Redactar los casos de prueba que encontraron fallas.
- %probar una revisin en la prueba.
- Evaluar resultados en reportes.
- &uscar bu!s.
- 'olver a probar si es necesario.
- %ctuali(ar el plan de prueba.
5
5
=efinici,n " significado de :onfigurar)
.da!tar una a!licaci,n software o un elemento %ardware al resto de los elementos del
entorno " a las necesidades es!ecficas del usuario' Es una tarea esencial antes de
tra#a0ar con cualquier nueo elemento' La tendencia actual es a reducir las necesidades
de configuraci,n mediante sistemas que !ermiten al nueo elemento detectar en qu5
entorno se instala$ configur&ndose autom&ticamente sin requerir la !artici!aci,n del
usuario' :uando 5sta es necesaria$ se intenta facilitar al m&1imo el !roceso de
configuraci,n'
-:ursor) Elemento gr&fico que indica en qu5 !unto de la !antalla se situar& el car&cter
que se introdu/ca en ese momento' Suele re!resentarse mediante un rect&ngulo o lnea
!ar!adeante$ aunque su forma " color de!enden del !rograma que se utilice$
!ermiti5ndose$ generalmente$ ada!tar sus caractersticas a los gustos " !referencias del
usuario'
-CE6) +Cra!%ics Enironment 6anager- .dministrador de entorno de gr&ficos' Interfa/
de usuario gr&fica de =igital Researc%$ similar al entorno 6ac;Dindows' CE6 se
incor!ora en R86 en arias com!utadoras'
->eta-tester) .ntes de lan/arse un !rograma de software$ un determinado n4mero de
usuarios$ t5cnicos " e1!ertos lo !rue#an con el fin de detectar errores en su
funcionamiento' Son los #eta-tester Su !rinci!al caracterstica es que no !ertenecen a la
em!resa desarrolladora del software en cuesti,n$ " que reali/an las !rue#as del
!rograma en un entorno real$ esto es$ como si realmente tra#a0aran con 5l'
-3aquete) El t5rmino se refiere a cierto software de a!licaci,n dise*ado !ara atender
necesidades sectoriales$ de un ti!o de negocio$ etc' Un !aquete integrado contiene un
con0unto de !rogramas !ara atender diersas necesidades$ !or e0em!lo) conta#ilidad$
entas$ etiquetas$ etc5tera' :on frecuencia$ un !aquete integra a!licaciones
desarrolladas !or distintas firmas'
-.n&lisis) En an&lisis de sistemas es el !rimer !aso$ en este !roceso en .nalista se
re4ne con el cliente ";o usuario +un re!resentante institucional$ de!artamental o cliente
!articular-$ que identifican'
La fase de mantenimiento de un !ro"ecto contiene las fases de im!lantaci,n$ testeo$
de!uraci,n " control de rendimiento$ eta!as que nos !ermiten a0ustar nuestro sistema de
forma que sus funcionalidades corres!ondan con los o#0etios iniciales'
La !rimera fase del mantenimiento de un sistema software consiste en la im!lantaci,n
de nuestra a!licaci,n en el entorno donde se a a desarrollar' 3osteriormente$ es
necesario reali/ar una serie de !rue#as !ara com!ro#ar que no %an surgido !ro#lemas$
en tal caso ser& recomenda#le reali/ar una de!uraci,n' 2inalmente$ se de#e mantener
5
un control del Rendimiento' 3ara com!letar todas estas fases con 51ito$ dis!onemos de
diersas utilidades que facilitan el !roceso de mantenimiento'
:.SE) :om!uter < .ided Software Engineering , Ingeniera de Software a!licada en
com!utadoras
(ecnologa :ase'
Sus :om!onentes de la 7erramienta :ase'
Su Estructura'
Estado .ctual'
:ase en el 2uturo
:lasificaciones

Você também pode gostar