miércoles, 26 de octubre de 2011

Diseño Dirigido por Dominio (DDD) y Diseño Guiado por Pruebas (TDD)

¿Que es DDD?
Consiste en realizar un sistema teniendo como base y principal elemento el problema concreto que se desea solucionar de una forma macro, mas allá de los datos (base de datos) que se tengan.

¿Que es TDD? 
Consiste en una práctica, en donde se puede apreciar que el objetivo de esta práctica es que, bajo la planificación y ejecución de pruebas, se puedan corregir los errores en la marcha, siendo así una especie de “Prueba y error Planificada”,

Archivos:

DOC: Informe Investigación DDD y TDD

PPT: Presentación Investigación DDD y TDD

¿Qué es DDD y TDD?

Pronto, la definición de lo que es DDD y TDD, por el mismo canal

miércoles, 5 de octubre de 2011

Gestión de Calidad de Software Confecciones Adela

Diapositivas:
http://dl.dropbox.com/u/9398610/An%C3%A1lisis%20Confecciones%20Adela.pptx

Informe:
http://dl.dropbox.com/u/9398610/Informe%20Final%20An%C3%A1lisis%20Confecciones%20Adela.docx

Reflexiones acerca de Calidad de Software

1.¿Que se entiende por Gestión de Calidad de Software?
Se entiende por Gestion de calidad de software a la disciplina que tiene por objetivo buscar los aspectos positivos y negativos
(respeto a la calidad) de un proyecto de Software, buscando superar la expectativa del cliente y el usuario final.

2.¿Cual es el Rol de un area de calidad de software?
Buscar fallas en el software, de manera que se puedan mejorar. En el
caso de que existan aspectos positivos, resaltarlos para ganar experiencia aplicable
a otros proyectos.Utilizando metricas, estandarizaciónes, etc.

3.¿Tester o Ingeniero de Calidad, que necesita la industria en Chile?
En la industria chilena se debe entender que la Calidad es sinonimo de mejor
posicionamiento y crecimiento de la industria en el País.
Planificando de manera organizada, el analisis exhaustivo de los aspectos que potencien o disminuyan la calidad en un proyecto.
Buscando los detalles tecnicos y ejecutando labores de prueba,bajo las indicaciones del ing.de calidad, aplicando metricas, estandarizaciónes,
trazabilidades, testing, etc. Con el unico fin que el Producto final, cumpla
con creces las expectativas del cliente.


4.¿Cuales son las competencias que debe tener un Tester o Ingeniero de Calidad?
Conocer los principios de calidad, estandares y tener como minimo una o mas
certificaciónes en Calidad, como por ejemplo la CSQE, las cuales otorgan las
competencias para que el profesional pueda desempeñarse con conocimiento y experiencia
en el mercado.

5)¿Cual es el estado del Arte de la Calidad de Software en Chile?

El estado de arte de la calidad de software en Chile consta de varias empresas que en sus inicios realizaron el programa de certificacion de calidad para las empresas dedicadas al area de las tecnologias de la informatica. Este fue realizado para obtener aumentar la cantidad de empresas que se encuentran certificadas y que se dedican al rubro de la informatica. Con esto se da inicio a un programa donde cada año se busca mejorar la calidad de los software en Chile. De esta manera se puede obtener mejores empresas dedicadas al rubro de software y asu vez ir mejorando y desarrollando mejores profesionales en esta area.

6) ¿Es lo mismo implementar un Sistema de Gestión de Calidad en una compañía que tiene un Departamento de informática, que en un proveedor de TI?

No, no es lo mismo, ya que un departamento de informatica cubre las necesidades de la empresa y de mantener el sistema y administracion del ambito informatico y este se encuentra dentro de la empresa, en cambio el proveedor de TI se encarga de implementar la tecnologia dentro de una empresa.

7. ¿CMMI aumenta la calidad del software?
Si, dado que es un modelo de procesos que contiene las mejores prácticas de la industria para el desarrollo, mantenimiento, adiquisición y operación de sistemas de software. Propone un método para definir y gestionar los procesos a realizar en una organización y guiar las mejoras de procesos durante el desarrollo de un proyecto. Otra función que cumple es la de mitigar los problemas que se presentan continuamente al momento de contratar empresas desarrolladoras de software, principalmente por la elevación de costos y desfase de las fechas de entrega.

8. ¿Es compatible la Agilidad con la Calidad de Software?
El concepto de calidad hace pensar que para la creación de un producto
de calidad es necesario que éste sea creado lo más cuidadosamente
posible evitando errores en el proceso de desarrollo, todo este
proceso debería ser lento y poco ágil, sin embargo el concepto ágil en
el desarrollo de software plantea que es posible desarrollar software
dentro de tiempos no muy largos y de calidad.



jueves, 8 de septiembre de 2011

Resumen PDF . Requisitos y Trazabilidad

Integrantes
-Nicolás Gacitúa
-Diego Farías
-Alexis Sánchez
-Francisco Zuñiga
-Felipe Núñez
-Gino Quiróz

Link descarga del Resumen

Indice del PDF
Estudio+de+herramientas+para+Gestion+de+requisitos

-Rfsumen (pag2)
-La ingenieria de requisitos,sus proceso y actividades(pag2)
-La gestion de requisitos(pag3)
-Tareas principales de la Gestión de Requisitos(pag3)
-La Gestión de Requisitos en la Práctica(pag4)
-Visión de la Gestión de Requisitos dentro de los estándares(pag5)
-Las Herramientas de Gestión de Requisitos(pag6)
-Funcionalidades de las Herramientas de Gestión de Requisitos(pag6)
-Herramientas de Gestión de Requisitos en el Mercado(pag8-12)
-Casos Prácticos en el uso de Herramientas de Gestión de Requisitos(pag13)
-Conclusiones(pag14)

UNA+REVISI�N+DE+MODELOS+PARA+LA+TRAZABILIDAD+DE+REQUISITOS.pdf
-RESUMEN (pag1)
-ABSTRACT (pag1)
-INTRODUCCION (pag2)
-TRABAJOS RELACIONADOS (pag2-4)
-MODELOS DE TRAZABILIDAD (pag4-9)
-ANALISIS DE APROXIMACIONES (pag9)
-CONCLUSIONES (pag9)

martes, 2 de agosto de 2011

Presentación final Cero Grado

Presentación PPT


Asistentes:

Profesores
-Jorge Cornejo
-Erwin Fischer

Invitado especial:

Director de carrera: Nestor González

lunes, 25 de julio de 2011

Descripción Casos de Uso Escrito












Descripción Breve

En el caso de uso de la figura anterior, se muestra el proceso de Reserva de Horas en el sistema incluido en la página web de Cero Grado.

Requerimientos de Referencia:

· Crear un sistema para reservar horas de cumpleaños:

· Ingresar datos en el formulario para la reserva de horas.

· Solicitar la confirmación de la reserva de horas.

· Realizar pago de la reserva.

· Confirmar solicitud de reserva.

· Actualizar calendario web y reservas en el sistema.

Actores

1. Actor Primario: Usuario

2. Actor Secundario: Administrador.

Flujo de Eventos

1. Flujo Principal:

1. Consultar Horarios Disponibles: El usuario ingresa al módulo de reserva de horas y verifica dentro de sus disponibilidades horarias, el bloque disponible para hacer uso del local.

2. Llenar Formulario: Luego de verificar el bloque horario, se debe llenar un formulario con la información referente a los invitados y características de la celebración deseada.

3. Confirmar Reserva: Al momento de confirmar la reserva, se necesitan 2 etapas. La primera es la notificación del Administrador de local, dando las indicaciones de cómo realizar el pago de dicha reserva al cliente. La segunda es que el cliente, realizando el deposito, y enviando el comprobante de pago, vía email al Administrador para notificar el pago de la reserva.

4. Validar Reserva: Recibido el pago de la reserva, se valida está en el Sistema. Dejando el bloque horario bloqueado para el resto de los usuarios.

2. Flujo Secundario

1. Consultar Horarios Disponibles: El usuario ingresa al módulo de reserva de horas y verifica dentro de sus disponibilidades horarias, el bloque disponible para hacer uso del local. En este caso, el usuario no encuentra ningún bloque disponible.

2. Llenar Formulario: al no haber módulos disponibles, no hay necesidad de llenar el formulario.

3. Confirmar Reserva: No existe confirmación, al no haber bloques disponibles.

4. Validar Reserva: No existe validación.

miércoles, 20 de julio de 2011

Para los que leen el libro y se encuentran con: "compartimentalización"

la compartimentación de información da a entender que hay un limitado acceso a determinada información para personas que tienen que saber directamente dicha confidencia para llevar a cabo ciertas tareas.


Gracias a Wikipedia, que es la ÚNICA que supo darme alguna definición.

Actividad de hoy

Estudiar para la prueba de mañana jueves que se viene cuática

jueves, 7 de julio de 2011

Planificación Carta Gantt MS Project

Carta Gantt hecha en la clase de laboratorio, la cual muestra la planificación del proyecto CeroGrado. Esta planificación fue hecha en base a la enseñansa introductiva acerca MSProject que dictó el profesor Erwin Fischer.


adjuntar foto (usar http://www.imageshack.us/) o investigar si se puede crear un gráfico y adjuntarlo al blog directamente desde el MSProject

martes, 5 de julio de 2011

prueba2 de Base de Datos

create table pais(

id_pais int primary key auto_increment,
nombre varchar(30)
)

create table ciudad(
id_ciudad int primary key auto_increment,
nombre varchar(30),
id_pais int references pais(id_pais)
)

create table sucursal(
id_sucursal int primary key auto_increment,
nombre varchar(30),
id_ciudad int references ciudad(id_ciudad)
)


create table continente(
id_continente int primary key auto_increment,
nombre varchar(30)
)


create table especie(
id_especie int primary key auto_increment,
nombre varchar(30),
cant_patas int,
cant_cuernos int,
cant_colas int,
id_tipo int references tipo(id_tipo)
)


create table genero(
id_genero int primary key auto_increment,
nombre varchar(30)
)


create table especie_continente(
id_especie_continente int primary key auto_increment,
id_especie int references especie (id_especie),
id_continente int references continente (id_continente)
)

create table animal(
id_animal int primary key auto_increment,
nombre varchar(30),
fecha_nacimiento date,
codigo int not null unique,
patas int,
plumas int,
pelos int,
cuernos int,
cola int,
id_genero int references genero(id_genero),
id_sucursal int references sucursal(id_sucursal),
id_especie int references especie(id_especie)
)

1.- modele físicamente el problema

2.- indique un query para cambiar o trasladar un animal

update animal
set
id_sucursal = (select id_sucursal
from sucursal
where nombre = 'santiago')
where nombre = 'lore'

3. Indique un query para detectar a los animales cojos

select animal.nombre
from animal, especie
where animal.patas

4. indique un query para informar cuantos animales de cada especie hay en cada sucursal del zoológico

SELECT COUNT( id_animal ) AS Cant_animales, especie.nombre, sucursal.nombre
FROM animal, sucursal, especie
WHERE especie.id_especie = animal.id_especie
AND sucursal.id_sucursal = animal.id_sucursal
GROUP BY sucursal.nombre, especie.nombre

5. indique un query para detectar que especies de animales no estan presentes en alguna sucursal

SELECT nombre

FROM especie

WHERE nombre NOT
IN (
SELECT e.nombre
FROM animal a, sucursal s, especie e
WHERE a.id_especie = e.id_especie
AND s.id_sucursal = a.id_sucursal)
)

6. indique un query para ingresar el nacimiento de un animal

INSERT INTO `prueba`.`animal` VALUES (NULL,'juanin', '1998-07-05', '10103', '3', '0', '123612', '2', '1', '2', '4', '3')

7. indique un query para detectar el tipo de animal mas cornudo

SELECT MAX( e.cant_cuernos ) AS Mas_Cornudo, t.nombre
FROM tipo t, especie e
WHERE e.id_tipo = t.id_tipo
GROUP BY e.cant_cuernos DESC
LIMIT 0,1


8. Indique un query cantidad promedio de plumas por especie

select avg(a.plumas) as promedio_plumas , e.nombre
from animal a,especie e
where a.id_especie = e.id_especie
group by e.nombre


9. Indique un query para listar los animales de cumpleaños este mes

select nombre, fecha_nacimiento
from animal
where month(fecha_nacimiento) = month(curdate())

10. Indique un query para detectar los animales de cumpleaños este dia

select nombre, fecha_nacimiento
from animal
where month(fecha_nacimiento) = month(curdate())
and day(fecha_nacimiento) = day(curdate())

jueves, 16 de junio de 2011

Estimación de esfuerzo - Kiosco Sra. Perla

Informe realizado en base a los requerimientos impuestos por Sra. María Angélica Carreño, que es la dueña del Kiosco Sra. Perla.
 
https://docs.google.com/document/d/1TAoxt_NWm0UghJF8QXm3m8sA2OZ3_ALXGne6s1sbUMU/edit?hl=en_US&authkey=COLbqsUC

jueves, 2 de junio de 2011

2da Disertación

Segundo intento.

Descripción empresa
Situación actual
Requerimientos del cliente
Metodología y frameworks utilizados
carta Gantt

Hartas minutas..

Presentacion PPT:

https://docs.google.com/leaf?id=0B6278LoSHGCzN2JjYjVjYTktNWZiZS00YTMyLTg1NTYtMzk0NmY3ZjNhMmU3&hl=en_US&authkey=CJnJlOQE

jueves, 28 de abril de 2011

Tabla de Contenido Informe proyecto

Hasta el momento se ha definido la estructura temporal del informe que se desarrolló en la ultima junta, la cual está especificado en la minuta de aquella sesión. Es por esto que la estructura del informe se verá más menos con los siguientes puntos:

1 Resumen ejecutivo. 3
2 Introducción. 3
3 Objetivos. 3
3.1 Objetivo General 3
3.2 Objetivos Específicos. 3
4 Marco Teórico (antecedentes y problemas de investigación). 3
4.1 Problema de investigación (y fundamentación). 3
4.2 Delimitar área de investigación. 3
4.3 Sugerir guías de investigación (alternativas de solución al problema). 3
5 Análisis de la Empresa y su problemática. 3
5.1 Empresa Cero Grado. 3
5.2 Problemática de Cero Grado. 4
5.3 Requisitos de acuerdo a la problemática. 5
6 Diagnostico de Situación Actual 5
6.1 Levantamiento de Procesos. 5
6.2 Análisis de Requisitos. 6
6.3 Propósito del Proyecto. 6
6.4 El Cliente, el Comprador y otras partes involucradas. 6
6.5 Usuarios del Producto. 6
6.6 Clasificación de Requisitos. 6
6.7 Conclusión de Situación actual 6
7 Metodología. 6
7.1 SCRUM... 6
7.2 XP. 6
8 Herramientas de trabajo. 6
8.1 Framework. 7
8.1.1 Tipos de frameworks investigados. 7
8.1.2 Elección del mejor para este proyecto. 7
8.1.3 Framework Drupal 7 
8.2 PHP. 7 
8.3 MySQL. 7 
9 Conclusión. 7 
10 Referencias Bibliográficas. 7 
11 Anexo

Algunos puntos están desarrollados en base a los requerimientos de la empresa además de los propuestos por los integrantes del grupo para crear soluciones para la empresa, y otros puntos están expresados para definir la estructura y posteriormente ser desarrollados.

jueves, 24 de marzo de 2011

SCRUM: metodología ágil para los proyectos.




SCRUM: Del vocabulario del rugby significa “melé”; es decir, la “figura” en la que los compañeros del equipo se amontonan, forman una piña y empujan todos hacia la misma dirección.




La tendencia de las organizaciones y el mercado de Desarrollo de software de hoy en día buscan incorporar cambios con rapidez y en cualquier fase del proyecto.
Dado que los cambios nunca van a dejar de existir, lo que necesitamos es ser capaces de gestionar los proyectos de una forma más ágil.
Con ese objetivo, en los años 80, Takeuchi y Nonaka estudiaron las prácticas de empresas como Xerox, Canon, Honda, NEC, Epson, Brother, 3M y Hewlett-Packard enfocados en sus buenos resultados, rapidez y flexibilidad en la producción. De salieron las bases de la metodología SCRUM que hoy en día se aplican en todo tipo de proyectos.

Estas son algunas de las claves de SCRUM:
1.Mejor con equipos pequeños y auto-organizados:
•Equipos pequeños y miembros de diferentes disciplinas consiguen mejores resultados.
•Auto-organización y comunicación transparente es clave, así como el compromiso y la motivación.

2.Punto de vista del usuario:
•El levantamiento de requisitos incluye tomando la visión del cliente y del usuario.
•Para esto existe el documento llamado “Historias de Usuario”, tarjetas que recogen que es lo que se quiere hacer, de forma esquemática y en un lenguaje claro.
•La lista de requisitos del producto o “Product Backlog” registra cada ítem en una lista con una prioridad asignada. El equipo tiene que estimar cuánto tiempo es necesario para realizar cada una de las tareas.
•Los requisitos del Product Backlog se dividen en partes, para transformarlos en tareas que tienen como máxima duración 16 horas.

3.Sprints cortos, entregas frecuentes:
•El mercado exige ciclos de desarrollo cortos.
•El sprint de requisitos o “sprint backlog”, es una lista en la que se detalla cómo se van a construir los diferentes requisitos del producto.
•Cada sprint suele realizarse en un plazo de entre 2 y 4 semanas. El objetivo es entregar algo que funcione, para que el usuario realice pruebas y se puedan modificar los cambios necesarios, lo que permite garantizar flexibilidad.

Roles dentro de SCRUM



Existen en Scrum, 2 roles. Los “Esenciales (cerdos)” y los “Implicados (gallinas)”.
Se les dice cerdos y gallinas según el chiste:
-La gallina mira al cerdo y dice:
"Hey, ¿por qué no abrimos un restaurante?"
-A lo que el cerdo responde:
"Buena idea, pero ¿Qué nombre le ponemos?"
-La gallina contesta:
"¿Por qué no le ponemos "Huevos con jamón?"
-A lo que el cerdo responde:
"¡Estás loco! ¡Tu pones un huevo y a mí me cortan en pedacitos!"

Según esto los Actores Esenciales (Cerdos), los que están realmente comprometidos con el proyecto:
•El product owner o dueño del producto: representa la voz del cliente y aporta la visión de negocio. Se encarga de redactar las “historias de usuario”, les da prioridad y las ubica en la lista de requisitos del producto.
•El ScrumMaster o facilitador: Debe dejar el camino libre de obstáculos e impedimentos para que el resto del equipo consiga el objetivo del sprint.
•El Equipo: Deben entregar el producto a toda costa. Lo ideal es que incluya entre 5 y 9 miembros, y que pertenezcan a diferentes disciplinas (desarrolladores, diseñadores, etc.).

Actores implicados (Gallinas), los que deben ser tenidos en cuenta:
•Los usuarios del producto o aplicación.
•Los clientes y vendedores.
•Los gestores y directivos.

Reunión diaria. Transparencia total






















Un ítem fundamental en SCRUM, es la reunión diaria de todo el equipo. Tiene que hacerse de la siguiente forma:
• La reunión es diaria y se hace siempre a una hora predefinida, normalmente por la mañana. Es importante que todos los miembros del equipo acudan puntuales.
• La reunión debe durar alrededor de 15 minutos y se realiza de pie, para mantener el máximo de concentración y atención.
• Todos los roles son bienvenidos, pero sólo los “Cerdos” pueden hablar
• En la reunión se realizan las siguientes 3 preguntas clave:
1. ¿Qué has hecho desde ayer?
2. ¿Qué tienes planeado hacer mañana?
3. ¿Has encontrado algún problema para conseguir tu objetivo?
• Uno de los puntos más importantes es La transparencia:
Todos los miembros saben que están haciendo los demás, y los problemas deben ser comunicados y conversados de inmediato, cuanto se detectan.

Para finalizar, SCRUM permite la creación de equipos motivados, auto-organizados, transparentes y con total comunicación. Con esta metodología, el usuario gana protagonismo y el cliente se convierte en parte del equipo de desarrollo.















Algunas aplicaciones ágiles
Rally : Todo el ciclo del proyecto
Cubre todo el ciclo del proyecto, y permite crear un flujo entre la labor de los gestores, desarrolladores y responsables de testing. Está centrado en las siguientes funciones: Organización del proyecto, el reporte y control, la planificación y seguimiento, gestión de calidad, colaboración de equipos, customización e integración, y administración de permisos.

Scrumdesk: Hecho para scrum
Es una herramienta de gestión diseñada específicamente para trabajar con SCRUM, automatiza los procedimientos básicos de SCRUM, como el product backlog, el sprint backlog o las historias de usuario.

Cardmeeting: Enseña tus cartas
Es una herramienta de colaboración simultánea en la que los usuarios pueden ir añadiendo sus cartas con ideas, conceptos, tareas, etc. Ideal para el brainstorming, la planificación ágil, o simplemente para fijar y compartir las ideas con otros usuarios. Las cartas pueden clasificarse luego en diferentes categorías temáticas y colores, de forma que podemos asignar un orden a las ideas formuladas de manera dispersa.

Primera etapa

Para el jueves 31/03/2011 traer lista la empresa y área a enfocarse
- Aplicación Web
- Control de Asistencia
- Control de inventario
Ejemplos de aplicaciones web para los temas mencionados.

además investigar sobre software para el control de versiones.
decidir en que se va a construir.

Buscar herramientras de desarrollo rápido(Frameworks).