Está en la página 1de 12

"Año de la lucha contra la corrupción e impunidad"

UNIVERSIDAD NACIONAL DE UCAYALI


FACULTAD DE INGENIERIA DE SISTEMAS
Y DE INGENIERIA CIVIL
ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

Trabajo de diseño

CURSO : Diseño de Sistemas


ASESOR : Ing. Mg. Diana Diaz Estrada
CICLO : VI
INTEGRANTES:
 Manuel Enrique Chirinos Barbaran
 Jamt Américo Mendoza Flores
 Davis Anthony Collazos del Rio
 Jeremías Alexander Flores Muñoz
 Carlos Arón García Chávez

Pucallpa-Perú
2019
1) Plataformas y framework para desarrollar sistemas

PLATAFORMAS:
a) Elipse

Es una plataforma de desarrollo para aplicaciones tanto de escritorio como web, flexible en su
configuración y de fácil adaptación a los requerimientos de desarrollo mediante la
incorporación de plugins adicionales de acuerdo a las diferentes necesidades, además de
consumir pocos recursos, ser multiplataforma y soportar una gran mayoría de lenguajes.

Lenguajes: C, C++, Java, Perl, PHP, Python, Ruby.

Ventajas Desventajas
 Dispone de un editor de texto con  Su principalmente inconveniente, común a
resaltador de sintaxis. otros IDEs en mayor o menor medida, en
 La compilación es en tiempo real el consumo de recursos del sistema.

 Tiene pruebas unitarias con (JUnit).  También que carece de mucho soporte
 Control de versiones con (CVS). para webapps (.war, jsp y servlets) tal y
 Integración con (Ant), como lo hace netbeans. (los plugins por lo
 Asistentes (wizards) para creación de general no son ni tan potentes ni tan
proyectos sencillos como el módulo que en Netbeans
 El entorno de desarrollo integrado (IDE) viene preinstalado).
de Eclipse emplea módulos (en inglés
plug-in) para proporcionar toda su
funcionalidad al frente de la Plataforma
de Cliente rico, a diferencia de otros
entornos monolíticos donde las
funcionalidades están todas incluidas, las
necesite el usuario o no.
 Este mecanismo de módulos es una
plataforma ligera para componentes de
software. 
Características:
 Es una herramienta de uso genérico, utilizada para la creación de diversos proyectos por
su capacidad basada en la integración de plugins, pero que generalmente es utilizada en
ambientes de desarrollo en java.
 Una de las características especiales es el coloreado de código en el editor de texto que
integra eclipse, lo cual permite el reconociendo de palabras reservadas propias del
lenguaje y las variables utilizadas en el cogido.
 En Eclipse se trabaja de manera modular, lo cual facilita el trabajo en el entorno de
desarrollo, ya que se realiza de manera eficiente sin sobrecargas de recursos al proyecto.
 Permite completar la sentencia en la escritura del código fuente, la herramienta se
conoce como “code completion”, esto ayudará a los desarrolladores a obtener más
código de forma ágil.
 Eclipse es uno de los entornos de desarrollo integrado más utilizado por los
desarrolladores de Java en todo el mundo.
b) NetBeans

Es un entorno de desarrollo que funciona en diversas plataformas que permite agilizar el


desarrollo de grandes aplicaciones de diversa índole soportando una gran cantidad de
lenguajes de programación mediante el uso de asistentes, editores visuales y componentes.
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje
de programación Java. Existe además un número importante de módulos para extenderlo.
NetBeans IDE es un producto libre y gratuito sin restricciones de uso.

Lenguaje: C, C++, C++11, Fortan, HTML 5, Java, PHP.

Ventajas Desventajas
 Lenguaje Multi-plataforma: El código  Por su lentitud a la hora de ejecutar las
que es escrito en java es leído por un aplicaciones (aunque ha mejorado con el
interprete, por lo que su programa tiempo)
andará en cualquier plataforma.  Requiere un intérprete.
 Manejo automático de la memoria.  Algunas implementaciones y librerías
(para los que vienen de C/C++). El pueden tener código rebuscado.
manejo de la memoria se hace  Una mala implementación de un
automáticamente y utilizando el programa en java, puede resultar en algo
garbage collector. muy lento.
 ¡Es Gratis!  Algunas herramientas tienen un costo
 Desarrolla aplicaciones web dinámicas. adicional
 Desarrollar aplicaciones de servidor para
foros en línea, almacenes, encuestas,
procesamiento de formularios HTML y
mucho más.

Características:

 La estructura de proyectos en NetBeans proporciona una visión clara de aplicaciones


de gran tamaño, la jerarquía de directorios es mucho más simplificada.
 Integra varios lenguajes para el desarrollo de aplicaciones mediante el diseño de
interfaces gráficas de usuario para HTML5, JavaScript, JEE, PHP, C, C++, Java SE, Java
ME.
 NetBeans cuenta con herramientas que permiten identificar las líneas de código
erróneas y realizar autocompletado de código de manera eficiente.
 Cuenta con herramientas que permiten la depuración del código mediante la
selección de puntos de interrupción que permiten analizar paso a paso el código
fuente
 NetBeans también cuenta con un subsistema que permite el control de versiones
(CVS) que permite tener el control de los avances de los proyectos.

c) Microsoft Visual Studio


Entorno de desarrollo visual flexible y robusto que permite el desarrollo de sistemas y
aplicaciones complejas que incluye herramientas para facilitar la estructura de código y su
diseño mediante el uso de componentes visuales, acceso a bases de datos tanto locales como
remotas y la generación de ejecutables.
Visual Studio incorpora características que hacen que todo el proceso de desarrollo sea más
sencillo, desde el diseño a la implementación.

Lenguajes: SP.NET, DHTML, JavaScript, JScript, Visual Basic, Visual C #, Visual C ++, Visual F #,
XAML.

Ventajas Desventajas
 Lenguaje simple, fácil de aprender  Es de Microsoft
 Se dibujan formularios mediante un  Solo existe un compilador
arrastre de controles  Genera ejecutables solo para windows
 Permite el manejo de mensajes de
Windows
 Bueno para el calculo intensivos de la
cpu
 Genera librerías dinámicas de forma
activa

Características:
 Desde la versión del año 2005 Microsoft brinda gratuitamente las aplicaciones de
Express Editions. Estas son diversas ediciones básicas apartadas por expresiones de
simbolización o plataforma orientadas para principiantes y apasionados.
 Como primicia en 15.3, ejecutamos más de 1,600 soluciones administradas para
optimizar la afinidad entre visual estudio y las técnicas de asistencia que usan muchos
usuarios.
 El novedoso Visual Studio Performance Center logra auxiliarlo a mejorar su período de
inicio de IDE. El Foco de rendimiento refiere todas las ramificaciones y cuadros de
herramientas que logran ralentizar la iniciación del IDE. 

d) Adobe Dreamweaver
Es una aplicación en forma de suite que está destinada al diseño, desarrollo y edición de sitios
y aplicaciones Web basados en estándares.
Es uno de los entornos más utilizado en el sector del diseño y la programación web, por sus
funcionalidades, su integración con otras herramientas como Adobe Flash y, recientemente,
por su soporte de los estándares del World Wide Web Consortium.

Lenguajes: HTML, PHP, XHTML, CSS, JavaScript, ColdFusion Markup Language (CFML).

Ventajas Desventajas
-Es muy bueno para trabajos profesionales. -Terminada la web ahi se tiene que publicar
-Destaca su soporte de los estándares del y para eso hay que pagar hosting y nombre
World Wide Web Consortium de dominio.
-utiliza la tecnología web como CSS y Java -El precio es muy elevado si se quiere
Script. comprar dentro de lo legal y no se puede
-Se puede diseñar y crear páginas web sin comprar por separado se tiene que comprar
conocimiento de código HTML. la suite completa.
-Permite pre visualizar las páginas web en -Al ser un programa tan avanzado su manejo
casi todos los navegadores web. puede resultar complicado para usuarios no
-Permite el uso de extinciones como HTML y experimentados.
Java Script.
-Lo puede utilizar cualquier usuario para
crear webs sin ser profesional.
– Permite el uso de extensiones, que son
pequeños programas que cualquier usuario
puede escribir, descargar e instalar,
ofreciendo funcionalidades añadidas a la
aplicación.
-Los archivos del programa son rutinas de
Javascript y hace que sea un programa
fluido.
-Está disponible para MAC, Windows y
también se puede ejecutar en otras
plataformas.
-Nos permite ver los cambios que
efectuamos a la vez que los realizamos.

Características:

 Adobe Dreamweaver funciona fácilmente con un sistema de administración de


contenido complejo como WordPress y Drupal
 Una de las excelentes características de Dreamweaver es su soporte de CMS
integrado. Dreamweaver le aprueba crear y probar todos los sistemas de
administración de contenido populares, contenidos Drupal, WordPress y Joomla.
 Dreamweaver le facilita la escritura de código limpio. Si no está acostumbrado con la
codificación a mano, consigue aprovechar las sugerencias de código de
JavaScript, HTML y Ajax que suministra Dreamweaver.

Lenguajes de programación:

a) Python
Es un lenguaje de scripting independiente de plataforma y orientado a objetos,
preparado para realizar cualquier tipo de programa, desde aplicaciones Windows a
servidores de red o incluso, páginas web. Es un lenguaje interpretado, lo que significa
que no se necesita compilar el código fuente para poder ejecutarlo, lo que ofrece
ventajas como la rapidez de desarrollo e inconvenientes como una menor velocidad.

Ventajas Desventajas
 Open source  Es un lenguaje interpretado lo que lo
 Es de proposito general vuelve más lento
 Soporta varias bases de datos.  La programación web en python es
 Es un lenguaje muy poderosobh. compleja.
 Es un lenguaje multiplataforma.  La mayoría de los servidores no tienen
 Posee un núcleo de lenguaje relativamente soporte a Python.
pequeño.
 Consta con el apoyo de muy buenas
librerías.
 Fácil gestión de errores mediante las
excepciones.

Frameworks p Python:

 Django
framework web basado en Python. Se apoya en una comunidad grande y activa.
Cuenta con una potente interfaz de administración, así como otras muchas
características que deberás ir descubriendo tú mismo. Ademas utiliza la
arquitectura MVC apoyando a la conexion complejos a la base de datos.

 Pyramid
Es un marco de desarrollo web de código abierto que utiliza el patrón de
arquitectura Modelo-Vista-Controlador (MVC) y se basa en la Interfaz de puerta de
enlace del servidor web (WSGI). El marco Pyramid tiene muchos paquetes
complementarios útiles que hacen que el desarrollo web sea mucho más
conveniente. La documentación es excelente y permite a los desarrolladores
avanzar sin tener que contar con el apoyo de la comunidad. Pyramid se esfuerza
por ser minimalista, rápido y fiable. Fue uno de los primeros frameworks web que
fue compatible con Python 3. Se considera la mejor opción si deseas un inicio
rápido, si trabajas en proyectos con la API, para prototipo un concepto o para el
desarrollo de aplicaciones web grandes, como un CMS o un KMS.

 Web2py
es un framework de desarrollo web que es software libre y de código abierto. Su
objetivo principal es dar soporte al desarrollo ágil de software de aplicaciones web
escalables, seguras y portables enfocadas en bases de datos, y su sintaxis tiende a
ser más limpia que la de los frameworks basados en PHP. Esto hace que las
aplicaciones sean más simples de desarrollar, leer y mantener.

b) C#

Es un lenguaje de programación diseñado por la conocida compañía Microsoft. Su


sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET,
similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.

Ventajas Desventajas
 Mejor rendimiento que java  Es costoso
 Desarrollo de aplicaciones en menor  Utiliza muchos recursos
tiempo.  La curva de aprendizaje es un poco lenta a
 Aplicaciones robustas con calidad y comparación de Python
estabilidad  Estas obligadas a usar un framework como
 Aplicaciones web con un alto nivel mínimo
índice de seguridad  El desarrollo de una aplicación de
 Aplicaciones para móviles escritorio es solo para el sistema operativo
rápidamente Windows.
 Los tipos de datos tienen un rango  No permite el acceso directo al hardware
más amplio y definido a comparación de la computadora.
de c++ y java
 Permite la creación de aplicaciones
de escritorio y web.
 -Es flexible a la hora de programar
 La gran y amplias librerías que posee
frente a los otros.
 Cuenta con el respaldo de Microsoft

Frameworks para c#:


 WinForms
Es una biblioteca de clase gráfica (GUI) incluida como parte de Microsoft .NET
Framework, que proporciona una plataforma para escribir aplicaciones cliente
enriquecidas para PC de escritorio, portátiles y tabletas. Si bien se considera un
reemplazo de la Biblioteca de Microsoft Foundation Class más antigua y más
compleja basada en C ++, no ofrece un paradigma comparable y solo actúa como
una plataforma para el nivel de interfaz de usuario en una solución de varios
niveles.

 ASP.NET
Es un entorno para aplicaciones web desarrollado y comercializado por
Microsoft. Es usado por programadores y diseñadores para construir sitios web
dinámicos, aplicaciones web y servicios web XML. Además permite la creación de
controles de usuario y administrar el estado de las aplicaciones ASP.NET.

 ADO.NET
Es un conjunto de componentes del software que pueden ser usados por los
programadores para acceder a datos y a servicios de datos. Es parte de la
biblioteca de clases base que están incluidas en el Microsoft .NET Framework. Es
comúnmente usado por los programadores para acceder y para modificar los
datos almacenados en un Sistema Gestor de Bases de Datos Relacionales, aunque
también puede ser usado para acceder a datos en fuentes no relacionales.
ADO.NET es a veces considerado como una evolución de la tecnología ActiveX
Data Objects (ADO), pero fue cambiado tan extensivamente que puede ser
concebido como un producto enteramente nuevo.

c) Java
Es el nombre de un entorno o plataforma de computación originaria de Sun
Microsystems, capaz de ejecutar aplicaciones desarrolladas usando el lenguaje de
programación Java u otros lenguajes que compilen a bytecode y un conjunto de
herramientas de desarrollo.

Ventajas Desventajas
 Manejo automático de memoria utilizando  No puede ser ejecutado si no se
el recolector de basura(garbage). dispone de la máquina virtual de java.
 Fácil aprendizaje.  Tiene un menor rendimiento a
 -Es gratis (Open Source) comparación de otros lenguajes.
 Se puede desarrollar aplicaciones de  Algunas herramientas requieren un
escritorio y páginas web dinámicas. costo adicional.
 Mejor el funcionamiento del software.  Se necesita maquinas un tanto potente
 Es multiplataforma. dado que es un poco lento en
 Se puede crear aplicaciones distribuidas. ejecución.
 Cuenta con muchas librerías,
documentación y una gran comunidad.

Frameworks para java:

Spring
El framework de mapeo de Java rompe con la impedancia del objeto-relacional y
con los problemas de desajuste sustituyendo accesos a bases de datos de alto
nivel . Hibernate está equipado con grandes características que ayudan a los
desarrolladores back-end a acceder a los datos. Se trata de un framework ORM
avanzado que permite realizar la operación en la base de datos de objetos Java
(entidades). Es un concepto continuado que utiliza caché Hibernate para llevar
los datos del entorno Java a la base de datos.

Hibernate
El framework de mapeo de Java rompe con la impedancia del objeto-relacional y
con los problemas de desajuste sustituyendo accesos a bases de datos de alto
nivel. Hibernate está equipado con grandes características que ayudan a los
desarrolladores back-end a acceder a los datos. Permite con cualquier base de
datos utilizando con las mínimas alteraciones del código reduciendo la brecha
entre los objetos y las palabras relacionales. No esta recomendado para
proyectos pequeños.

Vaadin
Utilizando un enfoque basado en componentes conocidos, quita peso a los
desarrolladores a la hora de comunicar los cambios realizados al navegador. Un
amplio conjunto de componentes de interfaz de usuario, junto con diversos
widgets y controles, permite a los programadores crear aplicaciones más que
interesantes en muy poco tiempo. Utiliza para enlazar los datos MVC O MVP.
d) PHP

Es un lenguaje de código abierto muy popular especialmente adecuado para el


desarrollo web y que puede ser incrustado en HTML aunque también se utiliza para y
lo emplean facebook, grupal y wordpress.

Ventajas Desventajas
 Es un lenguaje multiplataforma.  Como es un lenguaje que se interpreta
 Completamente orientado al desarrollo de en ejecución para ciertos usos puede
aplicaciones web dinámicas con acceso a resultar un inconveniente que el código
información almacenada en una Base de fuente no pueda ser ocultado. La
Datos. ofuscación es una técnica que puede
 El código fuente escrito en PHP es invisible dificultar la lectura del código, pero no
al navegador y al cliente ya que es el la impide y, en ciertos casos,
servidor el que se encarga de ejecutar el representa un costo en tiempos de
código y enviar su resultado HTML al ejecución
navegador. Esto hace que la programación  El lugar más seguro para ejecutar una
en PHP sea segura y confiable. aplicacion es en un servidor propio, por
 Capacidad de conexión con la mayoría de lo cual si un cliente o usuario requiere
los motores de base de datos que se su codigo en su pc, tendriamos que
utilizan en la actualidad, destaca su dejar su codigo, sin manera de
conectividad con MySQL y PostgreSQL. ocultarlo, aunque hay muchas
 Capacidad de expandir su potencial aplicaciones que nos ayuda a encriptar
utilizando la enorme cantidad de módulos. el codigo fuente.
 Debes saber cuándo menos HTML para
poder hacer un trabajo medianamente
funcional
 Si no lo configuras correctamente dejas
abiertas muchas brechas de seguridad
 Se necesita instalar un servidor web.

Frameworks para php:

 Laravel
Es un framework de código abierto para desarrollar aplicaciones y servicios web
con PHP 5 y PHP 7. Su filosofía es desarrollar código PHP de forma elegante y
simple, evitando el "código espagueti"

 CodeIgniter
Es un framework para el desarrollo de aplicaciones en php que utiliza el MVC.
Permite a los programadores Web mejorar la forma de trabajar y hacerlo a mayor
velocidad. Al igual que cualquier framework está pensado para gente que tiene
un dominio, al menos medio, del lenguaje de programación PHP.
 YII
Es un framework de desarrollo de aplicaciones libres para la web, de código
abierto, que promueve el diseño limpio y motiva el desarrollo rápido. Ayuda a
garantizar un producto final eficiente, extensible y mantenible, cuenta con
características como el desarrollo rápido, el almacenamiento en caché,
autenticación y control de acceso basado en roles, andamios, pruebas, etc.

 CakePhp
ES un framework muy popular entre los desarrolladores de PHP por su peso
ligero, simplicidad, rapidez y requiere menos código, por lo que es muy fácil de
aprender. La característica CRUD integrado es muy útil para la interacción de base
de datos, también tiene varias funciones integradas para la seguridad, el correo
electrónico, la sesión, la galleta y la administración de solicitudes.

2) Determinar cuál se adapta a nuestro proyecto

Habiendo analizado los distintos tipos de plataformas y lenguajes para el desarrollo de software
podemos decir que los que más se adaptan a nuestro proyecto del cual es un sistema de escritorio
de compra y venta para la Empresas Licorería & Regalos bajo, podemos decir que par usaremos la
plataforma de NetBeans en especial su versión 8.2, la cual me brinda un entorno muy completo
para todo tipo de desarrollo de software, en la cual puedo desarrollar todo tipo de aplicación sea

web o escritorio (que en nuestro caso sería para escritorio), además de que en cuanto a la
accesibilidad que tenemos este programa es totalmente gratis, un punto que tomamos en
cuenta. una de las características favorable que posee NetBeans es que cuenta con una
herramienta la cual me permite identificar códigos erróneos y el auto completado de código, esto
me permite hacer más fácil la programación con un tiempo menor, también se me permite la
depuración de código, esto me permite la realización de un testero de forma individual, el cual me
permite conocer si el código que implemento puede hacer lo que dedeo que haga, NetBeans
también trabaja con distintos tipos de lenguajes de programación, pero en este caso decidimos
que para el proyecto usaríamos el Lenguaje de programación Java, un lenguaje muy conocido en
el mundo de la informática, la elegimos por ser un lenguaje de programación simple por tanto es
fácil de aprender,
java es un lenguaje multiplataforma es decir que cualquier programa que realice puede ser
ejecutado en distintos sistemas operativos, otro punto fuerte de Java es que es un lenguaje
orientado a objetos esto facilita la programación permitiéndome crear aplicaciones modulares y
permitiéndome la reutilización de código haciendo a mi proyecto más eficientes, la funcionalidad
de Java es uno de sus atractivos, al contar con una amplia gama de bibliotecas los cuales me
permitirán hacer más fáciles la programación, además de ser accesibles y fáciles de hallar en
internet, entre estés puntos pudimos tener en cuenta para poder elegir el entorno en el que
desarrollaremos el proyecto, entre otro cosa podemos agregar que los miembros de grupo poseen
experiencia en el uso de en el uso de la plataforma y el lenguaje Java, para la creación de
aplicaciones.

3) Determinar la arquitectura del proyecto


Habiendo analizado los distintos tipos de arquitectura para el desarrollo de software sean la
arquitectura de cliente servidor, la arquitectura de tres capas, la arquitectura de modelo vista
controlador (MVC), la arquitectura orientada a servicios, podemos determinar que la arquitectura
que más se adecua al proyecto que vamos a desarrollas, el cual es un sistema de escritorio de
compra y venta para la empresa Licorería & Regalos Bajo cero seria la del modelo vista
controlador, elegimos la arquitectura MVC por nos permite programar de una forma más formal y
ordenada, al ser un patrón de desarrollo que separa los componentes en tres: Modelos (El cual
está encargada de consultas a la base de datos), el controlador ( como su nombre lo indica se
encarga de controlar los distintos eventos a la hora de ejecutar el programa), y las vitas (la cual
vendría a ser la parte grafica presentada al usuario en el cual se ingresan los datos), esta manera
ordenada de construir el programa permitirá hacer nuestro programa mucho más eficiente y
robusto, al usar la arquitectura MVC me permitirá el desarrollo de nuestro proyecto mucho más
rápido, ya que me permite desarrollar el programa de forma paralela, al designar el desarrollo de
las vistas y los controladores, una de las ventajas que pudimos notar es que debido a su forma de
separar la funciones, permite que al hacer algún tipo de actualizaciones al programa, este no
afecte a la totalidad de sistema, esta ventaja permite que nuestro proyecto puede ser escalable al
añadir nuevas funcionalidad o al añadir mejoras, la separación de funciones me permite la
designación de responsabilidades en el desarrollo de programa lo cual me permite que sea mucho
más ligera, esta designación permitirá que nuestro programa sea mantenible.

4) Rendimiento, seguridad, Mantenibilidad, disponibilidad, escalabilidad

Rendimiento El rendimiento es muy bueno ya que es fácil de organizar el


código en tres componentes diferentes, es adaptable a los
Framework de hoy en día y reduce los posibles bugs, ya que un
bug suceda en uno de los componentes y no afectan al resto, y
es fácil de trabajar en equipo.
Seguridad
Mantenibilidad Es sencilla hacer una mantenibilidad porque tienes los códigos
más ordenados, y eso permite el mantenimiento sea rápido y
sencillo.

Disponibilidad
Escalabilidad

También podría gustarte