SlideShare una empresa de Scribd logo
1 de 13
INTRODUCCION En este proyecto se tomo como base de trabajo la empresa Compusystem World para la cual se trabajaran sobre los distintos problemas que afectan la parte operativa de esta; tomando conceptos claves que sirven para el desarrollo del software que se requiere implementar para cambiar el proceso en las áreas afectadas de la empresa. En la actualidad el mundo está siendo movido por un fenómeno conocido como la globalización, el cual ha generado espacios más colectivistas y críticos, que han llevado al hombre a repensar acerca de lo quiere y desea.  Ha transformado la forma de hacer negocios, la compra y venta de un producto. Las personas exigen comodidad  e inmediatez en lo que  consumen, son auto instructores de su propia idea de negocio, es decir, deciden qué mostrar al usuario acerca de la empresa.   Este concepto propone una nueva era de la información, un nuevo mundo en el que predomina la tecnología como herramienta principal de consumo. Esta nueva forma de hacer mercadeo, se desarrolla bajo un régimen capitalista y mercantilista, donde lo que produzca es lo que sirve, donde el empresario escoge lo que quiere mostrar y es finalmente el consumidor quien se decide.   OBJETIVOS      OBJETIVO GENERAL       Mejorar el control de las reparaciones y mantenimientos de los computadores que se lleva actualmente en la empresa Compusystem World a través del desarrollo de una aplicación web.        OBJETIVOS ESPECIFICOS Identificar cuales son los elementos primordiales para llevar a cabo la investigación. Identificar el tipo de investigación que se va a aplicar para la realización del proyecto. Identificar los diferentes requerimientos funcionales y no funcionales que se necesitan para el diseño del software.  Realizar un análisis de toda la información recolectada con la finalidad de presentar una solución al problema que se esta presentando.  Utilizar correctamente los programas  y   para poder hacer todas las clases y tablas necesarias y representar la finalidad del programa.        JUSTIFICACION Con la realización del proyecto en mención la empresa Compusystem World llegara a ocupar  una posición prestigiosa en el mercado local y en un futuro  a nivel nacional, cumpliendo con los requisitos de calidad exigidos en el campo técnico y  de servicio. Este proyecto se realiza con el fin de desarrollar nuestra capacidad de investigación, orientándonos en la solución de problemas reales aplicando los diferentes conceptos que adquirimos en el transcurso de nuestra carrera como desarrolladores de software.  El proyecto que desarrollamos es muy importante para nosotros ya que nos servirá como una especie de tesis de grado en la parte tecnológica de nuestra carrera y nos ayudara a adquirir experiencia en cuanto a los problemas que se presentan en muchas empresas y estaremos en la aptitud  de darle una posible solución a dicho problema. Por otra parte, Los beneficios que este proyecto traerá son de carácter formativo y aplicativo ya que con la aplicación de nuestros conocimientos y el método de investigación aplicado podemos darle una solución optima al problema que se presenta en la empresa Compusystem World de tal forma que supla todas las necesidades que requiere la empresa. Este proyecto es viable ya que cumple con todos los estándares de investigación y de diseño de software los cuales son los pilares importantes para que se lleve a cabo un buen producto de software; y es factible porque dará a los usuarios una mejora del servicio que se llevaba anteriormente, haciéndolo más eficaz, y a los desarrolladores dará experiencia la cual es muy importante para la vida laboral.    Con la realización del proyecto, como fue mencionado anteriormente, desarrollamos nuestra capacidad de investigación de tal forma que podemos tratar cualquier tema a fondo, rompiendo paradigmas, y de este modo aplicar todos los conceptos que se han aprendido. Nuestro proyecto se va a realizar bajo la línea modalidad de software empresarial, el proyecto cumple todos los estereotipos estipulados para que se lleve de esta forma ya que trata de registro y manejo de  información de un servicio prestado a una comunidad, este servicio es el de control de las reparaciones y los mantenimientos de computadores de la empresa Compusystem World, esta línea de investigación nos llevara a desarrollar un software que permita llevar un control del servicio ya dicho y pueda ser funcional y cumpla con todas las expectativas que tiene tanto los usuarios como los creadores. MARCO TEORICO  Estado del arte MARCO TEORICO En esta parte del marco teórico se estarán efectuando los diferentes conceptos básicos vistos durante en el periodo académico; lo cual es de vital importancia en el desarrollo del proyecto de aula; con el propósito de aplicar y afianzar todos  los conocimientos y conceptos observados en las diferentes materias relacionadas al proyecto. Compusystem World es una empresa que ofrece diferentes servicios, referente Al mantenimiento y reparación de computadores,  esta actividad es llevada a cabo a través de órdenes de servicio –formatos manuales- que dificultan la búsqueda de información;  como grupo  de investigación en el siguiente proyecto  se darán las pautas metodológicas para mejorar este servicio plasmándolo en un producto software  que facilite y ahorre tiempo para  prestar un servicio eficaz.  Principalmente para hacer este proceso debemos tener claros el tipo de investigación  a utilizar para hacer la documentación del proyecto, nos referimos a la investigación aplicada la cual es una actividad que tiene por finalidad la búsqueda y consolidación del saber, y la aplicación de los conocimientos para el enriquecimiento cultural y científico, con esa definición tenemos claro que nuestro proyecto va encaminado al desarrollo de la ciencia y la cultura, de  tal forma que aplicamos los conceptos que vamos adquiriendo durante nuestro proceso de formación como desarrolladores de software, solucionando problemas reales y aplicándolos en un entorno global. Seguidamente debemos saber las herramientas que debemos utilizar para el desarrollo del diseño de nuestro producto de software, uno de ellos es el netbeans el cual nos dice que es una herramienta que sirve para modelar sistemas orientados a objetos, este nos va ayudar a diseñar el producto de software que nosotros presentamos de tal forma que podamos tener claro todos aquellos entes que interactúan en el programa y también para saber los diferente usuarios que tienen un rol en el programa. El producto de software propuesto  atiende al control de los mantenimientos y reparaciones que se hacen en la empresa CompuSystem World, con ayuda de los conceptos base y identificando los problemas que se presentan en la empresa podemos llevar a cabo nuestro producto y hacer los diferentes procesos de diseño y desarrollo correspondientes para que sea efectivo nuestro trabajo. Principalmente debemos tener claro el establecimiento de requerimientos, donde el análisis del informe de necesidades, el estudio de viabilidad, y el proceso de recolección de información se establecen los requerimientos del sistema. Estos pueden ser: Funcionales: mantenimiento de datos, funciones del negocio, valor agregado. No funcionales: personal, procesos claros, hardware, comunicaciones, y software. Esta teoría nos apoya en la parte del análisis de viabilidad del proyecto a realizar puesto que este debe siempre buscar un beneficio para la empresa necesitada, es decir que la organización del proyecto no afecte o perjudique la economía, administrativamente u operacionalmente los procesos de la organización sino que solucione aquellas falencias que presenta con miras a su servicio o producto sea mas eficiente y eficaz. Otro de los conceptos clave que requiere el desarrollo del software, es la ingeniería de software, este es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad. Esta ingeniería trata con áreas muy diversas de la informática y de las Ciencias de la Computación, tales como construcción de compiladores, Sistemas Operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de Sistema de Información y aplicables a infinidad de áreas (negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.). La ingeniería de software se puede considerar como la ingeniería aplicada al software, esto es en base a herramientas preestablecidas, la aplicación de las mismas de la forma más eficiente y óptima; objetivos que siempre busca la ingeniería. No es sólo de la resolución de problemas, sino más bien teniendo en cuenta las diferentes soluciones, elegir la más apropiada. La ingeniería de software requiere llevar a cabo numerosas tareas, dentro de etapas como las siguientes: Análisis de requisitos Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMM-I. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software. La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Casos de uso. Caso de uso es definido como una secuencia de acciones, incluyendo variaciones (excepciones), que el sistema puede ejecutar y que produce un resultado observable de valor para un actor que interactúa con el sistema. Las experiencias en desarrollo de software señalan las dificultades que entraña la obtención y la especificación de casos de uso verdaderamente útiles, y la falta de consenso sobre como organizarlos y manejarlos.   Actores. Actores  Se le llama Actor a toda entidad externa al sistema que guarda una relación con este y que le demanda una funcionalidad. Esto incluye a los operadores humanos pero también incluye a todos los sistemas externos así como a entidades abstractas como el tiempo (Enlace externo). En el caso de los seres humanos se pueden ver a los actores como definiciones de rol, por lo que un mismo individuo puede corresponder a uno o más Actores. RJSM---- Suele suceder sin embargo, que es el sistema quien va a tener interés en el tiempo. Es frecuente encontrar que nuestros sistemas deben efectuar operaciones automáticas en determinados momentos; y siendo esto un requisito funcional obvio, resulta de interés desarrollar alguna forma de capturar dicho requisito en el modelo de casos de uso. Especificación Es la tarea de describir detalladamente el software a ser escrito, en una forma matemáticamente rigurosa. En la realidad, la mayoría de las buenas especificaciones han sido escritas para entender y afinar aplicaciones que ya estaban desarrolladas. Las especificaciones son más importantes para las interfaces externas, que deben permanecer estables. Diseño y arquitectura Se refiere a determinar cómo funcionará de forma general sin entrar en detalles. Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos. Programación Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado. Prueba Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un área de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un área de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qué condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría. Documentación Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc.; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema. Mantenimiento Mantener, y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento. Por ultimo la fase de mantenimiento incluye mejora de las capacidades, adaptación a nuevos ambientes de procesamiento y corrección de fallas del sistema. El propósito de estos modelos de fases para el desarrollo de productos de programación esta en la eliminación de errores de requisitos y diseños antes de que se empiece la fase de instrumentación, ya que en esta fase y el de prueba es muy complicado eliminar los errores del análisis y el diseño del código fuente. Un software cuenta con cuatro fases de mantenimiento el cual consiste en el cambio que va asociado a la corrección de errores, a las adaptaciones requeridas a medida que evoluciona el entorno del software, y a cambios debido a las mejoras producidas por los requisitos cambiantes del cliente, estas fases son: Corrección: En esta fase es muy probable que el  cliente descubra defectos en el software. El mantenimiento correctivo modifica el software para corregir los defectos. Adaptación: con el paso del tiempo, es probable que cambia el entorno original, por ejemplo: CPU, sistema operativo, reglas de empresa, las características externas del producto. El mantenimiento adaptativo produce modificación el software para acomodarlo a los cambios de su entorno externo. Mejora: conforme se utiliza el software, el cliente puede descubrir funciones adicionales que van a producir beneficios. El mantenimiento perfectivo lleva al software más allá de sus requisitos funcionales originales. Prevención: El software de computadora se deteriora debido al cambio, y por esto el mantenimiento preventivo, se debe concluir para permitir que el software sirva para las necesidades de los usuarios finales. En esencia este mantenimiento hace cambios en programas de computadora a fin de que se puedan corregir, adaptar y mejorar más fácilmente. Al igual que los modelos y diagramas, existen unos patrones de diseño en los que se basa este software. Éstos permiten la búsqueda de soluciones a problemas comunes en el desarrollo de la aplicación y otros ámbitos referentes al diseño de interacción o interfaces.  Los patrones permiten soluciones más rápidas, ya que están predeterminados; sólo basta con implementar sus características y sus normas en el diseño. El patrón de diseño que se utiliza en este programa es el llamado MVC (Modelo – Vista -  Controlador) que se encarga de distribuir el trabajo en estos tres conceptos  para hacer mas fácil el desarrollo de estos productos. El modelo MVC divide el trabajo al proyecto de soporte lógico de la siguiente manera: El modelo (se refiere a la lógica del negocio); Las vistas (son las interfaces gráficas de usuario); y  Los controladores o drivers, que son los que permiten efectuar conexiones con bases de datos.  Base de datos Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos  Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo. Gestión de Proyectos.   El software comercial (y mucho no comercial) requiere gestión de proyectos. Hay presupuestos y establecimiento de tiempos. Gente para liderar. Recursos (espacio de oficina, computadoras) por adquirir. Todo esto encaja apropiadamente con la visión de la Gestión de Proyectos.  Arte.   Los programas contienen muchos elementos artísticos. Las interfaces de usuario, la codificación, etc. Incluso la decisión para un nombre de una variable o una clase. Donald Knuth es famoso porque ha argumentado que la programación es un arte. Ingeniería de requisitos Ingeniería de requisitos o los requisitos en sí, constituyen el enlace entre las necesidades reales de los clientes, usuarios y otros participantes vinculados al sistema. La ingeniería de requisitos consiste en un conjunto de actividades y transformaciones que pretenden comprender las necesidades de un sistema software y convertir la declaración de estas necesidades en una descripción completa, precisa y documentada de los requerimientos del sistema siguiendo un determinado estándar. BIBLIOGRAFIA http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado http://es.wikipedia.org/wiki/Java_Server_Pages
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6
1 Avance Del Proyecto 6

Más contenido relacionado

La actualidad más candente

presentacion corporativa 2015 ver 1.3
presentacion corporativa 2015 ver 1.3presentacion corporativa 2015 ver 1.3
presentacion corporativa 2015 ver 1.3
Victor Garcia
 
Proyecto parcial
Proyecto parcialProyecto parcial
Proyecto parcial
danielpac
 
Informe: Mejora de Procesos de Software
Informe: Mejora de Procesos de SoftwareInforme: Mejora de Procesos de Software
Informe: Mejora de Procesos de Software
Saul Scanziani
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
UVM
 
Ensayo ing. de software
Ensayo ing. de softwareEnsayo ing. de software
Ensayo ing. de software
574224
 
Desarrollo del software
Desarrollo del softwareDesarrollo del software
Desarrollo del software
jotak1604
 

La actualidad más candente (20)

presentacion corporativa 2015 ver 1.3
presentacion corporativa 2015 ver 1.3presentacion corporativa 2015 ver 1.3
presentacion corporativa 2015 ver 1.3
 
DBAccess - presentacion corporativa
DBAccess -  presentacion corporativaDBAccess -  presentacion corporativa
DBAccess - presentacion corporativa
 
Mitos del software
Mitos del softwareMitos del software
Mitos del software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Relación Entre SPL Y MDSE
Relación Entre SPL Y MDSERelación Entre SPL Y MDSE
Relación Entre SPL Y MDSE
 
Bpm night tecnologias BPM industria4
Bpm night tecnologias BPM industria4Bpm night tecnologias BPM industria4
Bpm night tecnologias BPM industria4
 
Proyecto parcial
Proyecto parcialProyecto parcial
Proyecto parcial
 
Informe: Mejora de Procesos de Software
Informe: Mejora de Procesos de SoftwareInforme: Mejora de Procesos de Software
Informe: Mejora de Procesos de Software
 
mobile
mobilemobile
mobile
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Ensayo fsi --
Ensayo fsi --Ensayo fsi --
Ensayo fsi --
 
WorkshopCamp México - BDD
WorkshopCamp México - BDDWorkshopCamp México - BDD
WorkshopCamp México - BDD
 
Actividadades
ActividadadesActividadades
Actividadades
 
Ensayo ing. de software
Ensayo ing. de softwareEnsayo ing. de software
Ensayo ing. de software
 
Frank estaba ensayo
Frank estaba ensayoFrank estaba ensayo
Frank estaba ensayo
 
Portafolio ingeniería de software II
Portafolio ingeniería de software IIPortafolio ingeniería de software II
Portafolio ingeniería de software II
 
Desarrollo del software
Desarrollo del softwareDesarrollo del software
Desarrollo del software
 
Investigación de ingeniería de software
Investigación de ingeniería de software Investigación de ingeniería de software
Investigación de ingeniería de software
 
Trabajo gestor de proyectos
Trabajo gestor de proyectosTrabajo gestor de proyectos
Trabajo gestor de proyectos
 
Ingeniería y gestión de requerimientos
Ingeniería y gestión de requerimientosIngeniería y gestión de requerimientos
Ingeniería y gestión de requerimientos
 

Similar a 1 Avance Del Proyecto 6

Proceso de desarrollo de si
Proceso de desarrollo de siProceso de desarrollo de si
Proceso de desarrollo de si
Didier Alexander
 
Ingeniería de Requerimientos
Ingeniería de RequerimientosIngeniería de Requerimientos
Ingeniería de Requerimientos
Naylu Rincón
 

Similar a 1 Avance Del Proyecto 6 (20)

Enrique Cabello
Enrique CabelloEnrique Cabello
Enrique Cabello
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un Ensayo
 
Yamilet..
Yamilet..Yamilet..
Yamilet..
 
Articulo final ads
Articulo final adsArticulo final ads
Articulo final ads
 
Metodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de informaciónMetodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de información
 
El proceso de software
El proceso  de softwareEl proceso  de software
El proceso de software
 
2022-10-15 Presentación Guia 1.pptx
2022-10-15 Presentación Guia 1.pptx2022-10-15 Presentación Guia 1.pptx
2022-10-15 Presentación Guia 1.pptx
 
Mahikel peñuela ensayo
Mahikel peñuela ensayoMahikel peñuela ensayo
Mahikel peñuela ensayo
 
Mahikel peñuela ensayo
Mahikel peñuela ensayoMahikel peñuela ensayo
Mahikel peñuela ensayo
 
Mahikel peñuela ensayo
Mahikel peñuela ensayoMahikel peñuela ensayo
Mahikel peñuela ensayo
 
Proceso de desarrollo de si
Proceso de desarrollo de siProceso de desarrollo de si
Proceso de desarrollo de si
 
Ensayo sistemas y sofware
Ensayo sistemas y sofwareEnsayo sistemas y sofware
Ensayo sistemas y sofware
 
Presentación metodología
Presentación metodologíaPresentación metodología
Presentación metodología
 
Sistemas de información
Sistemas de informaciónSistemas de información
Sistemas de información
 
Ciclo de vida del Software.pdf
Ciclo de vida del Software.pdfCiclo de vida del Software.pdf
Ciclo de vida del Software.pdf
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Ingeniería de Requerimientos
Ingeniería de RequerimientosIngeniería de Requerimientos
Ingeniería de Requerimientos
 
Ingeniería de Requerimientos
Ingeniería de RequerimientosIngeniería de Requerimientos
Ingeniería de Requerimientos
 
Sistemas de Información
Sistemas de InformaciónSistemas de Información
Sistemas de Información
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 

1 Avance Del Proyecto 6

  • 1. INTRODUCCION En este proyecto se tomo como base de trabajo la empresa Compusystem World para la cual se trabajaran sobre los distintos problemas que afectan la parte operativa de esta; tomando conceptos claves que sirven para el desarrollo del software que se requiere implementar para cambiar el proceso en las áreas afectadas de la empresa. En la actualidad el mundo está siendo movido por un fenómeno conocido como la globalización, el cual ha generado espacios más colectivistas y críticos, que han llevado al hombre a repensar acerca de lo quiere y desea. Ha transformado la forma de hacer negocios, la compra y venta de un producto. Las personas exigen comodidad e inmediatez en lo que consumen, son auto instructores de su propia idea de negocio, es decir, deciden qué mostrar al usuario acerca de la empresa. Este concepto propone una nueva era de la información, un nuevo mundo en el que predomina la tecnología como herramienta principal de consumo. Esta nueva forma de hacer mercadeo, se desarrolla bajo un régimen capitalista y mercantilista, donde lo que produzca es lo que sirve, donde el empresario escoge lo que quiere mostrar y es finalmente el consumidor quien se decide. OBJETIVOS OBJETIVO GENERAL Mejorar el control de las reparaciones y mantenimientos de los computadores que se lleva actualmente en la empresa Compusystem World a través del desarrollo de una aplicación web. OBJETIVOS ESPECIFICOS Identificar cuales son los elementos primordiales para llevar a cabo la investigación. Identificar el tipo de investigación que se va a aplicar para la realización del proyecto. Identificar los diferentes requerimientos funcionales y no funcionales que se necesitan para el diseño del software. Realizar un análisis de toda la información recolectada con la finalidad de presentar una solución al problema que se esta presentando. Utilizar correctamente los programas y para poder hacer todas las clases y tablas necesarias y representar la finalidad del programa. JUSTIFICACION Con la realización del proyecto en mención la empresa Compusystem World llegara a ocupar una posición prestigiosa en el mercado local y en un futuro a nivel nacional, cumpliendo con los requisitos de calidad exigidos en el campo técnico y de servicio. Este proyecto se realiza con el fin de desarrollar nuestra capacidad de investigación, orientándonos en la solución de problemas reales aplicando los diferentes conceptos que adquirimos en el transcurso de nuestra carrera como desarrolladores de software. El proyecto que desarrollamos es muy importante para nosotros ya que nos servirá como una especie de tesis de grado en la parte tecnológica de nuestra carrera y nos ayudara a adquirir experiencia en cuanto a los problemas que se presentan en muchas empresas y estaremos en la aptitud de darle una posible solución a dicho problema. Por otra parte, Los beneficios que este proyecto traerá son de carácter formativo y aplicativo ya que con la aplicación de nuestros conocimientos y el método de investigación aplicado podemos darle una solución optima al problema que se presenta en la empresa Compusystem World de tal forma que supla todas las necesidades que requiere la empresa. Este proyecto es viable ya que cumple con todos los estándares de investigación y de diseño de software los cuales son los pilares importantes para que se lleve a cabo un buen producto de software; y es factible porque dará a los usuarios una mejora del servicio que se llevaba anteriormente, haciéndolo más eficaz, y a los desarrolladores dará experiencia la cual es muy importante para la vida laboral. Con la realización del proyecto, como fue mencionado anteriormente, desarrollamos nuestra capacidad de investigación de tal forma que podemos tratar cualquier tema a fondo, rompiendo paradigmas, y de este modo aplicar todos los conceptos que se han aprendido. Nuestro proyecto se va a realizar bajo la línea modalidad de software empresarial, el proyecto cumple todos los estereotipos estipulados para que se lleve de esta forma ya que trata de registro y manejo de información de un servicio prestado a una comunidad, este servicio es el de control de las reparaciones y los mantenimientos de computadores de la empresa Compusystem World, esta línea de investigación nos llevara a desarrollar un software que permita llevar un control del servicio ya dicho y pueda ser funcional y cumpla con todas las expectativas que tiene tanto los usuarios como los creadores. MARCO TEORICO Estado del arte MARCO TEORICO En esta parte del marco teórico se estarán efectuando los diferentes conceptos básicos vistos durante en el periodo académico; lo cual es de vital importancia en el desarrollo del proyecto de aula; con el propósito de aplicar y afianzar todos los conocimientos y conceptos observados en las diferentes materias relacionadas al proyecto. Compusystem World es una empresa que ofrece diferentes servicios, referente Al mantenimiento y reparación de computadores, esta actividad es llevada a cabo a través de órdenes de servicio –formatos manuales- que dificultan la búsqueda de información; como grupo de investigación en el siguiente proyecto se darán las pautas metodológicas para mejorar este servicio plasmándolo en un producto software que facilite y ahorre tiempo para prestar un servicio eficaz. Principalmente para hacer este proceso debemos tener claros el tipo de investigación a utilizar para hacer la documentación del proyecto, nos referimos a la investigación aplicada la cual es una actividad que tiene por finalidad la búsqueda y consolidación del saber, y la aplicación de los conocimientos para el enriquecimiento cultural y científico, con esa definición tenemos claro que nuestro proyecto va encaminado al desarrollo de la ciencia y la cultura, de tal forma que aplicamos los conceptos que vamos adquiriendo durante nuestro proceso de formación como desarrolladores de software, solucionando problemas reales y aplicándolos en un entorno global. Seguidamente debemos saber las herramientas que debemos utilizar para el desarrollo del diseño de nuestro producto de software, uno de ellos es el netbeans el cual nos dice que es una herramienta que sirve para modelar sistemas orientados a objetos, este nos va ayudar a diseñar el producto de software que nosotros presentamos de tal forma que podamos tener claro todos aquellos entes que interactúan en el programa y también para saber los diferente usuarios que tienen un rol en el programa. El producto de software propuesto atiende al control de los mantenimientos y reparaciones que se hacen en la empresa CompuSystem World, con ayuda de los conceptos base y identificando los problemas que se presentan en la empresa podemos llevar a cabo nuestro producto y hacer los diferentes procesos de diseño y desarrollo correspondientes para que sea efectivo nuestro trabajo. Principalmente debemos tener claro el establecimiento de requerimientos, donde el análisis del informe de necesidades, el estudio de viabilidad, y el proceso de recolección de información se establecen los requerimientos del sistema. Estos pueden ser: Funcionales: mantenimiento de datos, funciones del negocio, valor agregado. No funcionales: personal, procesos claros, hardware, comunicaciones, y software. Esta teoría nos apoya en la parte del análisis de viabilidad del proyecto a realizar puesto que este debe siempre buscar un beneficio para la empresa necesitada, es decir que la organización del proyecto no afecte o perjudique la economía, administrativamente u operacionalmente los procesos de la organización sino que solucione aquellas falencias que presenta con miras a su servicio o producto sea mas eficiente y eficaz. Otro de los conceptos clave que requiere el desarrollo del software, es la ingeniería de software, este es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad. Esta ingeniería trata con áreas muy diversas de la informática y de las Ciencias de la Computación, tales como construcción de compiladores, Sistemas Operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de Sistema de Información y aplicables a infinidad de áreas (negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.). La ingeniería de software se puede considerar como la ingeniería aplicada al software, esto es en base a herramientas preestablecidas, la aplicación de las mismas de la forma más eficiente y óptima; objetivos que siempre busca la ingeniería. No es sólo de la resolución de problemas, sino más bien teniendo en cuenta las diferentes soluciones, elegir la más apropiada. La ingeniería de software requiere llevar a cabo numerosas tareas, dentro de etapas como las siguientes: Análisis de requisitos Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMM-I. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software. La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Casos de uso. Caso de uso es definido como una secuencia de acciones, incluyendo variaciones (excepciones), que el sistema puede ejecutar y que produce un resultado observable de valor para un actor que interactúa con el sistema. Las experiencias en desarrollo de software señalan las dificultades que entraña la obtención y la especificación de casos de uso verdaderamente útiles, y la falta de consenso sobre como organizarlos y manejarlos. Actores. Actores Se le llama Actor a toda entidad externa al sistema que guarda una relación con este y que le demanda una funcionalidad. Esto incluye a los operadores humanos pero también incluye a todos los sistemas externos así como a entidades abstractas como el tiempo (Enlace externo). En el caso de los seres humanos se pueden ver a los actores como definiciones de rol, por lo que un mismo individuo puede corresponder a uno o más Actores. RJSM---- Suele suceder sin embargo, que es el sistema quien va a tener interés en el tiempo. Es frecuente encontrar que nuestros sistemas deben efectuar operaciones automáticas en determinados momentos; y siendo esto un requisito funcional obvio, resulta de interés desarrollar alguna forma de capturar dicho requisito en el modelo de casos de uso. Especificación Es la tarea de describir detalladamente el software a ser escrito, en una forma matemáticamente rigurosa. En la realidad, la mayoría de las buenas especificaciones han sido escritas para entender y afinar aplicaciones que ya estaban desarrolladas. Las especificaciones son más importantes para las interfaces externas, que deben permanecer estables. Diseño y arquitectura Se refiere a determinar cómo funcionará de forma general sin entrar en detalles. Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos. Programación Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado. Prueba Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un área de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un área de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qué condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría. Documentación Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc.; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema. Mantenimiento Mantener, y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento. Por ultimo la fase de mantenimiento incluye mejora de las capacidades, adaptación a nuevos ambientes de procesamiento y corrección de fallas del sistema. El propósito de estos modelos de fases para el desarrollo de productos de programación esta en la eliminación de errores de requisitos y diseños antes de que se empiece la fase de instrumentación, ya que en esta fase y el de prueba es muy complicado eliminar los errores del análisis y el diseño del código fuente. Un software cuenta con cuatro fases de mantenimiento el cual consiste en el cambio que va asociado a la corrección de errores, a las adaptaciones requeridas a medida que evoluciona el entorno del software, y a cambios debido a las mejoras producidas por los requisitos cambiantes del cliente, estas fases son: Corrección: En esta fase es muy probable que el cliente descubra defectos en el software. El mantenimiento correctivo modifica el software para corregir los defectos. Adaptación: con el paso del tiempo, es probable que cambia el entorno original, por ejemplo: CPU, sistema operativo, reglas de empresa, las características externas del producto. El mantenimiento adaptativo produce modificación el software para acomodarlo a los cambios de su entorno externo. Mejora: conforme se utiliza el software, el cliente puede descubrir funciones adicionales que van a producir beneficios. El mantenimiento perfectivo lleva al software más allá de sus requisitos funcionales originales. Prevención: El software de computadora se deteriora debido al cambio, y por esto el mantenimiento preventivo, se debe concluir para permitir que el software sirva para las necesidades de los usuarios finales. En esencia este mantenimiento hace cambios en programas de computadora a fin de que se puedan corregir, adaptar y mejorar más fácilmente. Al igual que los modelos y diagramas, existen unos patrones de diseño en los que se basa este software. Éstos permiten la búsqueda de soluciones a problemas comunes en el desarrollo de la aplicación y otros ámbitos referentes al diseño de interacción o interfaces. Los patrones permiten soluciones más rápidas, ya que están predeterminados; sólo basta con implementar sus características y sus normas en el diseño. El patrón de diseño que se utiliza en este programa es el llamado MVC (Modelo – Vista - Controlador) que se encarga de distribuir el trabajo en estos tres conceptos para hacer mas fácil el desarrollo de estos productos. El modelo MVC divide el trabajo al proyecto de soporte lógico de la siguiente manera: El modelo (se refiere a la lógica del negocio); Las vistas (son las interfaces gráficas de usuario); y Los controladores o drivers, que son los que permiten efectuar conexiones con bases de datos. Base de datos Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo. Gestión de Proyectos. El software comercial (y mucho no comercial) requiere gestión de proyectos. Hay presupuestos y establecimiento de tiempos. Gente para liderar. Recursos (espacio de oficina, computadoras) por adquirir. Todo esto encaja apropiadamente con la visión de la Gestión de Proyectos. Arte. Los programas contienen muchos elementos artísticos. Las interfaces de usuario, la codificación, etc. Incluso la decisión para un nombre de una variable o una clase. Donald Knuth es famoso porque ha argumentado que la programación es un arte. Ingeniería de requisitos Ingeniería de requisitos o los requisitos en sí, constituyen el enlace entre las necesidades reales de los clientes, usuarios y otros participantes vinculados al sistema. La ingeniería de requisitos consiste en un conjunto de actividades y transformaciones que pretenden comprender las necesidades de un sistema software y convertir la declaración de estas necesidades en una descripción completa, precisa y documentada de los requerimientos del sistema siguiendo un determinado estándar. BIBLIOGRAFIA http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado http://es.wikipedia.org/wiki/Java_Server_Pages