Date post: | 28-Feb-2018 |
Category: |
Documents |
Upload: | carlosz-barrera |
View: | 221 times |
Download: | 0 times |
of 16
7/25/2019 Portafolio CarlosManuel IngTI 9B
1/16
UNIVERSIDAD TECNOLGICA DE LA REGIN NORTE DEGURRERO
UNIDAD ACADMICA DE LA REGIN MONTAA
MATERIA:
OPTATIVA II
CARRERA:
INGENIERA EN TECNOLOGAS DE LA INFORMACIN
Cuatrimestre:9 (Mayo - Agosto)Grupo:!
PROESOR:
FIDENCIO MENESES GARCIA
ELA!ORADO POR:
CARLOS MAN"EL ARRERA I#TLA$"AC
C"i#apa $e %#&are' Gro( )u*io $e +,-.
7/25/2019 Portafolio CarlosManuel IngTI 9B
2/16
ContenidoUnidad I. Introduccin a la ingeniera de software..........................................................3
Definicin de ingeniera de software y su importancia.................................................3
Ciclo de vida de un sistema software........................................................................ 4
Unidad II. Diagramas UML......................................................................................8
Introduccin a UML.............................................................................................8
Diagramas..........................................................................................................8
Diagrama de objetos..........................................................................................8
Diagrama de casos de uso................................................................................... 9
Diagrama de estados......................................................................................... 9
Diagrama de secuencias................................................................................... 10
Diagrama de actividades.................................................................................. 10
Diagrama de colaboraciones.............................................................................11
Diagrama de componentes................................................................................11
Unidad III. Ingeniera de reuerimientos...................................................................12
!"cnicas para la obtencin de los reuerimientos de un sistema..................................12
#ntrevistas....................................................................................................12
Lluvia de ideas............................................................................................... 13
#specificacin de reuisitos..................................................................................13
Introduccin
7/25/2019 Portafolio CarlosManuel IngTI 9B
3/16
En el presente documento se describen los conceptos necesarios para poder realizar un
software, como algunos mtodos para obtener bien los requisitos, y despus realizar de la
mejor manera los diagramas UML, donde se describen cada uno de estos, y tener una
visualizacin ms cercana a lo que ser el sistema!
7/25/2019 Portafolio CarlosManuel IngTI 9B
4/16
Unidad I. Introduccin a la ingeniera de software
Definicin de ingeniera de software y su importancia
La ingenier"a de software es una disciplina formada por un conjunto de mtodos,
#erramientas y tcnicas que se utilizan en el desarrollo de los programas informticos$software%!
Esta disciplina trasciende la actividad de programacin, que es el pilar fundamental a la
#ora de crear una aplicacin! El ingeniero de software se encarga de toda la gestin del
proyecto para que ste se pueda desarrollar en un plazo determinado y con el presupuesto
previsto!
La ingenier"a de software, por lo tanto, incluye el anlisis previo de la situacin, el dise&o
del proyecto, el desarrollo del software, las pruebas necesarias para confirmar su correcto
funcionamiento y la implementacin del sistema!
'abe destacar que el proceso de desarrollo de software implica lo que se conoce como ciclo
de vida del software, que est formado por cuatro etapas( concepcin, elaboracin,
construccin y transicin!
La concepcin fija el alcance del proyecto y desarrolla el modelo de negocio) la elaboracin
define el plan del proyecto, detalla las caracter"sticas y fundamenta la arquitectura) laconstruccin es el desarrollo del producto) y la transicin es la transferencia del producto
terminado a los usuarios!
Una vez que se completa este ciclo, entra en juego el mantenimiento del software! *e trata
de una fase de esta ingenier"a donde se solucionan los errores descubiertos $muc#as veces
advertidos por los propios usuarios% y se incorporan actualizaciones para #acer frente a los
nuevos requisitos! El proceso de mantenimiento incorpora adems nuevos desarrollos, para
permitir que el software pueda cumplir con una mayor cantidad de tareas!
Un campo directamente relacionado con la ingenier"a de software es la arquitectura de
sistemas, que consiste en determinar y esquematizar la estructura general del proyecto,
diagramando su esqueleto con un grado relativamente alto de especificidad y se&alando los
distintos componentes que sern necesarios para llevar a cabo el desarrollo, tales como
7/25/2019 Portafolio CarlosManuel IngTI 9B
5/16
aplicaciones complementarias y bases de datos! *e trata de un punto fundamental del
proceso, y es muc#as veces la clave del +ito de un producto informtico!
ngenier"a de software) Los avances tecnolgicos y su repercusin en la vida social #an
afectado inevitablemente el proceso de desarrollo de software por diversos motivos, comoser el acceso indiscriminado de los usuarios a cierta informacin que #asta #ace un par de
dcadas desconoc"a por completo y que no pueden comprender, dado que no poseen el
grado de conocimiento tcnico necesario! Un consumidor bien informado es un consumidor
al que no se puede timar, ya que sabe lo que necesita y tiene la capacidad de analizar las
diferentes ofertas del mercado, comparando las propuestas y prestaciones de los productos)
sin embargo, un consumidor mal informado es como un ni&o capric#oso que llora, grita y
patalea sin parar!
La primera de todas las etapas del trabajo que realizan los ingenieros de software consiste
en estudiar minuciosamente las caracter"sticas que se creen necesarias para el programa a
desarrollar, y es ste el punto en el cual deben encontrar un equilibrio $cada vez ms dif"cil
de alcanzar% entre las demandas e+cesivas de los malos consumidores y las posibilidades de
la compa&"a! El tiempo es dinero, y las empresas del mundo informtico lo saben muy bien!
'ada funcin de un programa, cada rasgo que lo vuelva ms cmodo, ms inteligente, ms
accesible, se traduce en una cantidad determinada de tiempo, que a su vez acarrea lossueldos de todas las personas involucradas en su desarrollo! -ero adems del costo de
produccin necesario para realizar cada una de las piezas de un programa, la ingenier"a de
software debe decidir cules de ellas tienen sentido, son co#erentes con el resto y son
necesarias para comunicar claramente la esencia y los objetivos de la aplicacin!
Ciclo de vida de un sistema software
El trmino ciclo de vida del software describe el desarrollo de software, desde la fase inicial
#asta la fase final! El propsito de este programa es definir las distintas fases intermediasque se requieren para validar el desarrollo de la aplicacin, es decir, para garantizar que el
software cumpla los requisitos para la aplicacin y verificacin de los procedimientos de
desarrollo( se asegura de que los mtodos utilizados son apropiados!
7/25/2019 Portafolio CarlosManuel IngTI 9B
6/16
Estos programas se originan en el #ec#o de que es muy costoso rectificar los errores que se
detectan tarde dentro de la fase de implementacin! El ciclo de vida permite que los errores
se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la
calidad del software, en los plazos de implementacin y en los costos asociados!
#l ciclo de vida b$sico de un software consta de los siguientes procedimientos%
Definicin de objetivos% definir el resultado del proyecto y su papel en la estrategia global!
&n$lisis de los reuisitos y su viabilidad% recopilar, e+aminar y formular los requisitos del
cliente y e+aminar cualquier restriccin que se pueda aplicar!
Dise'o general% requisitos generales de la arquitectura de la aplicacin!
Dise'o en detalle% definicin precisa de cada subconjunto de la aplicacin!
(rogramacin )programacin e implementacin*% es la implementacin de un lenguaje
de programacin para crear las funciones definidas durante la etapa de dise&o!
(rueba de unidad%prueba individual de cada subconjunto de la aplicacin para garantizar
que se implementaron de acuerdo con las especificaciones!
Integracin%para garantizar que los diferentes mdulos se integren con la aplicacin! .ste
es el propsito de la prueba de integracin que est cuidadosamente documentada!
(rueba beta )o validacin*+ para garantizar que el software cumple con las
especificaciones originales!
Documentacin% sirve para documentar informacin necesaria para los usuarios del
software y para desarrollos futuros!
Implementacin
Mantenimiento% para todos los procedimientos correctivos $mantenimiento correctivo% y
las actualizaciones secundarias del software $mantenimiento continuo%!
7/25/2019 Portafolio CarlosManuel IngTI 9B
7/16
El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una
aplicacin dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el
equipo de desarrolladores!
Modelos de ciclo de vida
-ara facilitar una metodolog"a com/n entre el cliente y la compa&"a de software, los
modelos de ciclo de vida se #an actualizado para reflejar las etapas de desarrollo
involucradas y la documentacin requerida, de manera que cada etapa se valide antes de
continuar con la siguiente etapa! 0l final de cada etapa se arreglan las revisiones de manera
que $te+to faltante%!
Modelo en cascada
El modelo de ciclo de vida en cascada comenz a dise&arse en 1233 y se termin alrededor
de 1245! *e define como una secuencia de fases en la que al final de cada una de ellas se
re/ne la documentacin para garantizar que cumple las especificaciones y los requisitos
antes de pasar a la fase siguiente(
7/25/2019 Portafolio CarlosManuel IngTI 9B
8/16
Ciclo de vida en cascada
Modelo ,
El modelo de ciclo de vida 6 proviene del principio que establece que los procedimientos
utilizados para probar si la aplicacin cumple las especificaciones ya deben #aberse creado
en la fase de dise&o!
7/25/2019 Portafolio CarlosManuel IngTI 9B
9/16
Unidad II. Diagramas UML
Introduccin a UML
Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema! UMLofrece un estndar para describir un 7plano7 del sistema $modelo%, incluyendo aspectosconceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretoscomo e+presiones de lenguajes de programacin, esquemas de bases de datos y compuestosreciclados!
Es importante remarcar que es un 7lenguaje de modelado7 para especificar o para describirmtodos o procesos! *e utiliza para definir un sistema, para detallar los artefactos en elsistema y para documentar y construir! En otras palabras, es el lenguaje en el que estdescrito el modelo!
*e puede aplicar en el desarrollo de software gran variedad de formas para dar soporte auna metodolog"a de desarrollo de software $tal como el -roceso Unificado 8acionalo 8U-%, pero no especifica en s" mismo qu metodolog"a o proceso usar!
UML no puede compararse con la programacin estructurada, pues UML significaLenguaje Unificado de Modelado, no es programacin, solo se diagrama la realidad de unautilizacin en un requerimiento! Mientras que, programacin estructurada, es una forma deprogramar como lo es la orientacin a objetos, la programacin orientada a objetos vienesiendo un complemento perfecto de UML, pero no por eso se toma UML slo paralenguajes orientados a objetos!
Est compuesto por diversos elementos grficos que se combinan para conformardiagramas! 9ebido a que el UML es un lenguaje, cuenta con reglas para combinar taleselementos!
La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cualesse les conoce como modelo! 8ecordemos que un modelo es una representacin simplificadade la realidad) el modelo UML describe lo que supuestamente #ar un sistema, pero no dicecmo implementar dic#o sistema!
Diagramas
Diagrama de objetos
Los 9iagramas de :bjetos estn vinculados con los 9iagramas de 'lases! Un objeto es unainstancia de una clase, por lo que un diagrama de objetos puede ser visto como unainstancia de un diagrama de clases! Los diagramas de objetos describen la estructuraesttica de un sistema en un momento particular y son usados para probar la precisin delos diagramas de clases!
7/25/2019 Portafolio CarlosManuel IngTI 9B
10/16
-
Diagrama de casos
de usoUn caso de uso es una descripcin de las acciones de un sistema desde el punto de vista del
usuario! Es una #erramienta valiosa dado que es una tcnica de aciertos y errores para
obtener los requerimientos del sistema, justamente desde el punto de vista del usuario! Los
diagramas de caso de uso modelan la funcionalidad del sistema usando actores y casos de
uso! Los casos de uso son servicios o funciones provistas por el sistema para sus usuarios!
Diagrama de estados
En cualquier momento, un objeto se encuentra en un estado particular, la luz est encendida
o apagada, el auto en movimiento o detenido, la persona leyendo o cantando, etc! El
diagrama de estados UML captura esa peque&a realidad!
7/25/2019 Portafolio CarlosManuel IngTI 9B
11/16
Diagrama de secuencias
Los diagramas de clases y los de objetos representan informacin esttica! ;o obstante, en
un sistema funcional, los objetos interact/an entre s", y tales interacciones suceden con el
tiempo! El diagrama de secuencias UML muestra la mecnica de la interaccin con base en
tiempos!
Diagrama de actividades
Un diagrama de actividades ilustra la naturaleza dinmica de un sistema mediante el
modelado del flujo ocurrente de actividad en actividad! Una actividad representa una
operacin en alguna clase del sistema y que resulta en un cambio en el estado del sistema!
7/25/2019 Portafolio CarlosManuel IngTI 9B
12/16
Diagrama de colaboraciones
El diagrama de colaboraciones describe las interacciones entre los objetos en trminos de
mensajes secuenciados! Los diagramas de colaboracin representan una combinacin de
informacin tomada de los diagramas de clases, de secuencias y de casos de uso,
describiendo el comportamiento, tanto de la estructura esttica, como de la estructura
dinmica de un sistema!
Diagrama de componentes
Un diagrama de componentes describe la organizacin de los componentes f"sicos de un
sistema!
7/25/2019 Portafolio CarlosManuel IngTI 9B
13/16
Unidad III. Ingeniera de reuerimientos
Es el proceso para establecer los servicios que el sistema deber proveer y las restricciones
bajo las cuales deber operar y ser desarrollado!
La ngeniera de 8equerimientos es, por tanto, una actividad esencialmente de interaccincon los interesados en el sistema!
!"cnicas para la obtencin de los reuerimientos de un sistema. dentificacin de un rea del problema! Llegar un acuerdo con los clientes=usuarios sobre lo que el sistema debe #acer Especificacin del sistema -roporcionar los desarrolladores un mejor entendimiento de los requerimientos 9efinirlas fronteras $delimitar% del sistema -roporcionar bases para planificarlas iteraciones
Estimar los costos y el tiempo de desarrollo! 9esarrollar las aplicaciones en sesin >09
#ntrevistas
La entrevista es de gran utilidad para obtener informacin cualitativa como opiniones, o
descripciones subjetivas de actividades! Es una tcnica muy utilizada, y requiere una mayor
preparacin y e+periencia por parte del analista! La entrevista se puede definir como un
?intento sistemtico de recoger informacin de otra persona@ a travs de una comunicacin
interpersonal que se lleva a cabo por medio de una conversacin estructurada! 9ebe quedar
claro que no basta con #acer preguntas para obtener toda la informacin necesaria!
&spectos m$s importantes a tener en cuenta al reali-ar entrevistas%
-reparacin! Es necesario documentarse e investigar la situacin de la organizacin
analizando los documentos disponibles, de tal forma que la entrevista se enfoque en
aquellos aspectos que estn solamente en la mente del entrevistado y que no son
accesibles por otros medios como la observacin o el anlisis de documentos!
Entrevistar al personal adecuado! La mayor"a de los analistas adoptan un enfoquecomenzando a entrevistar a directivos para que brinden un panorama general de
#acia donde deber"an ir las cosas, y terminando por #ablar con los empleados que
aportan detalles importantes de la operacin! 9uracin! Una entrevista deber"a durar al menos un par de #oras!
7/25/2019 Portafolio CarlosManuel IngTI 9B
14/16
Aormato! *e recomienda utilizar preguntas abiertas, donde los entrevistados puedan
elaborar y dar detalles, ms all de simplemente responder ?si@ o ?no@!
Lluvia de ideas
Es una tcnica de grupo para generar ideas originales en un ambiente relajado! Esta#erramienta creada en el a&o 12B1 por 0le+ :sborne, cuando su b/squeda de ideas
creativas result en un proceso interactivo de grupo no estructurado de ?lluvia de ideas@
que generaba ms y mejores ideas que las que los individuos pod"an producir trabajando de
forma independiente!
#specificacin de reuisitos
euisitos /uncionales
9efine las funciones que el sistema ser capaz de realizar!
9escribe las transformaciones que el sistema realiza sobre las entradas para
producir salidas!
euisitos no funcionales
9efine las caracter"sticas que de una u otra forma pueden limitar el sistema!
0spectos visibles por el usuario $-ortabilidad, 'onfiabilidad, Eficiencia, ngenier"aCumana, 6erificabilidad, Entendimiento, Modificabilidad%! *e recogen delos 'U
con los que estn relacionados, o en las Especificaciones 'omplementarias!
01u" es un reuerimiento2
Es una caracter"stica que un sistema debe tener para cubrir alguna de las
necesidades que lo motivan8ango de instrucciones abstractas de alto nivel de un servicio o de un
sistemaDase para la declaracin de un contrato y deber ser interpretado-osteriormente debe ser definido en detalle0mbas declaraciones sern llamadas 8equerimientos!
(roblemas%
7/25/2019 Portafolio CarlosManuel IngTI 9B
15/16
8oles del equipo de desarrollo indefinido y descoordinado!
7/25/2019 Portafolio CarlosManuel IngTI 9B
16/16