Professional Documents
Culture Documents
La ingeniera del software trata con reas muy diversas de la Informtica y de las Ciencias de la
Computacin, tales como construccin de compiladores, sistemas operativos o desarrollos de
Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de
sistemas de informacin y aplicables a una infinidad de reas tales como: negocios, investigacin
cientfica, medicina, produccin, logstica, banca, control de trfico, meteorologa, el mundo del
derecho, la red de redes Internet, redes Intranet y Extranet, etc.
UML:
Es importante decir que UML es un "lenguaje de modelado" para describir o para especificar
mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y
para documentar y construir; es decir en el lenguaje en el que est descrito el modelo.
Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar
soporte a una metodologa de desarrollo de software (tal como el Proceso Unificado Racional o
RUP), pero no especifica en s mismo qu metodologa o proceso utilizar.
UML no puede compararse con la programacin estructurada, pues UML significa Lenguaje
Unificado de Modelado, no es programacin, solo se diagrama la realidad de una utilizacin en un
requerimiento. Mientras que, programacin estructurada, es una forma de programar como lo es
la orientacin a objetos, sin embargo, la programacin orientada a objetos viene siendo un
complemento perfecto de UML, pero no por eso se toma UML slo para lenguajes orientados a
objetos.
La notacin es la parte grfica que se ve en los modelos y representa la sintaxis del lenguaje de
modelado. Por ejemplo, la notacin del diagrama de clases define como se representan los
elementos y conceptos como son: una clase, una asociacin y una multiplicidad. Y qu significa
exactamente una asociacin o multiplicidad en una clase? Un metamodelo es la manera de definir
esto (un diagrama, usualmente de clases, que define la notacin).
BPMN:
- Objetos de flujo: figuras geomtricas como crculos, rectangulos o rombos de control de flujo que
indican los eventos Y actividades.
- Objetos de conexin: trazos o lneas de puntos que pueden incluir flechas para indicar la
direccin del proceso.
- Swimlanes (carriles de piscina): llamada as por su semejanza geomtrica con las lneas de carril
del fondo de una piscina olmpica. Rectas slidas a lo largo y dentro de un cuadrado denominado
fondo. El Swinglanes organiza el flujo de objetos en categoras con funcionalidad similar.
DFD:
Un diagrama de flujo de datos (DFD por sus siglas en espaol e ingls) es una representacin
grfica del "flujo" de datos a travs de un sistema de informacin. Un diagrama de flujo de datos
tambin se puede utilizar para la visualizacin de procesamiento de datos (diseo estructurado).
Es una prctica comn para un diseador dibujar un contexto a nivel de DFD que primero muestra
la interaccin entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explot"
para mostrar ms detalles del sistema que se est modelando.
Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original
del diseo estructurado, basado en el modelo de computacin de Martin y Estrin: "flujo grfico de
datos. Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de
Anlisis de Sistemas Estructurados y Diseo por Mtodo SSADM. El patrocinador de un proyecto y
los usuarios finales tendrn que ser informados y consultados en todas las etapas de una
evolucin del sistema.
Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema
funcione, lo que el sistema va a lograr, y cmo el sistema se pondr en prctica. El antiguo sistema
de diagramas de flujo de datos puede ser elaborado y se compar con el nuevo sistema de
diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema ms
eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final
una idea fsica de cmo resultarn los datos a ltima instancia, y cmo tienen un efecto sobre la
estructura de todo el sistema. La manera en que cualquier sistema es desarrollado puede
determinarse a travs de un diagrama de flujo de datos. El desarrollo de un DFD ayuda en la
identificacin de los datos de la transaccin en el modelo de datos.
Herramientas CASE
Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan
asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos
del Ciclo de Vida de desarrollo de un Software.
Otras definiciones:
Las Herramientas CASE son un conjunto de mtodos, utilidades y tcnicas que facilitan
la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en
alguna de sus fases.
La sigla genrica para una serie de programas y una filosofa de desarrollo de software que
ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.
Control de mantenimiento.
Las fases del ciclo de vida del desarrollo de sistemas que abarca.
Su funcionalidad.
Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se pueden agrupar de
la forma siguiente:
Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del
ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench.
Las herramientas I-CASE se basan en una metodologa. Tienen un repositorio y aportan tcnicas
estructuradas para todas las fases del ciclo de vida. Estas son las caractersticas que les confieren
su mayor ventaja: una mejora de la calidad de los desarrollos. Sin embargo, no todas ellas son
modernas en el sentido de aprovechar la potencia de las estaciones de trabajo o la utilizacin de
lenguajes de alto nivel o tcnicas de prototipo.
Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la
automatizacin y soporte de las actividades desarrolladas durante las primeras fases del
desarrollo: anlisis y diseo.
Una estrategia posible es utilizar una U-CASE para anlisis y diseo, combinada con otras
herramientas ms modernas para las fases de construccin y pruebas. En este caso, habra que
vigilar cuidadosamente la integracin entre las distintas herramientas.
Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las ltimas
fases del desarrollo: construccin e implantacin.
Juegos de herramientas o toolkits, son el tipo ms simple de herramientas CASE. Automatizan una
fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas
de reingeniera, orientadas a la fase de mantenimiento.
Herramientas Cliente/Servidor
Herramientas de Ingeniera WEB
Herramientas de Reingeniera
Microsoft Project
Racional Rose
JDeveloper
MagicDraw
Visual Paradigm
Microsoft Visio
Enterprise Architect
ETAPAS DE LA INGENIERIA DEL SOFTWARE
3. Diseo y arquitectura: Determinar cmo funcionar de forma general sin entrar en detalles
incorporando consideraciones de la implementacin tecnolgica, como el hardware, la red,
etc. Consiste en el diseo de los componentes del sistema que dan respuesta a las
funcionalidades descritas en la segunda etapa tambin conocidas como las entidades de negocio.
Generalmente se realiza en base a diagramas que permitan describir las interacciones entre las
entidades y su secuenciado.
RESUMEN
INGENIERA DE SOFTWARE
UML:
BPMN:
DFD:
Un diagrama de flujo de datos (DFD por sus siglas en espaol e ingls) es una representacin
grfica del "flujo" de datos a travs de un sistema de informacin. Un diagrama de flujo de datos
tambin se puede utilizar para la visualizacin de procesamiento de datos (diseo estructurado).
Herramientas CASE
Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan
asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos
del Ciclo de Vida de desarrollo de un Software.
Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del
ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench.
Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la
automatizacin y soporte de las actividades desarrolladas durante las primeras fases del
desarrollo: anlisis y diseo.
Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las ltimas
fases del desarrollo: construccin e implantacin.
Juegos de herramientas o toolkits, son el tipo ms simple de herramientas CASE. Automatizan una
fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas
de reingeniera, orientadas a la fase de mantenimiento.
Anlisis de requerimientos: Se extraen los requisitos del producto de software. En esta etapa la
habilidad y experiencia en la ingeniera del software es crtica para reconocer requisitos
incompletos, ambiguos o contradictorios.
Diseo y arquitectura: Determinar cmo funcionar de forma general sin entrar en detalles
incorporando consideraciones de la implementacin tecnolgica, como el hardware, la red, etc.
SOFTWARE ENGINEERING
UML:
Unified Modeling Language (LUM or UML) modeling language is the most recognized systems and
software currently used; It is supported by the OMG (Object Management Group). It is a graphical
language to specify, visualize, construct and document a system.
BPMN:
The Business Modeling Notation or BPMN (Notation for Business Process Modeling) is a business
method illustrating processes similar to a flowchart. BPMN was developed initially by the Business
Process Management Initiative (BPMNI). He is currently held by the Object Management Group
(OMG).
DFD:
A data flow diagram (DFD for its acronym in Spanish and English) is a graphical representation of
the "flow" of data through an information system. A data flow diagram may also be used for
visualization of data processing (structured design).
CASE tools
You can define CASE tools as a set of programs and grants that assist analysts, software engineers
and developers during all steps of the life cycle of a software development.
integrated tools, I-CASE (Integrated CASE, CASE integrated): cover all phases of the life cycle of
systems development. They are also called CASE workbench.
High-level tools, U-CASE (Upper CASE - CASE higher) or front-end, oriented automation and
support activities during the early stages of development: analysis and design.
Low-level tools, L-CASE (Lower CASE - CASE bottom) or back-end, aimed at the final stages of
development: construction and implementation.
Toolkits or toolkits are the simplest type of CASE tools. Automate a phase in the life cycle. Within
this group reengineering tools aimed at the maintenance phase would be found.
Requirements analysis: the requirements of the software product are removed. At this stage the
skill and experience in software engineering is critical to recognize incomplete, ambiguous or
conflicting requirements.
Specification: It is the task of describing in detail the software to be written, in a rigorous way. the
expected behavior of the software and its interaction with users and / or other systems described.
Design and architecture: Determine how work generally without elaborating incorporating
technology implementation considerations, such as hardware, network, etc.
Programming: the design is translated code. It is the most obvious part of the software
engineering work and the first in which "tangible" results.
Test: it consists of checking that the software responds / successfully perform the tasks outlined in
the specification.
Documentation: Making user manual, and possibly a technical manual for the purpose of future
maintenance and upgrades to the system.
2. Se recomienda del mismo modo el uso de Excel y VBA por encima de cualquier otro software de
programacin para la realizacin de esta tarea, puesto que esta disponible prcticamente en
cualquier PC, y por que es hasta el momento la herramienta ms verstil.
4. Es de suma importancia conocer bien el lenguaje y herramientas que tiene VBA, sin embargo, la
experiencia ensea que el aprendizaje es continuo, por lo tanto se debe de pensar en una mejora
tambin continua de cada programa que se realice, puesto que se encontrarn herramientas muy
tiles sobre en el camino de realizacin de los programas.
CONCLUSIONES
Los cambios radicales en hardware a partir de la ltima mitad del siglo anterior causaron una
forzada evolucin del software, lo cual ha generado el establecimiento de modelos, estndares y
redefinicin de conceptos que ratifican un establecimiento cada vez ms fuerte de la Ingeniera del
Software a nivel mundial.
Teniendo en cuenta los principios de Ingeniera del Software resumidos en este ensayo,
profundizando en cada uno de ellos y llevando un trabajo juicioso y concienzudo, garantizar el
xito en cualquier proyecto de construccin de software y, porque no? en proyectos de otro tipo.
GLOSARIO DE TRMINOS
ACOPLAMIENTO
Es un mdulo de software ejecutable que tiene identidad y una interface bien definida.
ESPECIFICACIN OPERACIONAL
Es aquella que trata el estado de las propiedades deseadas del sistema en forma puramente
declarativa.
IMPLEMENTACIN
Es la definicin de cmo est construido o compuesto algo. Por ejemplo: una clase es una
implementacin de un tipo, un mtodo es una implementacin de una operacin.
PROTOCOLO
LINKOGRAFA
http://infoblog-ingsoftware.blogspot.pe/2010/11/las-tres-notaciones-son-y-uml-lenguaje.html
http://www.monografias.com/trabajos5/inso/inso.shtml
http://www.monografias.com/trabajos73/herramientas-case-proceso-
desarrollosoftware/herramientas-case-proceso-desarrollo-software.shtml
http://proyectosguerrilla.com/blog/2013/02/las-cinco-etapas-en-la-ingenieria-del-software/
http://www.monografias.com/trabajos102/ingenieria-del-software/ingenieria-del-
software.shtml#conclusina
LINK DE LA DIAPOSITIVA
http://www.slideshare.net/mireya2022/ingenieria-de-software-63861935
VIDEO DE REFERENCIA