Professional Documents
Culture Documents
rrollo de Sistem
Anlisis y Desa
n.
de Informaci
i
c
a
Inform
o
ll
o
r
r
a
s
e
d
e
d
o
t
Procedimien
SENA
ADSI
Fase de Desarrollo
Ao 2013 - Edcin 01
Procedimiento de desarrollo
s
a
m
e
t
Sis DE
Contenido
1.
Objetivo
2.
Alcance
3.
Fases
4.
Especificacin de cada fase
4.1. Fase de Definicin de los requerimientos
4.2. Fase de Anlisis
4.2.1.
Estudio del entorno tecnolgico
4.2.2.
Eleccin de la Arquitectura de Desarrollo
4.2.3.
Diagramas de Anlisis del Sistema
4.3. Fase de Diseo
4.3.1.
Diseo de la Base de Datos
4.3.2.
Diseo de Archivos (Diccionario de Datos)
4.3.3.
Diseo de Entradas y Salidas
4.3.4.
Diseo de Casos de Uso
4.3.5.
Diseo de Clases
4.3.6.
Diseo de Interface
4.3.7.
Diseo de Navegabilidad
4.3.8.
Diseo de Seguridad y Control
4.4. Fase de Construccin
4.4.1.
Relacin con el diseo
4.4.2.
Uso de convenciones durante la fase de construccin
4.4.2.1.
Convenciones en bases de datos
4.4.2.2.
Convenciones de Programacin
4.4.3.
Arquitectura o Programacin en 3 capas
4.4.3.1.
Capa de presentacin:
4.4.3.2.
Capa de negocio:
4.4.3.3.
Capa de datos:
3
3
3
4
4
10
10
11
16
19
19
20
21
21
22
23
24
24
25
25
25
26
28
39
40
40
41
Procedimiento de Desarrollo
1.
Objetivo
Establecer el procedimiento a seguir para el desarrollo de un nuevo
proyecto, identificando las principales etapas, actividades y
artefactos necesarios en cada una de ellas, con el fin de
proporcionar una gua til para el Analista y Desarrollador de
Sistemas de Informacin.
2.
Alcance
Este procedimiento aplica solo para proyectos nuevos e inicia con la
especificacin de los requerimientos del proyecto y termina con la
construccin del mismo.
3.
Fases
Las fases que se tendrn en cuenta son las siguientes:
a.
Definicin de los requerimientos
b.
Anlisis
c.
Diseo
d.
Construccin
Contrato pre desarrollo
Denicin de
requerimientos
Requerimientos
incompletos
Anlisis incompleto
Requerimientos
No viables
Administracin de Requerimientos
4.
Planeacin
Extraccin
Anlisis
Especificacin
Validacin
Propsito
Conocer
la
idea
Fuente
principal
Tcnica
escrita
de
Entrevista
alto nivel
Comprender el funcionamiento actual Usuarios del
del
2
sistema,
necesidades,
principales
identificar
identificar
procesos y
cmo
llevan a cabo.
sus sistema
sus actual,
Varias
se formatos
empleados.
debe contener.
de
los
usuarios,
formatos
4
5
Cliente lder
Entrevista,
encuesta o
sesin
grupal
Entrevista
Prototipos
R1
R1
R2
R3
R4
R2
R3
R4
2
0
Objetos
Casos de uso
Orden
Qumico
Solicitante
Proveedor
Ingresar orden
Cambiar orden
U,D
Gestionar
inventario
de
qumicos
C,U,D
Reporte de rdenes
Editar solicitantes
R
C,U,R
Table of Contents
Ambiente
Windows
Introduction............................................................................................................................4
1.1 Purpose...........................................................................................................................4
1.2 Document Conventions............................................................................................4
1.3 ProjectoScope...............................................................................................................4
1.4 References......................................................................................................................4
2 System Descriptios...........................................................................................................4
3 Functional Requirements..............................................................................................4
3.1 System Features...........................................................................................................5
3.1.1 System Feature 1...................................................................................................5
3.1.2 System Feature 2...................................................................................................5
3.2 Use Cases........................................................................................................................5
3.2.1 Use Cases Diagrams.............................................................................................5
3.2.2 Use Case 1................................................................................................................6
3.2.3 Use Case 2................................................................................................................6
3.3 Entity Relationship Diagrams...............................................................................6
3.4 Data Dictionary............................................................................................................6
3.4.1 Entity 1......................................................................................................................6
3.4.2 Entity 2......................................................................................................................6
4 External Interface Requirements..............................................................................6
5 Technical Requirements (Not functional).............................................................6
5.1 Performance.................................................................................................................6
5.2 Scalability.......................................................................................................................6
5.3 Security...........................................................................................................................6
5.4 Maintainbility...............................................................................................................6
5.5 Usability..........................................................................................................................6
5.6 Multi lingual Support................................................................................................6
5.7 Auditing and Logging................................................................................................6
5.8 Availability.....................................................................................................................6
6 Open Issues.........................................................................................................................7
Herramientas
Descripcin
Cundo seleccionarlo
emplear
que
JSP,
Planeacin
Extraccin
Entrevista al
cliente lder
Informacin
incoherente
Requerimientos
no factibles
Usuarios del
sistema
Requerimientos de usuario
Propsito, objetivos y
alcance del proyecto
definido, usuarios y
procesos
identificados,
informacin escrita
de alto nivel.
Comportamiento
actual del distema,
procesos, necesidades
Anlisis
Informacin coherente,
requerimientos estables
Firma del
contrato de
desarrollo
Cliente lder,
representate
usuarios
Datos necesarios,
informacin requerida
por el sistema.
Especificacin
11
Descripcin
Herramientas a
Cundo seleccionarlo
emplear
tpicos
como pocos;
desde
cuando
la
Java
se
requiere
de
que
JSP,
por
cuando
los HTML,
CSS,
la HTML5
Ajax,
extremas.
que
ejecutan
ambiente interaccin
en
se una
alta
velocidad
con
el
cuando
la C, C++, QBasic,
Pascal,
controles
prediseados pocos
computadores;
cuando
la HTML5
Ajax,
la aplicacin
se requiere
aplicacin no
requiera de
JQuery
Procedimiento
de desarrollo
de Sistemas
de informacin
que el equipo est en la velocidades de ejecucin
red del servidor.
extremas.
que
ejecutan
ambiente interaccin
en
se una
alta
velocidad
con
el
cuando
la C, C++, QBasic,
Pascal,
prediseados pocos
computadores;
casillas
de grandes
volmenes
de
Estas aplicaciones se
caracterizan porque son
accedidas desde
dispositivos mviles
como celulares o PDAs,
SmartPhones o Tablets.
Mvil
En este ambiente, la
informacin puede residir
en el dispositivo mvil o
en un servidor y ser
accedida desde el
de
mviles;
dispositivos
cuando
los
cuando
acceso
informacin
se
a
la
sin
puesto de trabajo.
dispositivo mvil.
13
14
15
Inicio
No
Existen
restricciones
Si
Son aptas
para
No
Si
No
Se tiene la
experiencia
Si
Tecnologa Seleccionada
Fin
texto,
casillas
de grandes
volmenes
de
Diagrama
Qu representa
Cuando Hacerlo
otros
se
desee
mejor
funciona
el
sistema actual.
Siempre
de
requerimientos
que
el
Clases
sistema,
comportamiento.
sus
datos
que
y construccin
de
la
la
17
Los se
desee
Transicin de
estados
conocer
pasa
un
objeto
en
sistema.
un
existan
dentro
del
las
condiciones requeridas
para
pasar
de
un
estado a otro.
La secuencia de pasos lgicos Cuando
Actividades /
Flujo
existan
que
se
deseen
18
TRATAMIENTOS
TraNumero
TraFechaAsignado
TraDescripcion
TraFechaInicio
TraFechaFin
TraObservaciones
TraPaciente
1
PACIENTES
PacIdentificacion
1
PacNombres
PacApellidos
PacFechaNacimiento
PacSexo
CITAS
CitNumero
CitFecha
CitHora
CitPaciente
CitMedico
CitConsultorio
CitEstado
CitObservaciones
19
MEDICOS
MedIdentificacion
MedNombres
MedApellidos
CONSULTORIOS
ConNumero
ConNombre
Cliente
Tipo
Numrico
Carcter
Tamao
4
50
Not Null PK FK
X
X X
X
Default
Constraint
Descripcin
Identificador del cliente
Razn social de la empresa
Tabla
Nombre
Id_prod
nomb_prdo
cto_uni
Producto
Tipo
Numrico
Carcter
Numrico
Tamao
7
80
3
Not Null PK FK
X
X X
X
X
Default
Constraint
Descripcin
Identificador del producto
Nombre del medicamento
Valor de cada medicamento
20
ZONA DE TITULO
Zona de
logotipo
Zona de movimiento de
registros
NOMBRE
TELFONO
REGISTRAR
Registrar cliente
Validar usuario
Generar Factura
IDFACTURA
Generar factura
FECHA
VALOR
21
GENERAR
TFAboutBox
+TFAboutBox(inout AOwuner:TComponent*)
+Datos(in producto:UnicodeString, in proyecto:UnicodeString,
in autor:UnicodeString,in version:UnicodeString)
TGrafica
-pb: TPaintBox*
-im: TImage*
-y: unsigned it [][]
-x: unsigned short
-habilitada: bool
+TGrafica(in pb:TPaintBox*,in im:TImage*)
+estado(in habilitada:bool)
+limpiar()
+aadir(in valores:unsigned short*)
-pintar(inout Sender:TObject*)
TActuador
-hLib: HINSTANCE
-oup32fp: oupfuncPtr
-habilitado: bool
-error: bool
-cadenaError: UnicodeString
+TActuador()
+~Tactuador()
+movimiento(in accion:AC_Accion_t,in giro:GI_Giro_t): bool
+habilitar(in activo:bool)
+inicializador(): bool
+estadoError(): bool
+textoError(): UnicodeString
-puerto(in const short:valor): bool
22
TFAboutBox
-con: TConexion*
-actuador: TActuador*
-grafica: TGrafica*
-conectado: bool
-continuar: bool
-manual: bool
-inicializarGiro: bool
-cargarPerfil: bool
-perfilCargado: bool
-ficheroPerfil: UnicodeString
-ficheroINI: UnicodeString
-imgCasco: unsigned short
-imgFlechasAB: unsigned short
-imgFlechasID: unsigned short
-VERSION: UnicodeString
-BUILD: UnicodeString
-FECHA_VERSION: UnicodeString
-NOMBRE: UnicodeString
-PROYECTO: UnicodeString
-AUTOR: UnicodeString
+TFMain(in Owner:TComponent*)
-registro(in ac:AC_Accion_t,in activoAB:bool,
in activoID:bool)
-estado(in ES_Estado_T:es)
-senal(in sn:SN_Senal_T)
-bateria(in carga:int,in maxima:int)
-fuerza(in fu:unsigned short)
-desviacion(in inc:short)
-entrenamiento(in fichero:UnicodeString,
in nivel:float)
-formulario()
-editsServidor(in activo bool)
-labelsTiempoConexion(in activo:bool)
-labelsFicheroPerfil(in activo:bool)
-accionManual(in ac:AC_Accion_tin gi:GI_Giro_t)
-imagenCasco(in estado_casco:bool,in contactos:int*)
-tiempoConexion(in tiempo:float)
23
26
Campos
- Los nombres de los campos deben emplear la convencin Pascal
Tipo
de
- El (los) campo(s)
definido(s) como llave principal
debe(n) estar al
Convencin
Ejemplo
Elemento
inicio de la tabla.
Pascal
Casing
Empleado
- El (los) campo(s)
definido(s)
como llave(s)
fornea(s) debe(n)
estar al final de la tabla, su nombre debe hacer
alusin a la tabla de
MovimientoDeTransaccion
Empezar
con
mayscula
la
clase procede y debe terminar con la letra F. Ejemplo:
donde
primera letra de existe
cada palabra
y
Si en la tabla PRODUCTOS
un campo
forneo que hace
alusin al cdigo
la categora de la tabla CATEGORIAS, este
en de
singular
campo se debe nombrar as:
Interfaces
27
impuesto
Variables
primerApellido
Prod_CategoriaF
donde:
Prod hace referencia a la tabla donde est el campo
Categoria indica que es un campo que hace alusin a la llave
principal de la tabla CATEGORIAS
F significa que es forneo.
4.4.2.2. Convenciones de Programacin
Para la codificacin del programa, es de vital importancia el manejo
de convenciones, pues gracias a ellas es posible reducir
significativamente el tiempo de desarrollo y los programas sern
ms claros y fciles de mantener.
-Convenciones para nombrar controles
Como regla general, para darle nombre a un control se debe
emplear un prefijo que indique el tipo de control, seguido de la
funcionalidad que este control debe realizar.
Ejemplo: para un men que permita salir de la aplicacin, el
nombre ms adecuado sera mnuSalir.
A continuacin, se ofrece una lista de algunos controles comunes
con su respectivo prefijo y ejemplo. Esta lista es de simple
ilustracin, se debe tener en cuenta que el prefijo a utilizar depende
directamente del nombre del control, por lo tanto, para controles
ausentes en la lista o controles personalizados, se debe emplear un
prefijo que describa claramente su tipo.
Sin
Identar
28
Control
Descripcin
Prefijo Ejemplo
Adodc
Datos ADO
ado
adoBiblio
Botn
de
Button
comando
btn
btnAceptar
Calendar
Vista de mes
mvw
mvwPeriodo
chk
chkSoloLectura
cbo
cboIngles
CommandButton comando
cmd
cmdSalir
CommonDialog
Datos comn
dlg
dlgAbrirArchivo
Data
Datos
dat
datBiblio
dtgrd
dtgrdResultadosConsulta
dblst
dblstTipoTrabajo
dir
dirSource
drv
drvDestino
dtp
dtpEditado
Casilla
CheckBox
de
verificacin
Cuadro
combinado,
cuadro de lista
ComboBox
desplegable
Botones
de
Cuadrcula
enlazada
DataGrid
datos
Cuadro de lista
enlazada
DataList
datos
Cuadro de lista
DirListBox
de directorios
Cuadro de lista
DriveListBox
de unidades
Selector
DTPiker
de
fecha
Cuadro de lista
29
FileListBox
de archivos
fil
filOrigen
Form
Formulario
frm
frmEntrada
Frame
Marco
fra
fraIdioma
Grid
Cuadrcula
grd
grdPrecios
Barra
de
desplazamiento
HScrollBar
horizontal
hsb
hsbVolumen
Image
Imagen
img
imgIcono
ImageList
ilsTodosIconos
Label
Etiqueta
lbl
lblMensajeAyuda
ListBox
Cuadro de lista
lst
lstCodigos
ListView
Visor de lista
lvw
lvwEncabezados
MAPI
Sesin MAPI
mps
mpsSesion
Menu
Men
mnu
mnuAbrirArchivo
MSComm
Comunicaciones
com
comFax
MSHFlexGrid Flexgrid
flex
flexPedidos
opt
optGenero
Panel
pan
panBotones
pic
picVGA
Hierarchical
Panel
Cuadro
PictureBox
imagen
ProgressBar
prgCargarArchivo
RichTextBox RichTextBox
rtf
rtfInforme
SatusBar
Barra de estado
sta
staFechaHora
Shape
Forma
shp
shpCirculo
Slider
sldEscala
TabStrip
Fichas
tab
tabOpciones
TextBox
Cuadro de texto
txt
txtApellido
Timer
Cronmetro
tmr
tmrAlarma
Barra
de
ToolBar
herramientas
tlb
tlbAcciones
TreeView
Visor de rbol
tre
treOrganizacion
UpDown
UpDown
upd
updDireccion
vsb
vsbIndice
Barra
VScrollBar
30
de
desplazamiento
de
-Convenciones de Codificacin
Cada lenguaje de programacin sugiere el uso de ciertas
convenciones para nombrar los elementos que forman parte del
cdigo fuente de un programa como las clases, variables,
constantes y mtodos, por ejemplo, VB.Net emplea la convencin
PascalCase que inicia con mayscula el nombre de los mtodos y
Java emplea la convencin Camel Casing, la cual inicia con
minscula sus mtodos. El desarrollador puede de acuerdo con el
lenguaje emplear una convencin u otra o simplemente puede
adoptar
una
convencin
para
todos
sus
proyectos
independientemente del lenguaje de programacin utilizado.
Ejemplo:
Tipo
de
Convencin
Elemento
Ejemplo
Pascal Casing
clase
Empezar
con
Empleado
mayscula
la
MovimientoDeTransaccion
Interfaces
Variables
Locales,
Parmetros
Mtodos
impuesto
primerApellido
salarioTotal
calcularPrestaciones()
guardar()
consultarSaldoActual()
31
Parmetros
Mtodos
calcularPrestaciones()
guardar() de informacin
Procedimiento de desarrollo de Sistemas
consultarSaldoActual()
Variables
Archivo
o g
gPaisOrigen
Clase
Variables
p
Mayscula
Constantes
sostenida,
si
su PI
IVA
-Indentacin
La indentacin facilita la lectura, comprensin del cdigo y el
seguimiento del flujo de un programa, es recomendado usar 3 o 4
espacios como indentacin entre cada bloque
Ejemplo en VB:
If (salario>salarioMinimo) Then
impueto=salario*0.1
End If
Ejemplo en C#
Sin
Identar
Identacin
estilo 1
32
Identacin
estilo 1
Procedimiento de desarrollo de Sistemas de informacin
Identacin
estilo 2
33
No recomendado:
While (cantAlumnos<alumnosTotales)
cantAlumnos++;
Sugerido:
While (cantAlumnos<alumnosTotales)
{
cantAlumnos++;
}
-Convenciones de los comentarios
Preferir los comentarios en lneas aparte que al final de una lnea
de cdigo.
Los comentarios deben estar en el mismo nivel de indentacin que
el segmento de cdigo a comentar.
Iniciar el texto del comentario con una letra mayscula.
Finalizar los comentarios con un punto.
Insertar un espacio entre el delimitador del comentario y el texto
del comentario.
Secciones de Comentarios
34
Encabezado
* Versin:
* Autor:
Formato
del
Encabezado
* Fecha:
[* Historial de modificaciones:
* Fecha
Descripcin Modificacin
Autor ]
*---------------------------------------------------------*/
35
/* Mtodo:
Encabezado
de
mtodos,
funciones
procedimient
os
* Descripcin:
* Autor:
* Fecha:
<dd-mm-aaaa>
* Descripcin de Parmetros:
[* Historial de modificaciones:
* Fecha
Descripcin Modificacin
Autor
*---------------------------------------------------------]
*/
Secciones
Mayores
Ejemplo
Seccin
Mayor
*/
..
/*----* Fin de Programa
*-----*/
36
Identacin
estilo 2
Procedimiento de desarrollo de Sistemas de informacin
Comentarios
de lnea
Ejemplo
comentario
Espacios
Blanco
en densos.
37
Cdigo Quemado
Cdigo
no
quemado
38
1. Capa de presentacin
CLIENTES
39
2. Capa de negocio
SERVIDOR DE
NEOCIACIN
3. Capa de datos
SERVIDOR DE
BASE DE DATOS
40
PACIENTES
1
PacIdentificacion
PacNombres
PacApellidos
PacFechaNacimiento
PacSexo
CITAS
CitNumero
CitFecha
CitHora
CitPaciente
CitMedico
CitConsultorio
CitEstado
CitObservaciones
MEDICOS
MedIdentificacion
MedNombres
MedApellidos
CONSULTORIOS
ConNumero
ConNombre
41
GLOSARIO
Artefacto: En el Lenguaje Unificado de Modelado (UML), un
artefacto es la especificacin de un componente fsico de
informacin que es usado o producido por un proceso de desarrollo
de software, o por el desarrollo y operacin de un sistema.
Back-end: En un aplicativo de software corresponde con la parte
que procesa los datos recibidos desde el front-end.
Constraint: Son restricciones que se definen desde el diseo de la
base de datos y permiten incorporar reglas a los datos.
10
CRUD:
es un acrnimo que se utiliza para denotar las cuatro
FAVA - a
Formacin
en Ambientes
Virtualeslos
de Aprendizaje
SENA - Servicio
Nacional de Aprendizaje
operaciones bsicas
desarrollar
sobre
datos Creacin
de datos
o insercin de los mismos (Create), lectura o consulta de datos
(Read), actualizacin de datos ( Update) y borrado o eliminacin de
los mismos (Delete)
42
BIBLIOGRAFA
Object Management Group (2013). UML.
disponible
http://www.omg.org/spec/UML/2.1.2/Superstructure/PDF/
43
en
CREDITOS
Control de documento
Construccin Objeto de Aprendizaje
Procedimiento de desarrollo de
Sistemas de informacin
Desarrollador de contenido
Andrs Julin Valencia
Experto temtico
44
Asesor pedaggico
Produccin multimedia