Professional Documents
Culture Documents
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA CIVIL EN COMPUTACIN
ESTNDARES DE CALIDAD
PROFESOR:
CURSO:
NARCISO CERPA
CONSTRUCCIN Y
VALIDACIN DE SOFTWARE
NDICE
1.- Introduccin
15
20
22
3.- Conclusin
26
4.- Referencias
27
5.- Anexos
28
Pgina 2
1.- INTRODUCCIN
A continuacin se presenta el Informe de Estndares de Calidad para el Sistema de
administracin de Causas del Estudio Jurdico Chacabuco, el cual contiene informacin
necesaria para realizar las actividades requeridas en el proceso de construccin e
implementacin del software.
Cabe sealar que para este informe se definieron estndares de diverso tipo, tales
como estndares de programacin, estndares de documentacin y estndares de evaluacin
de los procesos desarrollados. Finalmente, cabe decir que este informe constituye una
herramienta fundamental para el desarrollo de las actividades por parte de los integrantes
del equipo de trabajo durante el semestre.
Pgina 3
Ejemplo
AgendaAdministrativa
agregarCliente
Direccin
Estructura de un MXML:
Elemento
Observacin
<mx:operation
name
result
nameResult(event)fault="ErrorFaultHandler(event,
'name')"/>
</mx:WebService>
<mx:Script>
<![CDATA[
//algn cdigo
]]>
</mx:Script>
Todos los estados posibles para una clase en
particular del proyecto
Todo referente a aquellos componentes que van a
ir ingresados en el layout escogido para ese
archivo
Scripts
Estados
Componentes Visuales
Convencin Nombres:
Nombre
Convencin
Idioma
Nombres Variables
Nombres Mtodos
Nombre Clases
Nombre Estados
Estilo
Pgina 5
Informacin de clase
Cada clase debe contener las siguientes caractersticas comentadas previas al
desarrollo de cdigo:
Nombre de la clase.
Autor de la clase.
Fecha y hora de la clase.
Fecha ltimo testing realizado.
Pgina 6
Errores
Los errores que puede arrojar el cdigo van a ser manejados de la siguiente manera:
try
{
statements;
}
catch (e:Type)
{
statements;
}
Observacin
Por ejemplo:
import mx.controls.DateField;
public
class
myDateField
DateField
extends
Variables estticas
Constructor
Mtodos
Adems del hecho de crear los archivos .as en el proyecto de Flex, es necesario
crear una carpeta dentro de la carpeta src del proyecto, la que se llamar misClases y la
cual contendr en su interior todos aquellos que sea necesario crear por medio de un
ActionScript.
Anidacin de componentes
Debido a las caractersticas que presenta el lenguaje de Flex va a ser necesario
anidar los diversos componentes hijos que vaya teniendo algn componente en particular,
de modo de no perderse en cuanto al seguimiento y entendimiento del cdigo. Un ejemplo
de esto es lo siguiente:
Pgina 7
<mx:TabNavigator>
<mx:Container>
<mx:Button />
</mx:Container>
</mx:TabNavigator>
Formato
Indentacin
Una buena indentacin, nos hace ver el cdigo ms ordenado y fcil de
seguir (debug) a simple vista. Por ello vamos a definir que la indentacin la
haremos con un tab o tabulacin luego de abrir una llave para entrar ya sea a una
sentencia de control o clase de la siguiente manera.
public class Usuario()
{
prvate string nombre;
public static string retornaNombre()
{
return nombre;
}
}
Pgina 8
Pgina 9
Comentarios
Los comentarios son importantes al momento de entregar informacin y
nosotros los definimos de la siguiente manera:
Todos los comentarios que tienen ms de una lnea van a quedar entre /* */ los que
irn solos uno en la primera lnea y el otro en la ltima. Los que son de una lnea
irn luego de // de la siguiente forma.
// Comentario
/*
Descripcin: Este mtodo nos permite agregar un nuevo nombre al atributo de
la clase usuario
Entradas: Recibe como entrada un dato o parmetro de tipo string, el cual
contiene el nuevo nombre que ser guardado en la variable privada nombre
Salidas: Este mtodo no contiene ningn tipo de salida
*/
Sentencias de Control
Para las sentencias de control (if, while, for, else, switch) vamos a
estandarizar el buen uso de ellas. Para un if que contenga solo una lnea usaremos
de igual forma las llaves {} para que se vea claro lo que se est haciendo
if (dato==1)
{
return dato;
}
Al momento de tener varias sentencias que utilicen if y else estos quedaran de la
siguiente forma:
if(dato==1)
{
return dato;
}else if(dato == 2)
{
return dato;
}else
{
Pgina 10
return 0;
}
Forma incorrecta:
if(dato==1)
{
return dato;
}else {
if(dato == 2)
{
return dato;
}else
{
return 0;
}
}
Para el caso que se utilicen variables booleanas, estas quedarn de la siguiente
manera utilizadas en nuestras sentencias de control:
bool vacio = true;
if(vacio)
{
return dato;
}
Forma incorrecta:
if(vacio==true)
{
return dato;
}
De la misma forma para los while
while (vacio)
{
dato++;
}
Pgina 11
Forma incorrecta:
while(vacio==true)
{
dato++;
}
En caso del uso de switch, este se debe dejar en claro para que se va a utilizar y al
final de cada case debe ir el default
switch(opcion)
{
case 1:
// se hace algo
break;
default:
/*
Se puede imprimir un mensaje de opcin no vlida
*/
}
Convencin de Nombres
Nombres de Variables
Los nombres de las variables van a ir completos para su mayor
entendimiento, no por parte y siempre en minscula, se utilizar mayscula en la
primera letra de la palabra cuando sta est compuesta por dos nombres y estos
nombres no contendrn tilde:
string nombre;
int rutCliente;
string nombrePasaje;
string arbol;
Pgina 12
Forma incorrecta:
string Nombre;
int RutCliente;
string rbol;
string nomPje;
Pgina 13
Este punto es importante, puesto que, debemos ser claros con el idioma que
utilizamos al momento de declarar variables y mtodos, por ello, se definir que
utilizaremos 100% Ingls y no una mezcla entre espaol e ingls, o solo espaol.
Quedndonos as correctamente definido:
public class User()
{
prvate string name;
public static string returnName()
{
return name;
}
public static void receivesName(string newName)
{
this.name = newName;
}
}
Forma incorrecta:
public class Usuario()
{
prvate string nombre;
public static string getNombre()
{
return nombre;
}
Public static void setNombre(string name)
{
this.nombre = name;
}
}
Pgina 14
Uso de SVN
Los pasos a seguir para la utilizacin de SVN son los siguientes:
SVN (manejador de versiones), pasos a seguir para instalar SVN:
1. Bajar tortoiseSVN desde esta direccin http://tortoisesvn.net/downloads
2. Instalar tortoiseSVN de la forma normal
Equipo de Construccin de Software
Pgina 15
checkuot-
"Url
of
repository"
pagina
copiar
la
direccin contenida en
/estudio-juridico/
https://estudio-juridico.googlecode.com/svn/trunk/
7. Pegar en el espacio y dar "ok"
8. Ahora pueden descargar los archivos de svn haciendo click derecho>SVN update
ingresan
la
Pgina 16
es
importante
hacer
commit
sobre
el
Pgina 17
Una vez guardado este documento, se puede subir al SVN con las instrucciones
mencionadas con anterioridad.
Uso Bitcora
La bitcora lleva un formato similar, solo que se agregan campos con informacin extra.
Fecha:
Lugar:
Tareas (a realizar y/o pendientes)
Asistentes
Tarea Extra
Todos estos documentos con tamao de letra Times New Roman Tamao N12
Ejemplos de Bitcora
Minuta
Fecha: 1 Septiembre ao 2009
Lugar: Laboratorio ICC - Edificio Construccin
Tareas:
Organizacin Entrevista y recordatorio de tareas.
Javier Gonzlez: Analizador del entorno.
Cesar Ortiz: Entrevistador Asistente y Secretaria.
Felipe Venegas: Tomador de Notas
Alex Rojas: Captura de audio.
Mauricio Caroca: Entrevista Abogado
Tareas Pendientes:
.-Definicin de formato (documentos y presentaciones al ayudante)
.-Definir una fecha para organizacin de todo lo respecto a entrevista
.-Recopilacin de informacin con respecto a la entrevista.
.-Preparacin y asignacin en la entrevista del viernes.
.-Determinacin de reunin extra-programtica (mircoles 2 de
Septiembre 13:00 hrs).
Pgina 18
Mauricio Caroca
Javier Gonzlez
Csar Ortiz
Felipe Venegas
Tareas:
- Subir formato para informes (estndar) @mcaroca
- Subir info de grupo pasado @cortiz
- Subir audios y fotos, etc. @TODOS
- Transcribir notas de entrevista @fvenegas
- Buscar templates de informe de requerimientos @fvenegas @cortiz
- Resto de las tareas tenerlas a ms tardar el Viernes.
- Se fija reunin para da Domingo 6 de Septiembre a las 12:00 en
Pgina 19
Control Semanal:
Control de Release:
Evaluacin Final:
Evaluacin del producto Final: Completitud y calidad del producto. 95% de las
funcionalidades es una cota aceptable.
Pgina 20
Pgina 21
Pgina 22
pertenecen
Ejemplo:
CREATE DATABASE AbogadosDB;
use AbogadosDB;
CREATE TABLE usuario (
apodo VARCHAR(50) NOT NULL ,
rut VARCHAR(8),
nombre VARCHAR(100),
apellido VARCHAR(100),
direccion VARCHAR(300),
PRIMARY KEY (apodo) ;
INSERT INTO usuario(id, rut, nombre, apellido, direccion)
VALUES(victor,Victor,Silva,casa 2);}
4. Comentarios
MySQL y otros manejadores de base de datos, soportan distinta sintaxis para anotar
comentarios, los cuales se muestran a continuacin:
Sentencia para una sola lnea comentada de principio a final:
#Sentencia que rescata todos los usuarios de la base de datos
Sentencia para varias lneas o espacios cortos
/* comentario dentro de la lnea */
Pgina 23
5. Sentencias SQL
A continuacin se describe la sintaxis de los comandos o instrucciones ms usados
en SQL y la forma en cmo deben estructurarse.
SELECT
La estructura para recibir registros seleccionados desde una o ms tablas es la siguiente:
SELECT + campo(s) + FROM + Nombre_Tabla(s) + WHERE condicin;
Ejemplo:
SELECT nombre FROM usuario WHERE apellido = Silva;
INSERT
La sintaxis de INSERT se utiliza al momento de insertar nuevos registros en una
tabla existente en la base de datos. Sintaxis:
INSERT + INTO + NombreTabla () + VALUES ( (datos), (...), (...) );
Ejemplo:
INSERT INTO usuario(nombre, rut,) VALUES (Victor, 16166068-k);
DELETE
Se encarga de borrar los registros de la tabla seleccionada que satisfacen la
condicin dada por where_definition.
nombre_columna1=expresin,
Pgina 24
Ejemplo:
UPDATE usuario SET nombre = Claudio, nombreAntiguo, WHERE nombreAntiguo =
nombre;
6. Procedimientos almacenados
Con Mysql workBench se pueden definir procedimientos al interior de la base de
datos para evitar consultas tediosas desde c#,
Un procedure tiene la siguiente estructura:
-- --------------------------------------------------------------------------------- Routine DDL
-- -------------------------------------------------------------------------------DELIMITER $$
CREATE PROCEDURE `mydb`.`routine1` ()
BEGIN
END$$
Usos simples de estas estructuras es el realizar procedimientos genricos como bsquedas,
un ejemplo de esto sera el siguiente cdigo:
CREATE PROCEDURE `mydb`.`busquedaGenerica` (String tipobusqueda )
BEGIN
if(tipoBusqueda==1){
select * from usuario;
}else
if(tipoBusqueda==2){
select * from cliente;
} else
if(tipoBusqueda==3){
......
END$$
Luego la consulta necesaria para rescatar los datos que se deseen sera:
Call DB.busquedaGenerica(tipoBusqueda);
Pgina 25
3.- CONCLUSIN
El informe de Estndares de Calidad muestra los distintos estndares creados, que
nos permiten controlar la calidad de las actividades que se realizan durante el semestre en la
etapa de construccin e implementacin del sistema.
Sin duda, este informe junto al Informe de Testing constituyen una parte
fundamental para la elaboracin de la etapa de construccin y validacin de Software.
Durante esta etapa, se debe seguir al pie de letra los estndares de programacin,
documentacin y evaluacin con motivo de que las clases construidas por los miembros de
un equipo queden similares entre unas y otras.
Pgina 26
4.- REFERENCIAS
I. Sommerville, Ingeniera del Software. 7ma. Edicin.
7. R. S. Presuman, Ingeniera del Software Un enfoque prctico. 6ta. Edicin.
Documento de Especificacin de Requisitos, Equipo de Diseo 2010.
Pgina 27
5.- ANEXOS
PLANTILLA DE CONTROL DE CALIDAD CRUZADO
Nombre Control
Fecha
/ 2010
Nombre Programador
Producto evaluado
ESTNDARES DE CALIDAD
Completitud de estndares
Formato
Programacin C#
Programacin Flex
Documentacin
Cumplido:
No cumplido
Estndares incumplidos
Observaciones
Pgina 28
Nombre Encargado
Fecha
Nombre Control
/ 2010
Nombre Programador
Producto evaluado
EVALUACIN CONTROL DE CALIDAD
Estndares de Calidad
Vlido
% Formato
Invlido
Vlido
% Sugerido
Invlido
% Sugerido
Programacin C#
Programacin Flex
Documentacin
Validado
No validado
Observaciones
Pgina 29
Tipografa
Tipografa escogida: Droid Sans (Descargada desde http://code.google.com/webfonts)
Datos Tipografa Seleccionada
Steve Matteson
Droid Sans
Apache License
26kb (.zip)
Diseador
Nombre de Fuente en la API
Licencia
Peso Asociado (kb)
Caracteres asociados: Una lista con todos los caracteres que posee la tipografa en cada
uno de sus tamaos.
!
/
=
K
Y
g
u
"
0
>
L
Z
h
v
#
1
?
M
[
i
w
$
2
@
N
\
j
x
%
3
A
O
]
k
y
&
4
B
P
^
l
z
'
5
C
Q
_
m
{
(
6
D
R
`
n
|
)
7
E
S
a
o
}
*
8
F
T
b
p
+
9
G
U
c
q
,
:
H
V
d
r
;
I
W
e
s
.
<
J
X
f
t
Tipo de Letra
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Tamao (px)
12
12
12
12
12
14
12
14
16
Tipo
Simple
Simple
Simple
Simple
Simple
Simple
Simple
Simple
Simple
Pgina 30
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Droid Sans
Droid Sans
10. Subttulo
11. Zona de Texto
12. Tooltip
13. Ayuda Titulo
14. Ayuda Subtitulo
15. Ayuda Texto
14
12
08
16,14,12
14
12
Simple
Simple
Simple
Simple
Simple
Simple
Gramtica
Frases: Toda palabra que comience una sentencia de exposicin de informacin (ej,
Listado de clientes:) o solicitud de ellos (ej, Fecha de inicio:), debe llevar su primera letra
en mayscula.
Palabras: Todas las palabras del sistema, ya sea que estn en botones, tabBars, dataGrids,
etc., deben comenzar con mayscula. (ej, Buscar, Agenda, Tribunal).
Excepciones:
Los nombres de nuestros servicios o mdulos deben escribirse con mayscula en su
primera letra.
En la barra de mdulos, los nombres de stos deben ir en mayscula (toda la
palabra).
Lenguaje: En la interfaz de usuario, todo debe ir escrito en espaol.
conos
Color y tamao
A continuacin se muestra una tabla en la que se especifican, de acuerdo al tipo de
cono y la ubicacin de este dentro del sistema, el color y el tamao de los iconos a ser
diseados. Para el color solo se especifica la luminosidad, ya que el color depender del
diseo que quiera realizar, la luminosidad indicada como alta, media o baja solo indica que
iconos debern resaltar por sobre los dems en cuanto al color (los colores con luminosidad
alta debern resaltar por sobre los de luminosidad media y baja). Por otra parte, el tamao
viene dado en pixeles, y depende del espacio disponible en el lugar donde se quiera poner
los iconos.
Tipo de icono
Ubicacin
Tamao (px)
Color (luminosidad)
Accin
Accin
Barra de herramientas
MenuBar
24X24
16x16
Media
Baja
Pgina 31
Accin
Link
Link
Link
Modulo
Modulo
Modulo
24x24
24X24
16x16
24x24
24X24
16x16
24x24
Alta
Media
Baja
Alta
Media
Baja
Alta
Nombre Archivo
Modulo Externo
externo.png
Icono
Nombre Archivo
Modulo Cliente
cliente.png
Modulo Causa
causas.png
Modulo Agenda
agenda.png
Agenda Econmica
agendaecon.png
Modulo Usuarios
usuarios.png
Comunicacin
comunicacin.png
Modulo Privilegios
privilegios.png
Modulo Bitcora
bitcora.png
Mensaje Ayuda
ayuda.png
Icono
Barra de Herramientas,
Herramientas Acorden y MenuBar
Nombre Archivo
word.png
Icono
excel.png
internet.png
Pgina 32
Icono
Nombre Archivo
editar.png
Icono
eliminar.png
buscar.png
cortar.png
copiar.png
listar.png
mostrar.png
validar.png
asignar.png
enviar.png
abrirsesion.png
cerrarsesion.png
abrirarchivo.png
imprimir.png
guardar.png
deshacer.png
rehacer.png
herramientas.png
mover.png
adjuntar.png
estadstica.png
mensajera.png
actualizar.png
cambiarusuario.png
recados.png
bitacoraMI.png
bitacoraRecado.png
papelera.png
vaciar.png
restriccin.png
rmodulo.png
Restriccion General
rinstancia.png
msjeayuda.png
msjeerror.png
msjeok.png
msjeadvertencia.png
salir.png
aceptar.png
Salir generico
cancelar.png
Pgina 33
Barra de Mdulos
Pgina 34
En sta, se encontrarn
ontrarn todos los nombres de los mdulos (o secciones) que nosotros
definimos para nuestro sistema. Es un elemento de barra de botones (ButtonBar) y al
hacer click en cualquiera de ellos, se podr acceder al mdulo escogido.
Barra de Accesos Directos
Aqu se encontrarn todos loc accesos directos a aplicaciones externas que el usuario escoja
(como por ejemplo Microsoft Word, Excel, PowerPoint, etc) y adems, aquellos que son de
ayuda, herramientas y control de eventos (atrs, adelante, actualizar, etc.) que son propios
del sistema.
Panel de Identificacin
Una vez que el usuario haya ingresado al sistema
mendiante la interfaz externa, podr ver en la parte
superior derecha un sector de identificacin en el cual
tendr la opcin de salir del sistema
ma mediante el cierre
de sesin.
Panel del Logotipo
En l, se mostrar la imagen del logotipo corporativo
de la empresa, en nuestro caso, el del Estudio Jurdico
Chacabuco.
Panel de Recados
Pgina 35
Contactos
Eugenio Urrutia
Juan Pablo Pia
Panel de Requerimientos
Calendario
El calendario es uno de los componentes que
utilizaremos para los requisitos asociados al mdulo
Agenda. A travs de l, queremos dar a conocer al
usuario los eventos para un da en especfico,
permitiendo en lo posible, acceder desde este
componente al mdulo correspondiente.
**Puede ser arrastrado y ubicado donde el usuario estime
conveniente.
Pgina 36
Panel de Avisos
Mdulo Clientes
El diseo de este mdulo del sistema contempla trabajar con pestaas para
aprovechar de mejor manera el espacio o rea de trabajo y permite al usuario hacer todas
las opciones que ofrece el mdulo Clientes, mantener a un cliente en particular, listar todos
los clientes, buscar alguno en particular y tambin se da la posibilidad de conectarse a las
diversas Causas que estn asociadas a l. Los elementos que utiliza el mdulo Clientes son
bastante bsicos para que no compliquen al usuario, como botones o listas y campos de
texto.
Pgina 37
Mdulo Causas
Similar al mdulo Clientes, Causas tambin utiliza pestaas para trabajar con los
diversos elementos dentro de este mdulo, pero adems ofrece un componente de Flex
llamado acorden que tambin permite ahorrar espacio en el rea de trabajo
trabaj y da una mejor
visibilidad a la gran cantidad de opciones que contiene este mdulo. Adems, se puede ver
que utiliza componentes bsicos como listas y botones que hacen que el usuario no se vea
complicado a la hora de interactuar con alguno de estos elementos.
elem
Mdulo Agenda
Pgina 38
Mdulo Usuario
Pgina 39
Mdulo Comunicacin
Pgina 40
Mdulo Papelera
La papelera del sistema contiene las mismas opciones que tienen las papeleras de
los diversos sistemas operativos que existen en el mercado. Esta le da la posibilidad al
usuario de observar por medio de una lista todos aquellos elementos eliminados y
clasificados de acuerdo al mdulo en el que se elimin, as como tambin permite la
posibilidad de restaurar algn elemento en particular o de suprimirlo definitivamente.
Mdulo Privilegios
Pgina 41
Mdulo Bitcora
En esta imagen se puede observar los diversos componentes que se utilizaron para
armar el diseo del mdulo Bitcora. Se puede observar que se utiliza un acorden para
almacenar todas las opciones que se pueden hacer en este mdulo, as como un botn para
Limpiar las acciones y una lista en la que aparecen todas las acciones detalladas resultantes
de los filtros que se hicieron.
Pgina 42
Mdulo Ayuda
Este diseo de la interfaz para la ayuda tiene relacin a la ayuda esttica, es decir,
para aquella ayuda a la que el usuario puede consultar y que es similar a la que tiene la gran
mayora de los software utilizados y que refleja solo una parte de lo que va a significar la
ayuda en el sistema. Este diseo lo que tiene es una barra de navegacin en la cual el
usuario puede acceder a las diversas pginas de consulta que vaya visitando, as como
tambin
in acceder a la lista de los contenidos que tiene el sistema para mostrar. Esta lista de
contenidos se despliega como un rbol en el que el usuario puede acceder a diversos temas
de ayuda. El diseo contempla un rea en la que se despliega los resultados de la bsqueda
as como tambin la explicacin de algn tema en particular que el usuario haya buscado.
Pgina 43
En el home de nuestra aplicacin, se mostrarn las publicaciones que los usuarios estimen
convenientes.
En ella, podemos identificar un banner en la parte superior de la interfaz, que contendr el
logotipo del Estudio Jurdico Chacabuco.
Seguido ms debajo de una barra con los diferentes tpicos que se presentarn en la interfaz
externa, como Quines somos?, Nuestra ubicacin, Enlaces de inters, etc.
Pgina 44
Y finalmente,
ente, a su derecha, el rea de ingreso tanto para usuarios como para clientes, los
cuales ingresarn al sistema interno y de citas - envo de documentos respectivamente.
Pgina 45
Pgina 46
Pgina 47
Pgina 48
Pgina 49