Beruflich Dokumente
Kultur Dokumente
rrollo de Sistem
Análisis y Desa
e m a s
n.
t
de Informació
Sis DE
Inform a c i ón
Procedimiento de desarrollo
o d e d e s a r r o ll o
Procedimien t
Año 2013 - Edción 01
Fase de Desarrollo
ADSI
SENA
Contenido
1. Objetivo 3
2. Alcance 3
3. Fases 3
4. Especificación de cada fase 4
4.1. Fase de Definición de los requerimientos 4
4.2. Fase de Análisis 10
4.2.1. Estudio del entorno tecnológico 10
4.2.2. Elección de la Arquitectura de Desarrollo 11
4.2.3. Diagramas de Análisis del Sistema 16
4.3. Fase de Diseño 19
4.3.1. Diseño de la Base de Datos 19
4.3.2. Diseño de Archivos (Diccionario de Datos) 20
4.3.3. Diseño de Entradas y Salidas 21
4.3.4. Diseño de Casos de Uso 21
4.3.5. Diseño de Clases 22
4.3.6. Diseño de Interface 23
4.3.7. Diseño de Navegabilidad 24
4.3.8. Diseño de Seguridad y Control 24
4.4. Fase de Construcción 25
4.4.1. Relación con el diseño 25
4.4.2. Uso de convenciones durante la fase de construcción 25
4.4.2.1. Convenciones en bases de datos 26
4.4.2.2. Convenciones de Programación 28
4.4.3. Arquitectura o Programación en 3 capas 39
4.4.3.1. Capa de presentación: 40
4.4.3.2. Capa de negocio: 40
4.4.3.3. Capa de datos: 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 guía útil para el Analista y Desarrollador de
Sistemas de Información.
2. Alcance
Este procedimiento aplica solo para proyectos nuevos e inicia con la
especificación de los requerimientos del proyecto y termina con la
construcción del mismo.
3. Fases
Las fases que se tendrán en cuenta son las siguientes:
a. Definición de los requerimientos
b. Análisis
c. Diseño
d. Construcción
Contrato pre desarrollo
Diseño incompleto
Construcción
• Planeación
• Extracción
• Análisis
• Especificación
• Validación
Objetos
Ingresar orden C R R R
Gestionar inventario de
químicos C,U,D
Reporte de órdenes R R R
Table of Contents
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
Herramientas
6 Open Issues.........................................................................................................................7 a
Ambiente Descripción Cuándo seleccionarlo
emplear
Por último en la fase de definición de los
Recibe este nombre las Cuando la aplicación va a
requerimientos, se debe realizar la validación de
aplicaciones
la basadas en serrecolectada,
información utilizada desdeeste
un solo
es un proceso
formulariosque se hace
o ventanas con el clienteo líder,
y computador en el cual se
desde
controles solicita revisar
típicos como uno a uno
pocos; cuandolos requerimientos
la
definidos y hacer sus sugerencias, este proceso
botones, cajas de texto,
se realiza información
hasta que gestiona
que el cliente líder se .NET
encuentre
menús. Las totalmente
aplicaciones de acuerdo no
la aplicación con debela ser
especificación
(WinForms),
Windows
final de
en este ambiente los compartida
tienen requerimientos
entre los yPc’ses Delphi,
en esteJava
momento donde se debe firmar el contrato de
que ser instaladas en que ejecuten la aplicación; Swing …
desarrollo, creando un compromiso donde el
cada computador donde cuando
desarrollador se requierea de
se compromete realizar cada
uno de los requerimientos
se desee utilizar. buena velocidad yespecificados
buena y el
cliente se compromete a no solicitar ningún otro
presentación; muy útil para
requisito que no esté dentro de estos
requerimientos el manejo de gráficos.
especificados.
Recibe este nombre las Cuando la aplicación deba
aplicaciones que son ser accedida por varios
accedidas a través de los usuarios desde diferentes PHP, JSP,
8 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
navegadores Web. Este lugares; cuando los datos ASP.NET,
tipo de aplicaciones son de la aplicación deban ser JavaScript,
Procedimiento de desarrollo de Sistemas de información
Falta información
Propósito, objetivos y
Planeación Extracción alcance del proyecto
definido, usuarios y
Cliente líder identificado, procesos
Instrumentos diseñados, Entrevista al identificados,
Citas concertadas. cliente líder información escrita
de alto nivel.
Información
incoherente Usuarios del
Comportamiento
sistema
actual del distema,
procesos, necesidades
Requerimientos Requerimientos de usuario
no factibles
Análisis
Información coherente,
Firma del requerimientos estables
contrato de
desarrollo Cliente líder,
representate
usuarios
Cliente líder conforme y Datos necesarios,
requerimientos factibles información requerida
por el sistema.
Validación Especificación
Línea base de requerimientos
Herramientas a
Ambiente Descripción Cuándo seleccionarlo
emplear
Recibe este nombre las Cuando la aplicación va a
aplicaciones basadas en ser utilizada desde un solo
formularios o ventanas y computador o desde
controles típicos como pocos; cuando la
botones, cajas de texto, información que gestiona .NET
menús. Las aplicaciones la aplicación no debe ser (WinForms),
Windows
en este ambiente tienen compartida entre los Pc’s Delphi, Java
que ser instaladas en que ejecuten la aplicación; Swing …
cada computador donde cuando se requiere de
se desee utilizar. buena velocidad y buena
presentación; muy útil para
el manejo de gráficos.
Recibe este nombre las Cuando la aplicación deba
aplicaciones que son ser accedida por varios
accedidas a través de los usuarios desde diferentes PHP, JSP,
navegadores Web. Este lugares; cuando los datos ASP.NET,
tipo de aplicaciones son de la aplicación deban ser JavaScript,
Web
alojadas en un Servidor compartidos por los HTML, CSS,
Web y para el acceso a usuarios; cuando la HTML5 Ajax,
la aplicación se requiere aplicación no requiera de JQuery
que el equipo esté en la velocidades de ejecución
red del servidor. extremas.
Recibe este nombre las Cuando se requiera de
aplicaciones que se una alta velocidad o
ejecutan en ambiente interacción con el
D.O.S, que requieren de ambiente; cuando la C, C++, QBasic,
Consola mucha interacción con el aplicación sea empleada Turbo Pascal,
teclado y que carecen de por pocas personas en .NET, Java…
12 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
controles prediseñados pocos computadores;
Web y para el acceso a usuarios; cuando la HTML5 Ajax,
la aplicación se requiere
Procedimiento aplicación no
de desarrollo requiera de
de Sistemas JQuery
de información
que el equipo esté en la velocidades de ejecución
red del servidor. extremas.
Recibe este nombre las Cuando se requiera de
aplicaciones que se una alta velocidad o
ejecutan en ambiente interacción con el
D.O.S, que requieren de ambiente; cuando la C, C++, QBasic,
Consola mucha interacción con el aplicación sea empleada Turbo Pascal,
teclado y que carecen de por pocas personas en .NET, Java…
controles prediseñados pocos computadores;
como botones, cajas de cuando no se manejen
texto, casillas de grandes volúmenes de
Estas aplicaciones se
caracterizan porque son
Cuando se requiera que la
accedidas desde
aplicación sea accedida a
dispositivos móviles Java JME, .NET
través de dispositivos
como celulares o PDA’s, Compact
móviles; cuando los
SmartPhones o Tablets. Framework,
procesos a ejecutar son
Móvil Windows
livianos; cuando se
En este ambiente, la Phone, Android
requiera acceso a la
información puede residir
información sin
en el dispositivo móvil o WML, HTML5
limitaciones del lugar o del
en un servidor y ser
puesto de trabajo.
accedida desde el
dispositivo móvil.
Inicio
Existen No
restricciones
Si
Si
Si
Tecnología Seleccionada
Fin
Cuando existan
objetos dentro del
sistema que cambien
Los diferentes estados por los
Transición de de estado e interese
que pasa un objeto en un
estados conocer las
sistema.
condiciones requeridas
para pasar de un
estado a otro.
TRATAMIENTOS
TraNumero
TraFechaAsignado
TraDescripcion
TraFechaInicio
TraFechaFin
TraObservaciones
TraPaciente
MEDICOS
1 MedIdentificacion
MedNombres
CITAS MedApellidos
CitNumero
CitFecha
PACIENTES CitHora
PacIdentificacion CitPaciente
1
PacNombres CitMedico
1 PacApellidos CitConsultorio
PacFechaNacimiento CitEstado
PacSexo CitObservaciones
CONSULTORIOS
1 ConNumero
ConNombre
DICCIONARIO DE DATOS
Tabla Cliente
Nombre Tipo Tamaño Not Null PK FK Default Constraint Descripción
Id_cte Numérico 4 X X X Identificador del cliente
nomb_cte Carácter 50 X Razón social de la empresa
Tabla Producto
Nombre Tipo Tamaño Not Null PK FK Default Constraint Descripción
Id_prod Numérico 7 X X X Identificador del producto
nomb_prdo Carácter 80 X Nombre del medicamento
cto_uni Numérico 3 X Valor de cada medicamento
Registrar Cliente
CÉDULA
NOMBRE
TELÉFONO
IDFACTURA
VALOR
GENERAR
TForm
TFAboutBox TFAboutBox
+TFMain(in Owner:TComponent*)
TActuador -registro(in ac:AC_Accion_t,in activoAB:bool,
in activoID:bool)
-hLib: HINSTANCE -estado(in ES_Estado_T:es)
-oup32fp: oupfuncPtr -senal(in sn:SN_Senal_T)
-habilitado: bool -bateria(in carga:int,in maxima:int)
-error: bool -fuerza(in fu:unsigned short)
-cadenaError: UnicodeString -desviacion(in inc:short)
-entrenamiento(in fichero:UnicodeString,
+TActuador() in nivel:float)
+~Tactuador() -formulario()
+movimiento(in accion:AC_Accion_t,in giro:GI_Giro_t): bool -editsServidor(in activo bool)
+habilitar(in activo:bool) -labelsTiempoConexion(in activo:bool)
+inicializador(): bool -labelsFicheroPerfil(in activo:bool)
+estadoError(): bool -accionManual(in ac:AC_Accion_tin gi:GI_Giro_t)
+textoError(): UnicodeString -imagenCasco(in estado_casco:bool,in contactos:int*)
-puerto(in const short:valor): bool -tiempoConexion(in tiempo:float)
Tablas
Ejemplo:
SOLICITUDES
podría ser el nombre de la tabla obtenida de la relación entre
proyectos y recursos.
Ejemplo:
INSTRUCURSOS
Podría ser el nombre de la tabla generada a partir de las entidades
Instructor y Curso.
Campos
EMPLEADOS
Empl_Cedula
Empl_Nombre
Empl_FechaContrato
Empl_SalarioPromedio
INSTRUCURSOS
Incu_InstructorF
Incu_CursoF
Incu_FechaAsignacion
Tipo de
- El (los) campo(s) definido(s) como llave principal
Convención debe(n) estar al
Ejemplo
Elemento
inicio de la tabla.
27
Camel Casing impuesto SENA - Servicio Nacional de Aprendizaje
FAVA - Formación en Ambientes Virtuales de Aprendizaje
Variables primerApellido
Empezar con minúscula y la
Procedimiento de desarrollo de Sistemas de información
Prod_CategoriaF
donde:
Prod hace referencia a la tabla donde está el campo
Categoria indica que es un campo que hace alusión a la llave
principal de la tabla CATEGORIAS
F significa que es foráneo.
Sin
Identar
Barra de
desplazamiento
HScrollBar horizontal hsb hsbVolumen
Image Imagen img imgIcono
ImageList Lista de imágenes ils ilsTodosIconos
Label Etiqueta lbl lblMensajeAyuda
ListBox Cuadro de lista lst lstCodigos
ListView Visor de lista lvw lvwEncabezados
MAPI Sesión MAPI mps mpsSesion
Menu Menú mnu mnuAbrirArchivo
MSComm Comunicaciones com comFax
Hierarchical
MSHFlexGrid Flexgrid flex flexPedidos
OptionButton Botón de opción opt optGenero
Panel Panel pan panBotones
Cuadro de
PictureBox imagen pic picVGA
ProgressBar Barra de progreso prg prgCargarArchivo
RichTextBox RichTextBox rtf rtfInforme
SatusBar Barra de estado sta staFechaHora
Shape Forma shp shpCirculo
Slider Control deslizante sld sldEscala
TabStrip Fichas tab tabOpciones
TextBox Cuadro de texto txt txtApellido
Timer Cronómetro tmr tmrAlarma
Barra de
ToolBar herramientas tlb tlbAcciones
TreeView Visor de árbol tre treOrganizacion
UpDown UpDown upd updDireccion
Barra de
VScrollBar desplazamiento vsb vsbIndice
-Convenciones de Codificación
Tipo de
Elemento Convención Ejemplo
Variables primerApellido
Empezar con minúscula y la
Locales, salarioTotal
primera letra de las siguientes
Parámetros y palabras con mayúscula calcularPrestaciones()
Métodos guardar()
consultarSaldoActual()
Mayúscula sostenida, si su PI
Constantes nombre es compuesto, se debe SALARIO_MINIMO
separar por guion bajo IVA
-Indentación
If (salario>salarioMinimo) Then
impueto=salario*0.1
End If
Ejemplo en C#
Sin
Identar
Identación
estilo 1
Identación
estilo 2
No recomendado:
While (cantAlumnos<alumnosTotales)
cantAlumnos++;
Sugerido:
While (cantAlumnos<alumnosTotales)
{
cantAlumnos++;
}
Secciones de Comentarios
/*----------------------------------------------------------
[* Historial de modificaciones:
*----------------------------------------------------------
*/
*---------------------------------------------------------]
*/
Antes de una sección mayor de un programa, escribir un bloque de
Secciones
comentarios que describan el procesamiento que es realizado en tal
Mayores
sección. Incluir comentario similar para la finalización del código.
/*-----
*-----
*/
Ejemplo
Sección ..
Mayor /*-----
* Fin de Programa
*------
*/
Código Quemado
Código no
quemado
SERVIDOR DE SERVIDOR DE
CLIENTES NEOCIACIÓN BASE DE DATOS
CITAS MEDICOS
TRATAMIENTOS PACIENTES 1 MedIdentificacion
CitNumero
TraNumero 1 PacIdentificacion 1
CitFecha MedNombres
TraFechaAsignado PacNombres CitHora MedApellidos
TraDescripcion PacApellidos CitPaciente
TraFechaInicio PacFechaNacimiento CitMedico
TraFechaFin PacSexo CONSULTORIOS
CitConsultorio 1
TraObservaciones CitEstado ConNumero
TraPaciente CitObservaciones ConNombre
GLOSARIO
CRUD:
10 es un acrónimo que se utiliza para denotar las cuatro
operaciones básicas
FAVA - a desarrollar
Formación sobre
en Ambientes Virtualeslos datos Creación
de Aprendizaje de datos
SENA - Servicio Nacional de Aprendizaje
o inserción de los mismos (Create), lectura o consulta de datos
(Read), actualización de datos ( Update) y borrado o eliminación de
los mismos (Delete)
BIBLIOGRAFÍA
CREDITOS
Control de documento
Construcción Objeto de Aprendizaje
Procedimiento de desarrollo de
Sistemas de información
Desarrollador de contenido
Experto temático Andrés Julián Valencia