Вы находитесь на странице: 1из 31

UNIVERSIDAD AUTNOMA DE TAMAULIPAS

FACULTAD DE INGENIERA Y CIENCIAS


DIVISIN DE ESTUDIOS DE POSTGRADO E INVESTIGACIN

BIBLIOTECA DE COMPONENTES Y DOCUMENTACIN PEDRO ERNESTO CARRIZALES AVALOS

TESINA

ESPECIALIDAD EN TELECOMUNICACIONES E INFORMTICA

CD. VICTORIA, TAMAULIPAS AO 2011

UNIVERSIDAD AUTONMA DE TAMAULIPAS


FACULTAD DE INGENIERA Y CIENCIAS
DIVISIN DE ESTUDIOS DE POSTGRADO E INVESTIGACIN

BIBLIOTECA DE COMPONENTES Y DOCUMENTACIN PEDRO ERNESTO CARRIZALES AVALOS

T E S I NA PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO

ESPECIALIDAD EN TELECOMUNICACIONES E INFORMTICA

CD. VICTORIA, TAMAULIPAS 2011

La presente Tesina titulada: Biblioteca de Componentes y Documentacin

Fue realizada por: Pedro Ernesto Carrizales Avalos

Bajo la direccin del Consejo Particular indicado, ha sido aprobada por el mismo y aceptada como requisito parcial para obtener el grado de:

Especialidad

COMIT PARTICULAR

Consejero

Asesor

Asesor

Cd. Victoria, Tamps., a 7 de junio de 2011

AGRADECIMIENTOS

CONTENIDO I. Introduccin. 10 1. 1 Objetivos11 1.2 Objetivos Especficos.11

INDICE DE CUADROS

INDICE DE FIGURAS

RESUMEN El mercado del desarrollo de software es un mbito que se ha visto acrecentado en los ltimos aos en Mxico. El apoyo por parte del gobierno e instituciones quienes apuestan a el uso de las tecnologas para el desarrollo social y productivo, ha dado paso a la creacin de muchas empresas de desarrollo. La constante rotacin de personal y algunas otras cuestiones afectan a las compaas al no contar con una manera eficaz de traspasar el conocimiento o cdigo ya desarrollado a los nuevos elementos o a otras sucursales de la misma empresa. Esta tesina est enfocada al desarrollo de una herramienta que permite abordar la problemtica de la organizacin de los componentes y documentacin de las empresas, brindndole las herramientas necesarias para llevar estos procesos de una manera sencilla y eficaz, y repercutiendo en los futuros proyectos dentro de la empresa.

SUMMARY

I.

Introduccin

Con el auge de las tecnologas de informacin, y el enorme crecimiento en la demanda de sistemas informticos, las compaas desarrolladoras de software se han visto en la necesidad de satisfacer las demandas de un creciente nmero de clientes que requieren rapidez y calidad en la entrega. La mayora de las empresas dedicadas al desarrollo de software en nuestro pas, tienden a generar cdigo nuevo en cada proyecto que se realiza; Esto debido a diferentes factores como la rotacin de personal, la ausencia del manejo de cdigo que se ha realizado, o la distancia entre sucursales de la misma empresa, representando un aumento en los costes de desarrollo y tiempos de entrega del proyecto, que podran ser disminuidos sustancialmente usando el cdigo que ya se ha generado. La necesidad de las empresas de manejar de manera eficiente los componentes de software que han desarrollado y resolver la problemtica de la mala retroalimentacin de los empleados por falta de comunicacin entre los diversos proyectos que una empresa pudiera tener, adems de la necesidad de tener la certeza de que la informacin registrada en la herramienta no es visible para ningn otro organismo o empresa, dan el sustento para desarrollar una herramienta para organizar la informacin mencionada en forma consistente y sencilla. El proyecto Biblioteca de componentes y documentacin se plantea como una solucin para la organizacin de los componentes de software y su respectiva

documentacin, ofreciendo un entorno eficaz para compartir cdigo reusable entre a las distintas sucursales que puedan existir de una empresa.

1.1 Objetivo

Desarrollar una herramienta en lnea que permita la organizacin de los componentes de cdigo y documentarlos eficazmente para favorecer la reutilizacin de cdigo en entornos empresariales del ramo de software.

1.2 Objetivos Especficos

1. 2. 3. 4.

Implementar la herramienta en un sistema web. Implementar seguridad al acceso de los datos. Resguardar cdigo y documentacin en la herramienta. Permitir lectura, creacin, edicin y eliminacin de informacin

en la herramienta.

II.

Literatura Revisada

En las ltimas dcadas se ha suscitado un gran incremento en el consumo de las tecnologas computacionales como parte sustancial en el desarrollo de las empresas. Aquellas compaas que se ayudan de sistemas informticos, tienden a ser ms competitivas al automatizar procesos y realizarlos ms eficientemente. Un sistema informtico como todo sistema, es el conjunto de partes interrelacionadas, hardware, software y almacenar y procesar informacin. Dentro del desarrollo de software se siguen diferentes lneas de de recurso humano que permite

investigacin que permitan crear software con calidad y rapidez; aunque pocas veces este tipo de procesos se enfocan al reus de los componentes que ya se han desarrollado para construir un sistema ms complejo o similar. El reus de cdigo se puede describir como el utilizar cdigo, componentes, mdulos o incluso sistemas completos, en nuevos proyectos aun ms complejos con la finalidad de no reinventar la rueda, es decir, utilizar lo ya creado y no volver a disearlo y desarrollarlo nuevamente. Se puede ver que las ventajas del reus de componentes de software permiten, entre otros, reducir costos y tiempos en la produccin de software. En la actual industria de software en Mxico, la mayora de las empresas tienden a no realizar eficientemente el reus de componentes, esto debido a que

aun es un mercado en expansin. Teniendo como resultado las desventajas del incremento de costos y tiempos de desarrollo. As tambin, existen ciertas desventajas al momento de querer implementar el reus de componentes dentro de una empresa, la rotacin de personal y la falta de organizacin pueden resultar en desastrosos intentos por concebir la transmisin de conocimientos entre desarrolladores. As algunos autores como la Rosanigo Z. comentan que: Para una reutilizacin a gran escala, es necesario contar con bibliotecas de componentes para reutilizacin compartida, herramientas automatizadas para explorarlas y mecanismos que permitan buscar el requisito indicado en la especificacin actual entre los descriptos para los componentes reutilizables ya existentes. Con la reutilizacin sistemtica se logra mejoras en la calidad, en la productividad y en los costos en general.

Pensando esto, y hablando que el software provee soluciones para diversos tipos de proceso, nos enfocaremos en el desarrollo de un software capaz de ser utilizado como una herramienta que resguarde y muestre informacin a medida que un usuario la necesite.

III.

Materiales y Mtodos

Dentro de esta tesina es necesario cubrir una serie de pasos y realizar diversas elecciones entre diversas tecnologas y procesos que culminaran en el desarrollo de nuestro proyecto. Asi tambin es necesario el apoyarnos de herramientas como UML que es definida como El desarrollo de software principalmente conlleva una serie de procesos que definen el ciclo de vida que todo sistema informtico debera de realizar. Dos de los primeros modelos en aparecer han sido el modelo en cascada y modelo en espiral, que son comentados por Hugo F. Arboleda Jimnez en un artculo publicado en Internet como El modelo de cascada fue uno de los primeros modelos de ciclo de vida (MCV) que formaliz un conjunto de procesos de desarrollo de software. Este MCV describe un orden secuencial en la ejecucin de los procesos asociados. El modelo espiral se postul como una alternativa al modelo de cascada. La ventaja de este modelo radica en el perfeccionamiento de las soluciones encontradas con cada ciclo de desarrollo, en trminos de dar respuesta a los requerimientos inicialmente analizados. El modelo de cascada y el modelo espiral suponen, de manera general, que los requerimientos del cliente no cambian radicalmente en el transcurso del desarrollo del sistema. De esta manera entendemos que el modelo en cascada define una serie de fases, donde la informacin entrante de una se basa en la informacin saliente

de la anterior. As pues, vemos que el modelo en espiral es descrito como se muestra en la figura 1.

Figura 1.- Fases del Modelo en espiral Este modelo permite retroalimentar una fase anterior, esto para crear una cadena de mejoras dentro del mismo proyecto. Por tanto es el modelo que elegimos pues buscamos la creacin de una herramienta que pueda cambiar en caso necesario para acoplarse a nuevos requerimientos.

3.1 Definicin de los requerimientos Tomando en cuenta las necesidades de las empresas por el software que se desea realizar se han obtenido los siguientes requerimientos:

3.1.1 Requerimientos 1. Permitir el acceso a usuarios en diferentes localidades, restringiendo el acceso a usuarios no autorizados. 2. Permitir a los administradores dar de alta y modificar documentacin en forma de pgina web. 3. Permitir a los administradores agregar o modificar un archivo conteniendo el componente, a una documentacin. 4. Permitir a los usuarios agregar comentarios sobre la documentacin. 5. Permitir a los administradores relacionar diferentes documentos de componentes. 6. Permitir a los usuarios realizar bsquedas sobre los componentes, ver antiguas versiones, ver la documentacin y descargar los componentes de la aplicacin. 7. Permitir a un administrador eliminar documentacin.

Dicha informacin es pasada al siguiente proceso, para poder analizar dichos requerimientos y disear el sistema.

3.2 Anlisis y diseo de software Los mismos requerimientos son analizados y podemos determinar dos tipos de roles: Administrador 1. 2. 3. 4. Agregar documentacin y componente. Editar documentacin y componentes. Eliminar documentacin o componentes. Mismos privilegios que el usuario.

Usuario 1. 2. 3. 4. 5. As Acceder por un nombre de usuario y contrasea. Realizar bsquedas sobre los componentes Ver documentacin de componente Descarga de componente Agregar comentarios sobre un componente

se entiende por los requerimientos que lo ideal es crear una

herramienta en web, permitiendo con ello su uso en diferentes sucursales. Por lo cual se plantea realizar una solucin informtica basado en ASP.NET y C#.

MacDonald (2007) comenta que ASP.NET es uno de los lenguajes ms modernos utilizado en muchas compaas. Es un lenguaje del lado del servidor, es decir, solo es ejecutado en el servidor y se enva una respuesta en HTML hacia el cliente y fue desarrollado por Microsoft para suprimir las deficiencias que aparecieron en ASP. C# por su parte segn Albhari (2010) es un moderno lenguaje de programacin basado en programacin orientada a objetos y desarrollado por Microsoft con un enfoque similar a java, es decir, permite ejecutar cdigo C# en cualquier computador que cuente con un CLR (Common Language Runtime) el cual simplemente ejecuta el cdigo C# en cualquier computadora con el CLR instalado. Hay dos conceptos que debemos definir para elegir la arquitectura de nuestro proyecto: Arquitectura lgica y arquitectura fsica. Arquitectura lgica es la forma en que funcionaran los componentes y la funcionalidad dentro de nuestro proyecto, no tomando en cuenta la localizacin fsica de componentes por ejemplo, en diversos servidores. Para el desarrollo del cdigo del proyecto se usara el patrn 3-layer o estructura de 3 capas (Figura 2). Dicho patrn que consiste en dividir el proyecto en diferentes capas: Capa de Acceso a Datos, Capa de Lgica de Negocios y la Capa de Presentacin, dependiendo de la funcin que se desarrollara, dndole la capacidad de ser comprensible su funcionamiento y fcil de mantenerlo.

Figura 2.- Arquitectura de 3 capas. Esta arquitectura lgica permite separar los procesos de nuestro software en diversas capas, permitiendo con esto manejar en forma ms eficiente la creacin de nuestra aplicacin, as tambin, el realizar un desarrollo ms limpio y fcil de mantener. La arquitectura fsica, toma en cuenta la distribucin de redes, servidores computadores y dems componentes fsicos. La arquitectura fsica recomendable a usar es n-tier (n-niveles). Al igual que n-layer (n-capas) la arquitectura fsica por niveles se basa en separar nuestros componentes. Por un lado el servidor conteniendo la base de datos, por otro el servidor de la aplicacin y por ltimo la conexin con los usuarios como se muestra en la figura 3.

Figura 3.- Arquitectura en niveles (N-Tier).

3.2.1 Casos de uso En la figura 3 podemos ver los casos de uso con que un usuario puede encontrarse:

Figura 3.- Caso de uso de un usuario en el sistema.

En la figura 4, podemos ver los casos de uso pertenecientes a un usuario administrador.

Figura 4.- Caso de uso del administrador

3.2.2 Diagrama Entidad-Relacin Este diagrama muestra la forma en que se relacionan los datos que estarn presentes en cada uno de los objetos dentro de nuestro sistema. Este diagrama es creado a partir de la definicin de los requerimientos.

IV.

Resultados y Discusin

V.

Conclusin

VI.

Bibliografa

Rosanigo Z., 2000, Maximizando Rehus de Software para Ingeniera Estructural: Modelos y Patrones, Universidad Nacional de La Plata, Argentina, Pagina 1 Arboleda Jimnez F., 2005, Modelos de ciclo de vida en desarrollo de software, http://www.acis.org.co/index.php?id=551 MacDonald M., 2007, Begining ASP.NET 3.5 in C# 2008 from Novice to Professional, Apress. Pgina 6 Albahari J. y Albahari B., 2010, C# 4.0 In a Nutshell The definitive Reference, OREILLY, Paginas 1-3 De la Torre C., Zorrilla U., Calvarro J. y Ramos M, 2010, Gua de arquitectura n-capas orientada al dominio .NET 4.0, Krasis Consulting.

VII.

Glosario

Titulo: UML for the IT Business Analyst Autor: Howard Podeswa Editorial: Course Technology, Cengage Learning. Titulo: Web Applications Development with Microsoft .NET Framework 4 Autor: Tony Northrup y Mike Snell Editorial: Microsoft Press

Titulo: SQL Server 2008 Relational Database Design and Implementation Autor: Louis Davidson con Kevin Kline, Scott Klein y Kurt Windisch Editorial: Appress Titulo: Beginning Database Design from Novice to Professional Autor: Clare Churcher Editorial: Apress Titulo: Code Reuse Link: http://www.retrospector.com/2006/05/23/what-code-reuse-really-

means/

Autor: The Retrospector

Titulo: Pro ASP.NET 3.5 Server Controls and AJAX Components Autor: Rob Cameron y Dale Michalk Editorial: Apress Titulo: The Web Application Hackers Handbook Discovering and Exploiting Security Flaws Autor: Dafydd Stuttard y Marcus Pinto Editorial: WILEY

Вам также может понравиться