martes, 27 de noviembre de 2012

DEFINICIÓN DE DIAGRAMA DE SECUENCIA


Diagrama de secuencia

En un diagrama de secuencia ponemos varios de los objetos o clases que forman parte de nuestro programa y ponemos qué llamadas van haciendo unos a otros para realizar una tarea determinada.
Hacemos un diagrama de secuencia por cada caso de uso o para una parte de un caso de uso (lo que llamo sub caso de uso). En nuestro ejemplo de ajedrez, podemos hacer diagramas de secuencia para "jugar partida" o bien para partes de "jugar partida", como puede ser "mover pieza".
El detalle del diagrama depende de la fase en la que estemos, lo que pretendamos contar con el diagrama y a quién. En una primera fase de diseño podemos poner clases grandes y ficticias, que representen un paquete/librería o, si nuestro programa está compuesto por varios ejecutables corriendo a la vez, incluso clases que representen un ejecutable.
Si estamos en una fase avanzada, estamos diseñando el programa y queremos dejar bien atados los detalles entre dos programadores, que cada uno va a programar una de las clases que participan, entonces debemos posiblemente ir al nivel de clase real de codificación y método, con parámetros y todo, de forma que los programadores tengan claro que métodos van a implementar, que deben llamar de la clase del otro, etc. Incluso si es un diagrama para presentar al cliente, podemos hacer un diagrama de secuencia en el que sólo salga el actor "jugador" y una única clase "juego ajedrez" que representa nuestro programa completo, de forma que el cliente vea qué datos y en qué orden los tiene que meter en el programa y vea qué salidas y resultados le va a dar el programa.


El siguiente puede ser un diagrama de secuencia de nuestro ejemplo del ajedrez a un  nivel de diseño muy preliminar





Aquí ya hemos decidido que vamos a hacer tres librerías/paquetes, una para la interface de usuario, otra para contener el tablero y reglas del ajedrez (movimientos válidos y demás) y otra para el algoritmo de juego del ordenador. Hemos puesto una clase representando cada uno de los paquetes y hemos representado el caso de usa "mover pieza".
En el diagrama de secuencia no se ponen situaciones erróneas (movimientos inválidos, jaques, etc.) puesto que poner todos los detalles puede dar lugar a un diagrama que no se entiende o difícil de leer. El diagrama puede acompañarse con un texto en el que se detallen todas estas situaciones erróneas y particularidades. Si se quiere dejar muy claro que un determinado error se contempla, por ejemplo, un movimiento no válido por el usuario, entonces sí se puede poner en el diagrama de secuencia, siempre que no "embarulle" demasiado.
En este diagrama sencillo ya vamos dejando algunas cosas claras, como por ejemplo, que la interface de usuario hace llamadas y, por tanto, ve a los otros dos, mientras que algoritmo sólo ve al tablero/reglas. El tablero/reglas aparentemente ve a la interface de usuario, pero no nos interesa si seguimos un patrón modelo-vista-controlador, así que ese "Refresca pantalla" lo implementaremos con un patrón observador, pero eso son detalles que quizás no vienen al caso ahora.




lunes, 19 de noviembre de 2012

¡¡ Definición y ejemplo de Diagrama!!


Diagrama de clases


Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro.
Representación de: - Requerimientos en entidades y actuaciones. - La arquitectura conceptual de un dominio - Soluciones de diseño en una arquitectura - Componentes de software orientados a objetos.
El diagrama de clases incluye mucha más información como la relación entre un objeto y otro, la herencia de propiedades de otro objeto, conjuntos de operaciones/propiedades que son implementadas para una interfaz gráfica.







martes, 13 de noviembre de 2012

NORMAS PARA EL DESARROLLO DE UN PROYECTO


SUGERENCIAS PARA EL DESARROLLO DEL PROYECTO DE AULA


1. JUSTIFICACIÓN: A qui colocar el porqué se creó el proyecto, que beneficio trae para la empresa.
Ejemplo: Este software será de utilidad para los investigadores porque en ellos encontraran bases teóricas para ayuda con base a un proyecto.
Este proyecto es importante para tecnar porque…………………………………

2. EL PROBLEMA: Es hablar única y exclusivamente del problema, va en base a la justificación.

3. BASES TEÓRICAS: Meter emprendimiento etc. Por ejemplo hablar de la ingeniería de software,
INGENIERÍA DE SOFTWARE: Hacer un relato de lo que es la ingeniería de software pero ojo utilizando libros, Internet etc.

4. METODOLOGÍA:
TIPO: Es la forma de cómo nosotros realmente vamos adelantar la información.
MÉTODO: Instrumentos con los que vamos a nutrir este tipo de información, trabajar con los métodos cualitativos y cuantitativos.
ENFOQUE: Sera llamado proyectivo porque hay que dejar en especie de una mono grafía.

5. FUENTES:
PRIMARIAS: Son los departamentos o centros en donde yo investigue, son las investigaciones propias
SECUNDARIAS: Son las ayudas del profesor, revistas, periódicos, libros etc.

6. RECURSOS: Hay 4 tipos de recursos que son:
1. Recursos humanos: Eso somos nosotros mismos ósea los integrantes del grupo 
  
2. Recursos tecnológicos: Es el hardware que nosotros necesitamos para trabajar el proyecto 

3. Recursos financieros: Propios o pesos

4. Recursos institucionales: Son los que nos provee la institución para poder hacer los proyectos como: Las salas de computo, Bibliotecas laboratorios etc.

5. Presupuesto:

6 Crono grama: Microsoft proyec  y buscar plantillas para proyectos de software.

7. BIBLIOGRAFIA: Esta compuesta de 2 formas que son:
Cibergrafia y Bibliografía
Nota: Ahí que colocarlas todas dos.

8. OBJETIVOS ESPECÍFICOS  Son los pasos del ciclo de vida que nosotros escogimos. Son 5 que todos estos conllevan a la aplicación de los objetivos generales.

ANTECEDENTES: Son aquellos software que pudimos observar para el diseño del de nosotros.

4to CAPITULO: Es la materialización del proyecto.
4.1 Es el primer objetivo especifico: En donde van todas las entrevistas que hicimos a que conclusión llegamos, el problema etc.
4.2 ANÁLISIS: Todos los casos de usos, diagrama de clases y diagrama de secuencia.
4.3 DISEÑO: Pantallazos e infraestructura a qui entra sistema operativo ósea el tipo de software que  utilizamos como por ejemplo: Cliente servidor, entonces entraría la parte de redes.
4.4 DESARROLLO: A qui van todas las fases del porque de la herramienta del desarrollo y una pequeña fase el código.
4.5  MANUAL DE USUARIOS: Esto se coloca como anexos y además un plan de contingencia, ósea que pasaría buscando la prevención de las cosas.
Como anexos: Las cosas que nos ayudaron para armar el proyecto.
5. CONCLUSIÓN: Podemos concluir……………….
La conclusión se basa en todos los objetivos específicos, ósea la definición y terminación  de cada objetivo específico.
NOTA: Por cada objetivo especifico hacer una conclusión.
A DEMAS TENER EN CUENTA QUE: Primero va la  conclusión y luego los anexos.

6. RECOMENDACIONES: Recomendamos que  aquellos estudiantes que quieran seguir en el proyecto se empapen con x o tal punto y vallan a la empresa y sigan investigando para ir mejorando.

7. BIBLIOGRAFIA
7.2 CIBERGRAFIA
8. ANEXOS
 


lunes, 29 de octubre de 2012

INGENIERÍA DE SOFTWARE: CASO DE USO


¿Caso de Uso?

Un caso de uso es un conjunto de escenarios que 
tienen una meta de usuario en común.
Además también suele ser una descripción de un proceso fina-fin, relativamente largo, que incluye varias etapas o transacciones.
siendo una manera específica de utilizar el sistema, es 
una historia que describe un uso particular del sistema.
Es la imagen de una funcionalidad del sistema, 
desencadenada en respuesta al estímulo de un 
actor o rol externo.

¿Escenario?

Es una secuencia de acciones e interacciones (pasos) entre los usuarios (actores) y el sistema... por ejemplo: 
“El usuario introduce su nombre de usuario y su contraseña. 
El sistema verifica la validez del nombre de usuario y de la contraseña y permite al usuario el acceso al sistema. El sistema muestra la pantalla principal del sistema. El usuario selecciona la opción de añadir nuevo empleado. El sistema muestra...”

¿Actor, Rol?
Un actor representa el rol jugado por una persona o cosa que actúa con el sistema.

“Cliente, Administrador, Usuario no Registrado (Autenticado), 
Usuario Registrado (Autenticado), Jefe de Compras, Jefe de 
Personal, Moderador, Jefe de Departamento, Obrero de 
Planta, Supervisor.

¿Actor o Rol?: Sería mejor usar la palabra rol, pero 
algunos piensan que “Actor” fue usado debido a una 
mala traducción del Sueco

NOTA: NO TODOS los 
interesados en el 
sistema (stakeholders) 
son actores, sólo son 
actores aquellos que  utilizarán el sistema como tal osea es 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 incluyen a todas los sistemas externos, además de entidades abstractas, como el tiempo.  t








lunes, 15 de octubre de 2012

QUE ES RUP Y SU CICLO DE VIDA


(( 11 POST ))

DEFINICIÓN


El Proceso Unificado de Rational (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
También se conoce por este nombre al software, también desarrollado por Rational, que incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo con las necesidades.
Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una especificación más detallada, elRational Unified Process, que se vendiera como producto independiente...

 Archivo:Rup espanol.gif







CICLO DE VIDA DE RUP


El ciclo de vida RUP es una implementación del Desarrollo en espiral. Fue creado ensamblando los elementos en secuencias semi-ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones.
RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en número variable según el proyecto y en las que se hace un mayor o menor hincapié en las distintas actividades. En la Figura muestra cómo varía el esfuerzo asociado a las disciplinas según la fase en la que se encuentre el proyecto RUP.
Las primeras iteraciones (en las fases de Inicio y Elaboración) se enfocan hacia la comprensión del problema y la tecnología, la delimitación del ámbito del proyecto, la eliminación de los riesgos críticos, y al establecimiento de una baseline (Línea Base) de la arquitectura.
Durante la fase de inicio las iteraciones hacen mayor énfasis en actividades de modelado del negocio y de requisitos.

lunes, 8 de octubre de 2012

INGENIERÍA DE SOFTWARE


               10 POST !!  CASOS DE REQUERIMIENTOS




Formas para resolver los 2 primeros  casos de  requerimientos, el objetivo primordial  es leer los casos, interpretarlos, luego interiorizarlos y crear un documento con nuestro propio comprender. A partir de allí mostrar sus requerimientos y luego sacar los requisitos… tanto funcionales como no funcionales.




Boletín Nº1: Ejercicios de Casos de Uso.
EJERCICIO 1.
UNA EMPRESA ENCARGADA DE VENDER PRODUCTOS, DESEA DE INFORMATIZARLA, Y PARA ELLO DESEA QUE EL SISTEMA REALICE LAS SIGUIENTES FUNCIONES:
EL SISTEMA HA DE PERMITIR QUE LOS VENDEDORES INTRODUZCAN LOS PRODUCTOS QUE VENDEN, JUNTO CON SUS PRECIOS EN EL SISTEMA. ESTA INFORMACIÓN SE EMPLEARÁ PARA CONSTRUIR LISTADOS ESTADÍSTICOS, PARA QUE EL DIRECTOR PUEDA CONSULTARLA. CADA MES, SE GENERARÁ UN LISTADO ESPECIAL CON AGRUPACIONES DE VENTAS POR MESES. EL SISTEMA, ADEMÁS, HA DE PERMITIR AL JEFE DE RECURSOS HUMANOS, DAR DE ALTA Y BORRAR A LOS DIFERENTES VENDEDORES QUE SE AÑADAN O DEJEN LA EMPRESA. EN CUALQUIER MOMENTO, TAMBIÉN TENDRÁ LA OPCIÓN DE CONSULTARLA. PARA LA REALIZACIÓN DE ESTAS TRES FUNCIONALIDADES, SE DISPONDRÁ DE UN SISTEMA GESTOR  DE BASE DE DATOS, ENCARGADO DE TRADUCIR LAS PETICIONES DEL JEFE DE RECURSOS HUMANOS.
EL DIRECTOR, TAMBIÉN PODRÁ CONSULTAR EN TODO MOMENTO  TODA LA INFORMACIÓN REFERENTE AL PERSONAL DE LA EMPRESA.

SOLUCIÓN

RESUMEN DE REQUISITOS

REQUERIMIENTOS  FUNCIONALES
·         PERMITIR QUE LOS VENDEDORES PUEDAN INTRODUCIR PRODUCTOS  QUE SE VENDEN JUNTO A LOS PRECIOS.
·         CONSTRUIR LISTADOS ESTADÍSTICOS
·         PERMITIR QUE EL DIRECTOR PUEDA CONSULTAR LA INFORMACIÓN  INFORMACIÓN REQUERIDA.
·         PERMITIR AL JEFE DE RECURSOS HUMANOS DAR DE ALTA Y/Ó BORRAR VENDEDORES
       
      REQUERIMIENTOS NO FUNCIONALES
·         PERMITIR  UN SISTEMA GESTOR  DE BASE DE DATOS, ENCARGADO DE TRADUCIR LAS PETICIONES DEL JEFE DE RECURSOS HUMANOS.
·         PERMITIR CONSULTAR EN TODO MOMENTO  TODA LA INFORMACIÓN REFERENTE AL PERSONAL DE LA EMPRESA.


TODO ESTOS REQUERIMIENTOS  PODRÍA CAMBIAR DEPENDIENDO DE LAS ESPECIFICACIONES DE TU SISTEMA.



 EJERCICIO 2.
Una empresa encargada del desarrollo de software “a medida”, tiene la necesidad de disponer de la siguiente aplicación CASE:
Los diferentes Clientes a los que se dará servicio, hablarán con los Analistas de Información para establecer los requisitos. El sistema ha de permitir a estos Analistas dar de alta un análisis de requisitos en los que queden establecidos la funcionalidad que el Cliente desea que tenga su programa. Para esto último, en el proceso de alta, se ha de tener la posibilidad de poder realizar una edición para introducir en el sistema el documento con los requisitos. Los Analistas de Sistemas de la empresa, podrán realizar consulta a estos últimos documentos, para lo cual tendrán que editarlo. Una vez estudiados, procederán a dar de alta a los diagramas y documentos de análisis. Para realizar los diagramas se utilizará la herramienta “Rational Rose”. Estos mismos agentes, también realizaran el diseño funcional del sistema, utilizando la funcionalidad de edición que ofrece el sistema.
Los Programadores, son los encargados de consultar el diseño, accediendo a la herramienta de edición, lo traducirán al lenguaje de programación JAVA, y lo compilarán. Por último, existe en la empresa el personal de Calidad encargada de revisar tanto la documentación generada por los Analistas como los programas tecleados por los Programadores. Para esto, podrán realizar consultas generales, pudiendo hacer uso tanto del módulo de edición como del compilador.

Representar mediante la técnica de “Casos de Uso”, las diferentes funcionalidades que ofrecerá el sistema, junto con los actores que la utilizan.

SOLUCIÓN
RESUMEN DE REQUISITOS—

REQUERIMIENTOS  FUNCIONALES
·         PERMITIR  QUE LOS DIFERENTES CLIENTES A LOS QUE SE DARÁ SERVICIO, HABLARÁN CON LOS ANALISTAS DE INFORMACIÓN PARA ESTABLECER LOS REQUISITOS.

·         PERMITIR AL ANALISTA LA POSIBILIDAD DE PODER REALIZAR LA EDICIÓN PARA INTRODUCIR EN EL SISTEMA EL DOCUMENTO DE LOS REQUISITOS ESTABLECIDOS PARA LA FUNCIONALIDAD QUE EL CLIENTE TENGA DESEA QUE TENGA SU PROGRAMA.

·         CONSULTAR  A ESTOS ÚLTIMOS DOCUMENTOS, PARA QUE LOS ANALISTAS DE SISTEMAS DE LA EMPRESA PUEDAN EDITARLO.

·         REALIZAR DIAGRAMAS QUE PROCEDERÁN A DAR DE ALTA A LOS DIAGRAMAS Y DOCUMENTOS DE ANÁLISIS.



REQUERIMIENTOS NO FUNCIONALES.

·         PERMITIR QUE LOS PROGRAMADORES, SON LOS ENCARGADOS DE CONSULTAR EL DISEÑO, ACCEDIENDO A LA HERRAMIENTA DE EDICIÓN, LO TRADUCIRÁN AL LENGUAJE DE PROGRAMACIÓN JAVA.

·         PERMITIR QUE EL PERSONAL DE CALIDAD  SE ENCARGUE DE REVISAR TANTO LA DOCUMENTACIÓN GENERADA POR LOS ANALISTAS COMO LOS PROGRAMAS TECLEADOS POR LOS PROGRAMADORES.



domingo, 30 de septiembre de 2012

AVANCES TECNOLOGICOS DE SAMSUNG

GNII-dualsim1




Actualmente, Samsung es el fabricante número uno de teléfonos inteligentes en el mundo, y habiendo obtenido el gran éxito con el Galaxy S y el Galaxy s II, pocos podrían haber previsto el impacto del Galaxy Note, que aunque parezca ser demasiado grande para la mayoría de los bolsillos, en realidad se venden en cantidades impresionantes.
El Galaxy S III, sucesor del Galaxy S y S II, fue el Smartphone más esperado del año, y a pesar de haber estado solamente unos pocos meses en el mercado, ya ha vendido más de 20 millones de unidades, lo cual es un logro asombroso para cualquier empresa - por no hablar de un dispositivo único.


ATIV S,UN NUEVO SMARTPHONE DE SAMSUNG

Samsung-W8-1



La compañía coreana anunció el ATIV S, que tiene una pantalla de 4,8 pulgadas y un grosor de sólo 8,6mm
Samsung aprovechó la feria de tecnología de Berlín (IFA)para presentar su “gama de productos” ATIV (VITA, “vida” en latín, al revés). Por el momento cuenta con una tableta (ATIV Tab), dos computadoras portátiles (ATIV Smart PC y Smart PC Pro), y, sobre todo, un teléfono inteligente Windows Phone 8 (ATIV S). Lo que aún se desconoce es para cuándo estarán disponibles y cuánto costará cada modelo.

jueves, 27 de septiembre de 2012


8 POST
MÉTRICAS DE SOFTWARE

Las métricas son un buen medio para entender,
monitorizar, controlar, predecir y probar el desarrollo
software y los proyectos de mantenimiento (Briand et
al., 1996)
En general, la medición persigue tres objetivos
fundamentales: ayudarnos a entender qué ocurre
durante el desarrollo y el mantenimiento, permitirnos
controlar qué es lo que ocurre en nuestros proyectos
y poder mejorar nuestros procesos y nuestros
productos (Fenton y Pfleeger, 1997


Las métricas del Software comprenden
un amplio rango de actividades
diversas, estas son algunas:

Aseguramiento y control de calidad
Modelos de fiabilidad
Modelos y evaluación de ejecución
Modelos y medidas de productividad


Métricas de Calidad - Modelos conocidos
Modelo de FURPS (1987)
Factor Criterio
Funcionalidad Características y capacidades del
Programa

Generalidad de las funciones
Seguridad del sistema
Facilidad de Uso Factores humanos
Factores estéticos
Consistencia de la interfaz
Documentación
Confiabilidad Frecuencia y severidad de las fallas
Exactitud de las salidas
Tiempo medio de fallos
Capacidad de recuperación ante fallas
Capacidad de predicción
Factor Criterio
Rendimiento Velocidad del procesamiento
Tiempo de respuesta
Consumo de recursos
Rendimiento efectivo total
Eficacia
Capacidad de
Soporte
Extensibilidad
Adaptabilidad
Capacidad de pruebas
Capacidad de configuración
Compatibilidad
Requisitos de instalación
Criterios asociados a los factores de calidad









viernes, 21 de septiembre de 2012

                                                                   SÉPTIMO POST
                                        
                                             
                            ENFOQUE SOBRE REQUERIMIENTOS O REQUISITOS

En la ingeniería de sistemas, un requisito o requerimiento es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio. Se usa en un sentido formal en la ingeniería de sistemas o la ingeniería de software
En la ingeniería clásica, los requisitos se utilizan como datos de entrada en la etapa de diseño del producto. Establecen que debe hacer el sistema, pero no como hacerlo.
La fase de captura, licitación y registro de requisitos puede estar precedida por una fase de análisis conceptual del proyecto. Esta fase puede dividirse en recolección de requisitos, análisis de consistencia e integridad, definición en términos descriptivos para los desarrolladores y un esbozo de especificación, previo al diseño completo.

Por lo tanto  los requisitos se pueden definir de las siguiente manera:  
§  Condición o capacidad que un usuario necesita para poder resolver un problema o lograr un objetivo (IEEE).
§  Condición o capacidad que debe exhibir o poseer un sistema para satisfacer un contrato, estándar, especificación, u otra documentación formalmente impuesta (IEEE).
§  Una condición o capacidad que debe ser conformada por el sistema (RUP).
§  Algo que el sistema debe hacer o una cualidad que el sistema debe poseer (Robertson - Robertson).

Pero en la ingeniería de software y sistema se puede definir a si:
En ingeniería de sistemas existen tres tipos de requisitos.
§  Un requisito funcional: puede ser una descripción de lo que un sistema debe hacer. Este tipo de requisito especifica algo que el sistema entregado debe ser capaz de realizar.
§  Un requisito no funcional: de rendimiento, de calidad, etc; especifica algo sobre el propio sistema, y cómo debe realizar sus funciones. Algunos ejemplos de aspectos solicitables son la disponibilidad, el testeo, el mantenimiento, la facilidad de uso, etc.
§  Otros tipos de limitaciones externas, que afectan en una forma indirecta al producto. Estas pueden ir desde la compatibilidad con cierto sistema operativo hasta la adecuación a leyes o regulaciones aplicables al producto