2009/03/14
2008/10/04
2008/09/20
EXPOSICION INGENIERIA DE SOFTWARE III
2008/04/05
1. Enumere los objetivos principales del diseño de la salida que debe tener en cuentaun Ingeniero de Software.
- · Diseñar la salida con un propósito específico
- · Hacer interesante la salida para el usuario
- · Suministrar la cantidad adecuada de salida
- · Entregar la salida oportunamente
- · Escoger el método de salida más efectivo
2. Como Ud. clasifica las salidas de Información. Explíquelas.
Salida Externa: La que sale del negocio, tal como la información que aparece en la WEB·
Salida Interna: La que permanece dentro del negocio, tal como el material disponible en una Intranet.3. Cite 5 factores a considerar cuando se selecciona las tecnologías de salida, haga un cuadro comparativo con los métodos de salida indicando ventajas y desventajas.
METODO DE SALIDA : Impresoras
VENTAJAS
Económica como inversión a la empresa.
Flexibilidad en los tipos de salida.
Maneja grandes volúmenes de salida
Puede llegar a muchos usuarios.
Es de Alta confiabilidad.
DESVENTAJAS
En algunos casos puede ser ruidosa.
Generar problemas de compatibilidad .
Altos costos en los Suministros
Requiere intervención de un operador
Según el modelo pude ser lenta.
METODO DE SALIDA : Pantalla de Despliegue
VENTAJAS
Adecuada para bases de datos y archivos
Interactiva.
Trabaja en línea.
Es Silenciosa.
De fácil cambialilidad
DESVENTAJA
Aún podría requerir documentación impresa.
Puede ser costosa si el servicio es para muchos usuarios.
Requiere área de cableado.
METODO DE SALIDA : Salida por Audio
VENTAJAS
Adecuada para mensajes transitorios
Adecuada para usuarios individuales
Adecuada si la salida es repetitiva
DESVENTAJA
Esta en proceso de perfeccionamiento
Su desarrollo es costoso
Se necesita sitio especial donde no interfiera con otros
Tiene ampliación limitada.
METODO DE SALIDA : DVD,CD-ROM, y CD-RW
VENTAJAS
Menos vulnerable a daños.
Permite salida multimedia
Tiene gran capacidad de almacenamiento
Es de Consulta rápida.
DESVENTAJA
Es difícil de actualizar
Su costo de desarrollo es alto
Complicada de usar en la red
METODO DE SALIDA : Salida electrónica Correo, fax, página Web
VENTAJAS
Se transmite masivamente
Puede ser interactiva
No usa papel
Se actualiza muy fácil
DESVENTAJA
Necesitan mantenimiento
Normalmente tiene baja resolución
Es difícil dar formato fijo.
4. Medición de la capacidad de análisis
CASO ALCANOS
La empresa cuenta con pagina Web y tiene la mayor parte de sus procesos sistematizados y en linea y teniendo en cuenta las limitantes que presenta la empresa y lo manifestado por el director comercial.
Analizando el caso podemos deducir>
Según la descripción del escenario el Director comercial de la empresa ALCANOS, se evidencia que posee una base de datos donde se registran todos los proveedores, se lleva la facturación, los inventarios, cartera etc. A lo cual él solicita no querer emitir información impresa, analizada esta limitante presento las siguientes alternativas.El método de salida de la información de la empresa podría ser en un dispositivo comercial en la actualidad como CD o medio magnético. Igualmente podría ser recibido a través de pantalla; vista desde una terminal esto implicaría que no cualquier funcionario pueda acceder a este reporte por tal razón debe tener una seguridad apropiada o destinada a un rol de funcionario específico o usuario con privilegios en la base de datos. Reconociendo que este es el medio más económico.Sin dejar como recomendación que es necesario mantener un archivo en medio impreso.
Preguntas que se le harían al director comercial
(DC) y a otros entes de dirección
(ED) respecto a la salida de los reportes:
(DC) ¿Que información necesita usted que aparezca en el reporte?
(DC) ¿Qué tipo de información no desea que se presente?
(DC) ¿Quiénes van a tener acceso a la información?
(DC) ¿Usted necesita un consolidado de todos los frentes de su empresa?
(DC) ¿Por cual medio le gustaría observar y analizar la información?
(DC) ¿Hay limite de tiempo en la disponibilidad de la información para la toma de decisiones?(ED) ¿Cómo consideran la generación de los reportes en la empresa?
(ED) ¿Qué modificaciones son necesarias a nivel de área y de empresa?
(ED) ¿Existe incoherencia en la generación de reportes?
5. Definir:
PEAR:
El proyecto PEAR fue fundado por Williams G. Molina G. en 1999 para promover la reutilización de código que realizan tareas comunes. Tiene como metas:
Promover una biblioteca de código bien estructurada
Mantener un sistema de distribución y mantenimiento de paquetes de código
Promover un estilo de codificación estándar.
En definitiva consiste en una lista bastante grande de bibliotecas de código PHP que permiten hacer ciertas tareas de manera más rápida y eficiente reutilizando código escrito previamente por otras personas. Generalmente las bibliotecas contienen clases en archivos PHP que luego se incluyen y usan sin muchas complicaciones. Entre ellas. Authentication, Benchmarking, Caching, Configuration , Console , Database ,Date & Time , Encryption , Event , File Formats , File System , Gtk Components . Gtk2 Components . HTML . HTTP, Images , Internationalization , Logging , Mail , Math , Networking , Numbers , Payment , PEAR , PHP , Processing , Science , Semantic Web , Streams , Structures , System , Text , Tools and Utilities , Validate , Web Services , XML .
ORM:
Es una técnica de la programación para convertir los datos de los sistemas de tipo incompatibles en las bases de datos correlativas. Esto crea, en efecto, una "base de datos del objeto "virtual que puede usar el idioma de la programación desde dentro.
RAD:
El desarrollo de la aplicación rápido (RAD), es un proceso de desarrollo de software por James Martin en 1991. La metodología involucra el desarrollo reiterativo y la construcción de prototipos. Tradicionalmente el acercamiento de desarrollo de aplicación rápido involucra los compromisos en la utilidad, rasgos y/o velocidad de la ejecución. Se describe como un proceso a donde el ciclo de desarrollo de una aplicación se apresura. El Desarrollo de la Aplicación rápido permite desarrollar así los productos de calidad más rápidamente ahorrando los valiosos recursos.
El YAML:
es un formato del serialización de datos inspirado en lenguajes como legible XML, el C, la Pitón, Perl, el así como el formato para correos electrónicos especificado por el RFC 2822. El YAML fue propuesto por Clark Evans en 2001, quien lo diseñó junto un döt de Ingy y Oren Neto Ben-Kiki.
OOP:
Programación Orientada un Objetos (POO u el OOP según sus siglas en inglés) programación que usa objetos el y sus interacciones para diseñar aplicaciones y programas. Está basado en varias técnicas, la herencia, la modularidad, el polimorfismo, el encapsulamiento. Su uso se popularizó a principios de la década 1990.
2008/03/14
2007/10/06
Preguntas en clase
ETAPAS PARA EL DISEÑO DE UN SOFTWARE
ETAPAS DEL CICLO
Una descripción de etapas con que podemos contar a lo largo del ciclo de vida del software; una vez delimitadas en cierta manera las etapas, habrá que ver la forma en que estas se afrontan (existen diversos modelos de ciclo de vida, y la elección de un cierto modelo para un determinado tipo de proyecto puede ser de vital importancia; el orden de las etapas es un factor importante, por ejemplo tener una etapa de validación al final del proyecto, tal como sugiere el modelo en cascada o lineal, puede implicar serios problemas sobre la gestión de determinados proyectos; hay que tener en cuenta que retomar etapas previas es costoso, y cuanto más tarde se haga más costoso resultará, por tanto el hecho de contar con una etapa de validación tardía tiene su riesgo y, por su situación en el ciclo, un posible tiempo de reacción mínimo en caso de tener que retornar a fases previas).
NECESIDADES
Esta etapa tiene como objetivo la consecución de un primer documento en que queden reflejados los requerimientos y funcionalidades que ofrecerá al usuario del sistema a desarrollar (qué, y no cómo, se va a desarrollar).
Dado que normalmente se trata de necesidades del cliente para el que se creará la aplicación, el documento resultante suele tener como origen una serie de entrevistas cliente-proveedor situadas en el contexto de una relación comercial, siendo que debe ser comprendido por ambas.
ESPECIFICACIONES
Ahora se trata de formalizar los requerimientos; el documento obtenido en la etapa anterior se tomará como punto de partida para esta fase. Su contenido es aún insuficiente y lleno de imprecisiones que será necesario completar y depurar. Por medio de esta etapa se obtendrá un nuevo documento que definirá con más precisión el sistema requerido por el cliente (el empleo de los casos de uso).
Lo más normal será que no resulte posible obtener una buena especificación del sistema a la primera; serán necesarias sucesivas versiones del documento en que irán quedando reflejada la evolución de las necesidades del cliente.
ANALISIS
Es necesario determinar que elementos intervienen en el sistema a desarrollar, así como su estructura, relaciones, evolución en el tiempo, detalle de sus funcionalidades, que van a dar una descripción clara de qué sistema vamos a construir, qué funcionalidades va a aportar y qué comportamiento va a tener. Para ello se enfocará el sistema desde tres puntos de vista relacionados pero diferentes:
- Funcional
- Estático
- Dinámico
DISEÑO
Teniendo claro que debe hacer el sistema, determinaremos como se va hacer. ¿Cómo debe ser construido el sistema?; aquí se definirán en detalle entidades y relaciones de las bases de datos, se pasará de casos de uso esenciales a su definición como casos expandidos reales, se seleccionará el lenguaje más adecuado, el Sistema Gestor de Bases de Datos a utilizar en su caso, librerías, configuraciones hardware, redes, etc.
IMPLEMENTACION
Se empieza a codificar algoritmos y estructuras de datos, definidos en las etapas anteriores, en el correspondiente lenguaje de programación y/o para un determinado sistema gestor de bases de datos.
PRUEBAS
El objetivo de estas pruebas es garantizar que el sistema ha sido desarrollado correctamente, sin errores de diseño y/o programación. Es conveniente que sean planteadas al menos tanto a nivel de cada módulo (aislado del resto), como de integración del sistema (según sea la naturaleza del proyecto en cuestión se podrán tener en cuenta pruebas adicionales, ejemplo rendimiento).
VALIDACION
Esta etapa tiene como objetivo la verificación de que el sistema desarrollado cumple con los requisitos expresados inicialmente por el cliente y que han dado lugar al presente proyecto (para esta fase también es interesante contar con los use cases, generados a través de las correspondientes fases previas, que servirán de guía para la verificación de que el sistema cumple con lo descrito por estos).
MANTENIMIENTO Y EVOLUCION
Finalmente la aplicación resultante se encuentra ya en fase de producción (en funcionamiento para el cliente, cumpliendo los objetivos para los que ha sido creada). A partir de este momento se entra en la etapa de mantenimiento, que supondrá ya pequeñas operaciones tanto de corrección como de mejora de la aplicación (por ejemplo mejora del rendimiento), así como otras de mayor importancia, fruto de la propia evolución. Ejemplo: nuevas opciones para el usuario debidas a nuevas operaciones contempladas para el producto.
La mayoría de las veces en que se desarrolla una nueva aplicación, se piensa solamente en un ciclo de vida para su creación, olvidando la posibilidad de que esta deba sufrir modificaciones futuras (que tendrán que producirse con casi completa seguridad para la mayor parte de los casos).Fase de definición (¿qué hacer?)- Estudio de viabilidad. - Conocer los requisitos que debe satisfacer el sistema (funciones y limitaciones de contexto). - Asegurar que los requisitos son alcanzables. - Formalizar el acuerdo con los usuarios. - Realizar una planificación detallada. Fase de diseño (¿cómo hacerlo? Soluciones en coste, tiempo y calidad)- Identificar soluciones tecnológicas para cada una de las funciones del sistema. - Asignar recursos materiales para cada una de las funciones. - Proponer (identificar y seleccionar) subcontratas. - Establecer métodos de validación del diseño. - Ajustar las especificaciones del producto. Fase de construcción- Generar el producto o servicio pretendido con el proyecto. - Integrar los elementos subcontratados o adquiridos externamente. - Validar que el producto obtenido satisface los requisitos de diseño previamente definidos y realizar, si es necesario, los ajustes necesarios en dicho diseño para corregir posibles lagunas, errores o inconsistencias. Fase de mantenimiento y operación- Operación: asegurar que el uso del proyecto es el pretendido. - Mantenimiento (nos referimos a un mantenimiento no habitual, es decir, aquel que no se limita a reparar averías o desgastes habituales -este es el caso del mantenimiento en productos software, ya que en un programa no cabe hablar de averías o de desgaste).
FASES DEL CICLO DE VIDA
- Ciclo Cascada
- Ciclo Prototipo
- Ciclo Espiral
- Ciclo Desarrollo incremental
- Ciclo Evolutivo
- Ciclo Modelo basado en reutilización
ASPECTOS QUE SE DEBEN TENER EN CUENTA PARA LA SELECCIÓN CORRECTA DEL MODELO DE CICLO DE VIDA
- El alcance del ciclo depende de hasta dónde llegue el proyecto correspondiente. Un proyecto puede comprender un simple estudio de viabilidad del desarrollo de un producto, o su desarrollo completo o, llevando la cosa al extremo, toda la historia del producto con su desarrollo, fabricación, y modificaciones posteriores hasta su retirada del mercado.
- Las características (contenidos) de las fases en que dividen el ciclo. Esto puede depender del propio tema al que se refiere el proyecto (no son lo mismo las tareas que deben realizarse para proyectar un avión que un puente), o de la organización (interés de reflejar en la división en fases aspectos de la división interna o externa del trabajo).
CUÁL ES LA FUNCIONALIDAD DE LA INGENIERÍA DE SOFTWARE Y QUIENES SON LOS QUE SE BENEFICIAN DIRECTAMENTE
La Ingeniería de Software es la rama de la ingeniería que aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones costo-efectivas a los problemas de desarrollo de software, es decir, permite elaborar consistentemente productos correctos, utilizables y costo-efectivos.El proceso de ingeniería de software se define como un conjunto de etapas parcialmente ordenadas con la intención de lograr un objetivo, en este caso, la obtención de un producto de software de calidad.El proceso de desarrollo de software es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo. Concretamente define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo.
ANTEPROYECTO S.I.E.D.
Software Libre
REPRESENTACION DIAGRAMA E-R
FRASES DE RELACION DE ESTE MODELO E-R
III. DIAGRAMA ENTIDAD - RELACION
DISEÑO DE BASES DE DATOS DISTRIBUIDAS