PDF de programación - Gerencia de Proyectos <=> Proceso de Software

<<>>
Imágen de pdf Gerencia de Proyectos <=> Proceso de Software

Gerencia de Proyectos <=> Proceso de Softwaregráfica de visualizaciones

Publicado el 17 de Mayo del 2017
1.604 visualizaciones desde el 17 de Mayo del 2017
533,1 KB
35 paginas
Gerencia de Proyectos

Proceso de Software

Victor Manuel Toro C.
[email protected]

CincoSOFT Ltda.
Compañía de Ingenieros Constructures de Software
Tel. (+57)(1) 6230180 * Fax (+57)(1) 2566774
Carrera 15 # 80-48 (ofc. 402)
Apartado Aéreo 350762
Bogotá - Colombia
http://www.cincosoft.com





Conceptos Preliminares

Cuatro conceptos relacionados pero distintos:

Metodología

Proceso

Herramienta

Lenguaje

Victor M. Toro - CincoSOFT Ltda.

3

Metodología

Proceso

Herramienta

Lenguaje

Aclarando algunos conceptos:
Lenguaje

l Lenguaje (de programación, especificación, ...):

Sintaxis (elementos del lenguaje)

+ Gramática (reglas para combinar dichos elementos)
+ Semántica (significado de las frases del lenguaje).

l Ejemplos de Lenguajes:

Programación: Java, C, VisualBasic, RPG, Cobol, C#, ...
Análisis/Diseño:

Diagramas Entidad-Relación, Diagramas de Flujo de Datos DFD, ...

Especificación: Z, B, VDM, ...
Ingeniería de Software: UML

Victor M. Toro - CincoSOFT Ltda.

4



Metodología

Proceso

Herramienta

Lenguaje

Aclarando algunos conceptos:
Herramienta

l Herramienta:

Editor de un(os) lenguaje(s)

+ Librería de elementos reutilizables
+ Ayudas “inteligentes”
+ Compilador ó Traductor hacia/desde otro(s) lenguaje(s)

l Ejemplos de Herramientas:

JBuilder, JDevelopper, JEdit, Forté, ...

VisualStudio.NET
PowerBuilder, OracleForms, Designer-2000,...

...

Victor M. Toro - CincoSOFT Ltda.

5




Metodología

Proceso

Herramienta

Lenguaje

l Metodología:

Lenguaje

Aclarando algunos conceptos:
Metodología

+ forma de plantear problemas
+ forma de construir poco a poco una solución
+ forma de verificar que una solución es correcta
+ conjunto de patrones (paradigmas deseables)

l Ejemplos de Metodologías:

Programación Estructurada {Pre y Post condiciones, invariantes, ...}
Metodología Entidad-Relación para diseño de B. de D.
Metodología Orientada a Objetos

...

Victor M. Toro - CincoSOFT Ltda.

6



Metodología

Proceso

Aclarando algunos conceptos:
Proceso de desarrollo de Software

Herramienta

Lenguaje

l Proceso de desarrollo de Software:

Una secuencia de actividades
+ una asignación de responsabilidades
+ un conjunto de Entregables

(documentos, código, pantallas, manuales, ...) estandarizados
+ dinámica de interacciónentre los miembros del grupo
+ un conjunto de herramientas y una forma de usarlas
+ ...
que usa un grupo para el desarrollo de un sistema de
software

Victor M. Toro - CincoSOFT Ltda.

7

Madurez de un Proceso de Desarrollo

l Un Proceso Desarrollo de Software es MADURO en

la medida que:
Está escrito
Es usado por TODOS los miembros del grupo
Cubre todas las etapas del desarrollo
Es efectivo
Es eficiente
Es repetible, medible, optimizable, ...

l Ver Software Process Capability Maturity Model CMM

[http://www.sei.cmu.edu]

Victor M. Toro - CincoSOFT Ltda.

8

¿ Qué es una compañía de software certificada ?

l Explicita su proceso de desarrollo de software
l Documenta su proceso de desarrollo (por escrito)
l Estandariza sus entregables (i.e., crea plantillas)
l Sintoniza sus herramientas para apoyar el proceso
l ...
l Incorpora en su proceso de software las recomenda-

ciones de algún Estándar de Calidad (CMM, ISO)

l Contrata Inspectores autorizados para que revisen, y

eventualmente certifiquen, que su proceso de
desarrollo cumple con el Estándar de Calidad.

Victor M. Toro - CincoSOFT Ltda.

9

¿Qué es implantar un estándar de Calidad de Software?

Nuestro Proceso

de Software

Estándar de

Calidad de Software

Planeación
---------
---------
Seguimiento de Proyectos
-----------
--------
Capacitación
-------------
-----------
Control de Versiones
---------
---------
Revisiones de código por pares
----------
--------
Administración de Requerimientos
-----
----

Victor M. Toro - CincoSOFT Ltda.

10

Evolución de los

Procesos de

Desarrollo de Software

¿Cómo nace un
Proceso de Desarrollo de Software ?

Nace de la visión/enfoque que se tenga sobre:

l Cómo se debe producir el software

l Cómo se debe entregar el software

Victor M. Toro - CincoSOFT Ltda.

12

Desarrollo por etapas sequenciales:
“Modelo de Cascada”

Planeación Estratégica

Corporativa

Planeación Estratégica

de Sistemas de Información

Análisis de Requerimientos

Diseño Global

Diseño Detallado

Programación

Pruebas

Victor M. Toro - CincoSOFT Ltda.

Operación

13

Desarrollo iterativo:
“Modelo en Espiral” (B.W. Boehm)

Design

Implementation
and Unit Test

Analysis

Integration

Requirement
Specification

Test

Version 3
Version 3

Version 2
Version 2

Version 1
Version 1

“A Spiral Model of Software Development and Enhancement”
Tutorial: Software Engineering Project Management: Computer Society of the IEEE, 1988
14

Victor M. Toro - CincoSOFT Ltda.

Desarrollo Incremental e Iterativo:
“RUP Rational Unified Process”

Victor M. Toro - CincoSOFT Ltda.

15

RUP Rational Unified Process

Fases del proceso
RUP Rational Unified Process

a
t
s
e
u
p
o
r
P



1
o
t
a
r
t
n
o
C



2
o
t
c
a
r
t
n
o
C

Construction

Inception

Elaboration

1

2

3

4

...

Transition

Inventario de
Casos de Uso

s
e
s
a
C

e
s
U

e
n
i
f
e
R

l
e
d
o
M

a
t
a
D

e
n
i
f
e
R

i

g
n
m
m
a
r
g
o
r
P

Testing

Adjustments

Victor M. Toro - CincoSOFT Ltda.

17

Dinámica del
“Rational Unified Process RUP”

Process Workflows

Inception

Elaboration

Construction

Transition

Phases

Business Modeling
Requirements
Analysis & Design

Implementation
Test
Deployment

Supporting Workflows

Configuration Mgmt
Management
Environment

Victor M. Toro - CincoSOFT Ltda.

Preliminary
Iteration(s)

Iter.
#1

Iter.
#2

Iter.
#n

Iter.
#n+1
Iterations

Iter.
#n+2

Iter.
#n

Iter.
#n+1

18

Etapas del RUP:
Inicio (Inception)

l Empezar a conocer el problema.
l Identificar impacto y beneficios del nuevo sistema.
l Identificar relación con otros sistemas.
l Plantear arquitectura.
l Definir el alcance del nuevo sistema.
l Primera estimación de Costo y Tiempo.
l Obtener/Elaborar Propuestas
l Obtener la decisión y compromiso de arrancar.
l Promover un dueño (“sponsor”) de proyecto.

Victor M. Toro - CincoSOFT Ltda.

19

Etapas del RUP:
Elaboración (1)

l Entender / Formalizar la “Lógica del Negocio”
l Obtener requerimientos detallados
l Elaborar el Inventario de todos los “Casos de Uso”
l Agrupar los Casos de Uso en módulos, de acuerdo a:

Áreas del Negocio

Interdependencia funcional

l Establecer un orden para implementar los módulos:

Dependencia entre Módulos
Prioridades (organizacionales, políticas, de negocio, ...)
Requerimientos tecnológicos

Victor M. Toro - CincoSOFT Ltda.

20


Etapas del RUP:
Elaboración(2)

l Identificar (y enfrentar!) los riesgos del proyecto:

Lógica del Negocio

Requerimientos

Tecnológicos

Recursos humanos

Políticos

l Definir un Plan Detallado de construcción.

Victor M. Toro - CincoSOFT Ltda.

21

Etapas del RUP:
Construcción (1)

INCREMENTAL e ITERATIVO.

Tomar el siguiente módulo de Casos de Uso:

l Documentar en detalle sus Casos de Uso (empezando por

los “pantallazos” y la secuencia de navegación).

l Base de Datos:

Refinar / Diseñar las nuevas tablas de la BD
Efectuar las modificaciones a las tablas ya existentes (en forma

incremental, acumulando los scripts de modificación !!)

l Obtener la aprobación de los Casos de Uso del Módulo.

Victor M. Toro - CincoSOFT Ltda.

22

Etapas del RUP:
Construcción (2)

l Programar los Casos de Uso del subsistema

Mantener sincronizado el Software y la Documentación de

los Casos de Uso

Probar los Casos de Uso implementados.

Probar interacción con Casos de Uso precedentes.

l Escribir mini-manual de usuario del módulo

l Entregar el módulo para pruebas de los usuarios

Victor M. Toro - CincoSOFT Ltda.

23

Etapas del RUP:
Transición

l Homologar todo el software

l Homologar toda la documentacón de Casos de Uso

l Pruebas integrales del nuevo sistema (beta testing)

l Sintonización fina y optimización de plataforma

l Unificar documentación de instalación.

l Unificar los manuales de usuario final.

l Capacitación de usuarios finales.

Victor M. Toro - CincoSOFT Ltda.

24

Nuestra experiencia en CincoSOFT:

RUP Rational Unified Process “aligerado”

+

“Extreme Programming”

+

apoyo en herramientas libres

Nuestra experiencia en CincoSOFT:
RUP Rational Unified Process “aligerado”

Doc. Arquitectura

e Integración

Construction

Inception

Elaboration

1

2

3

4

...

Transition

Especificación

Formal (Z)

Inventario de
Casos de Uso



s
e
s
a
C
e
s
U

e
n
i
f
e
R

l



e
d
o
M
a
t
a
D

e
n
i
f
e
R

i

g
n
m
m
a
r
g
o
r
P

Testing

Adjustments

Extreme

Programming

Victor M. Toro - CincoSOFT Ltda.

26

Nuestra experiencia en CincoSOFT:
RUP Rational Unified Process “aligerado”
+ Extreme Programming

Construction

Inception

Elaboration

1

2

3

4

...

Transition

Refine Use Cases

User Interface & Navigation

Refine Data Model

Aprobación

del

usuario

Extreme Programming

Programming

Unit Testing

Integration Testing

Functional Testing

Stress Testing

Victor M. Toro - CincoSOFT Ltda.

27

Nuestra experiencia en CincoSOFT:
RUP Rational Unified Process “aligerado”
+ Extreme Programming
+ apoyo en herramientas libres

Latex

Construction

Inception

Elaboration

1

2

3

4

...

Transition

Poseidon
(Editor UML)

Oracle
Designer

Refine Use Cases

User Interface & Navigation

Refine Data Model

Aprobación

del

usuario

Programming

Unit Testing

JEdit
Jikes

t
i
n
U
J

Integ
  • Links de descarga
http://lwp-l.com/pdf3588

Comentarios de: Gerencia de Proyectos <=> Proceso de Software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad