Anda di halaman 1dari 51

UNIDAD 1:

ANLISIS DE
PROBLEMTICA
INGENIERA EN SISTEMAS COMPUTACIONALES
MI: KAREM VZQUEZ RETA

Cd. Victoria, Tam.

Septiembre de 2015

Objetico General del Curso

Que el alumno conozca los principios para el


anlisis de una problemtica y desarrollar la
solucin ms adecuada para un usuario final.

1.1 Definicin de una problemtica


Qu es un problema?
Defectos/Dificultades
Acontecimientos
Algo que necesita ser resuelto

1.1 Definicin de una problemtica


Tipos de Problemas en ingeniera
Disponibilidad de equipos
Configuracin de redes
Automatizacin de procesos
Control de procesos
Mejora de procesos

1.1 Definicin de una problemtica


Pasos para describir un problema
1.
Detectar el problema
2.
Analizar y describir rea de impacto
3.
Determinar las causas del problema
4.
Proponer una solucin

1.2 Documentacin de la problemtica


1.

Introduccin
a)

2.

Anlisis del proyecto de solucin


a)

b)
c)
d)
e)

f)
g)
h)

3.

Describir de forma general la situacin actual de la


entidad (Persona, Empresa, Problema)
reas de impacto (alcance)
Usuarios involucrados
Propuesta de solucin
Qu se va a hacer?
Cmo se har?
Herramientas a utilizar (hardware/software)
Requisitos Tcnicos
Formas de Entrega

Conclusin (Hiptesis o posibles resultados)

1.3 Desarrollo de etapas para la


solucin de la problemtica
Agregar Diagrama

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software
Segn Sommerville (2005), para muchas personas el
software son solo programas de computadora, sin embargo
l lo define como todos aquellos documentos asociados a la
configuracin de datos que se necesitan para hacer que
estos programas operen de manera adecuada.
Los productos de software se desarrollan para algn cliente
en particular o para un mercado en general. Para el diseo
y desarrollo de proyectos de software se aplican
metodologas, modelos y tcnicas que permiten resolver los
problemas.

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software
La informtica aporta herramientas y procedimientos que se
apoyan en la ingeniera de software con el fin de mejorar la
calidad de los productos de software, aumentar la
productividad y trabajo de los ingenieros desarrolladores
de software, facilitar el control del proceso de desarrollo de
software y suministrar a los desarrolladores las bases para
construir software de alta calidad en una forma eficiente.

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software

El objetivo principal que busca la ingeniera de software es


convertir el desarrollo de software en un proceso formal, con
resultados predecibles, que permitan obtener un producto
final de alta calidad y satisfaga las necesidades y
expectativas del cliente.
La Ingeniera de Software es un proceso intensivo de
conocimiento, que abarca la captura de requerimientos,
diseo, desarrollo, prueba, implantacin y mantenimiento.

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software
Un modelo para el desarrollo de software es una
representacin abstracta de un proceso. Cada modelo
representa un proceso desde una perspectiva particular y
as proporcione informacin parcial sobre el proceso.
Los modelos que mencionaremos en este punto son:
1.
Modelo en cascada
2.
Modelo de desarrollo evolutivo (espiral)
3.
Modelo basado en componentes
4.
Modelo gil

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software
Requisitos
Diseo
Codificacin

Modelo en Cascada

Pruebas
Mantenimiento

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software

Modelo Evolutivo
(espiral)

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software

Modelo Basado en
Componentes

1.3 Desarrollo de etapas para la


solucin de la problemtica
Definicin de la Metodologa de desarrollo de Software

Modelo gil

1.3 Desarrollo de etapas para la


solucin de la problemtica
Productos de Trabajo
Metodologas Clsicas

Metodologas giles

1.
2.
3.
4.

1.
2.
3.
4.
5.
6.
7.
8.

5.
6.
7.
8.
9.

Elicitacin de Requisitos
Propuesta de Solucin
Anlisis de Requisitos
Diseo de la Solucin
Alto Nivel (Componentes/GUI)
Bajo Nivel (Base de Datos,
Casos de Uso, Diagramas de Flujo)
Diseo de Pruebas
Desarrollo de la Aplicacin
Reportes de Pruebas
Manuales (Instalacin, Tcnico, Usuario)
CD/Software

Historias de Usuario
Propuesta de Solucin
Product Backlog
Anlisis y Diseo
Spring Backlog
Scrum Board
Sprint Value
Manuales (Instalacin, Tcnico,
Usuario)
9. CD/Software

1.4 Calendarizacin de Entrega de


Etapas
Es una actividad que distribuye estimaciones de esfuerzo a
travs de la duracin planificada del proyecto, al asignar
el esfuerzo a tareas especficas de ingeniera de software.
Es la culminacin de una actividad de planificacin que es
componente principal de la gestin del proyecto de
software.

1.4 Calendarizacin de Entrega de


Etapas
Principios
Compartimentos: El proyecto debe dividirse en varias
actividades, acciones y tareas manejables.
Independencia: Se debe determinar la independencia
de cada actividad, accin o tarea.
Asignacin de tiempo: A cada tarea se le debe asignar
cierto nmero de unidades de trabajo (personas/das de
esfuerzo).
Validacin del esfuerzo: El gestor del proyecto debe
asegurarse de que, en un tiempo dado no se han
asignado ms que el nmero de personas miembros del
equipo.

1.4 Calendarizacin de Entrega de


Etapas
Principios
Definicin de responsabilidades: Asignar un miembro
del equipo.
Definicin de resultados: Toda tarea debe tener u
resultado definido.
Diseo de hitos: Cualquier tarea o grupos de tareas
debe tener asociado un hito de proyecto (punto de
revisin de calidad de uno o ms productos de trabajo).

1.4 Calendarizacin de Entrega de


Etapas
Recomendaciones
Parta el proyecto en tareas y estime el tiempo y los
recursos (humanos y materiales) requeridos para
completar cada tarea.
Organice las tareas concurrentemente, para optimizar la
fuerza de trabajo.
Minimizar las dependencias entre las tareas para evitar
los retrasos.
Se recomienda asignar entre 30% y 50% adicional al
tiempo estimado por actividad.

1.4 Calendarizacin de Entrega de


Etapas
Recomendaciones
No se puede calcular la dificultad de un problema con
exactitud y por ende tampoco el costo necesario para
resolverlo.
La productividad no es proporcional al numero de
personas.
Agregar personas a un proyecto avanzado puede
provocar demoras por la sobrecarga de comunicacin.
Lo inesperado siempre pasar, siempre tener planes de
contingencia.

1.4 Calendarizacin de Entrega de


Etapas
Proceso

Identificar
actividades

Requerimientos de SW

Identificar
dependencias
de
actividades

Estimar
recursos para
las
actividades

Asignar
personas a las
actividades

Crear grficos
de proyecto

Redes de actividades
y Grficos de barras.

1.4 Calendarizacin de Entrega de


Etapas
Mtodos de Calendarizacin
PERT (Tcnica de evaluacin y revisin de programa.
CPM (Mtodo de la Ruta Crtica)
RUP (Proceso Unificado de Desarrollo)
Planning Poker

1.4 Calendarizacin de Entrega de


Etapas
Mtodos de Calendarizacin

1.4 Calendarizacin de Entrega de


Etapas
Cronogramas
Diagrama de Gantt (Microsoft Office Project)
WBS (Work Breakdown Structure)
Product Backlog

1.4 Calendarizacin de Entrega de


Etapas
Cronogramas

1.4 Calendarizacin de Entrega de


Etapas
Seguimiento
Diagrama de Gantt (Microsoft Office Project)
Scrum Board

1.4 Calendarizacin de Entrega de


Etapas
Seguimiento

1.5 Generacin de Diagramas de Flujo


y Algoritmos
Qu es un diagrama de flujo?

Un diagrama de flujo es una forma de representar


grficamente la secuencia de un proceso.
Representacin grfica de distintos procedimientos
lgicos que resuelven un problema.
Esquema que representa un algoritmo.

1.5 Generacin de Diagramas de Flujo


y Algoritmos
Para qu se utilizan?

Se utiliza en cualquier ciencia como en la


programacin, la economa y los procesos
industriales.
En computacin, son modelos tecnolgicos utilizados
para comprender los principios de la programacin
secuencial. Los smbolos permiten crear la estructura
grfica que describe los pasos a seguir para
obtener un resultado especfico.

1.5 Generacin de Diagramas de Flujo


y Algoritmos
Cmo se elaboran?

Estos diagramas utilizan una serie de smbolos con


significados especiales y son la representacin
grfica de los pasos de un proceso.
Los smbolos permiten crear la estructura grfica
que describe los pasos a seguir para obtener un
resultado especfico.

1.5 Generacin de Diagramas de Flujo


y Algoritmos
Simbologa

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos

Calcular Promedio

Inicio

Leer
Calificaciones:
C1, C2, C3, C4
Calcular Promedio:
P = (C1 + C2 + C3 +
C4)/4

Promedio

Fin

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos

Calcular rea de un
paralelogramo

Inicio

Leer Medidas:
Base, Altura

Calcular rea:
A = Base * Altura

rea

Fin

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos

Calcular Nmeros
Pares e Impares

Inici
o

Leer Nmero

N
o

Es
divisibl
e por
2?

Impares

Pares

Fin

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos

Preparar un caf

Inicio

Con
azcar?

Reunir
Elementos: Taza,
Cuchara

No

Con
leche?

Degustar
Caf

Hervir Agua

Servir Agua en la taza

Agregar Caf
Fin

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos

Calcular rea de un crculo

Inicio

Leer Pi =
3.1416, radio

Calcular Area:
A = Pi * radio * radio

Area

Fin

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos

Calcular Nmeros
Primos y No Primos

Inicio

Leer Nmero

No

Es
divisib
le por
1?

S
No

No Primo

Es
divisibl
e por
si
mismo?

Primo

Fin

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos
Qu es un algoritmo?
Un conjunto ordenado y finito de operaciones
que permite hallar la solucin de un problema.
Mtodo y notacin en las distintas frmulas del
clculo.
El algoritmo constituye un mtodo para resolver un
problema mediante una secuencia de pasos a
seguir. Dicha secuencia puede ser expresada en
forma de diagrama de flujo con el fin de seguirlo
de una forma ms sencilla.

1.5 Generacin de Diagramas de Flujo y


Ejemplos
Algoritmos

Ejemplo de un algoritmo

1.6 Diseo de Pantallas, Logo y Nombre


Ejemplos
del
Proyecto

Qu es una Pantalla?
Es una interfaz de interaccin entre la mquina
y el usuario con el objetivo de realizar un
proceso de forma automatizada. En informtica
una pantalla es llamada GUI (Graphical User
Interface).
Un proyecto se compone de una gran cantidad
de pantallas que llevan una secuencia para
realizar tareas dependiendo del usuario que
interviene.

1.6 Diseo de Pantallas, Logo y Nombre


Ejemplos
del
Proyecto

La tarea de disear la GUI es una de las ms


importantes en la fase de planeacin de un
proyecto, ya que representa una vista previa
del producto que un cliente ha solicitado.
SISTEMA INTEGRAL DE INFORMACIN ICEST
BIENVENIDO

Usuario:
Contrasea:

Entrar

1.6 Diseo de Pantallas, Logo y Nombre


Ejemplos
del
Proyecto

Qu es un Logo?
Es una imagen representativa de una compaa
(Privada/Gubernamental/Escuela), que se
utiliza para darle identidad ante la sociedad o
un grupo determinado.
No es obligatorio contar con l, sin embargo se
requiere para ser reconocido con mayor
facilidad ante un mercado.

1.7
Diseo de Bases de Datos
Ejemplos

Qu es una base de Datos?


Es un conjunto de entidades relacionadas con el
objetivo de almacenar datos de un sistema.

1.7
Diseo de Bases de Datos
Ejemplos

Componentes:
Entidades

(Tablas)
Relaciones
Identificadores (Llaves)
Funciones
Triggers

1.7
Diseo de Bases de Datos
Ejemplos

Manejadores:
MySQL
SQL

Server
Microsoft Office Access

1.7
Diseo de Bases de Datos
Ejemplos
SQL Server
Es un manejador de bases de datos que utiliza el
lenguaje de SQL para realizar operaciones con
datos.
Principales instrucciones:

Create Table: Crea una tabla


Alter Table: Actualiza registros de una tabla
Drop Table: Elimina una tabla

1.7
Diseo de Bases de Datos
Ejemplos

Consultas SQL

Select *From (Table Name): Muestra todos los


registros que contiene una tabla.
Select (ColumnName) *From (Table Name):
Muestra todos los registros que contiene la columna
seleccionada de una tabla.
Select (ColumnName) From (Table Name) where
(ColumnName) = : Muestra todos los registros
que contiene la columna seleccionada de una tabla
mientras contenta lo que la sentencia where
especifica.

1.7
Diseo de Bases de Datos
Ejemplos

Consultas SQL

Inner join: Se utiliza para unir el contenido de dos


tablas.
alias: Se utilizan para seleccionar contenidos
especficos de varias tablas.
Insert to: Se utiliza para insertar elementos en un
registro de una tabla.

1.8
Entrega de Documentacin
Ejemplos

Documentacin o Entregables

Son aquellos documentos tambin llamados entregables


o productos de trabajo que complementan el desarrollo
del software/ producto realizado por un equipo de
trabajo.
Dichos entregables se someten a revisin y validacin
por cada fase del proyecto.

1.8
Entrega de Documentacin
Ejemplos

Documentacin o Entregables

Inicio

Planeacin

Ejecucin

Monitoreo y
control

Cierre

Descripcin
del Proyecto
Propuesta
Lista de
Entregables

Plan de
Proyecto
Calendario
Minutas de
Seguimiento

Entrega de
Mdulos
Minutas de
Seguimiento

Reportes de
Seguimiento
Minutas de
Seguimiento

Manuales
Aceptacin
del Proyecto
Lecciones
Aprendidas

Anda mungkin juga menyukai