Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Proceso
Todo proyecto que se genera en el ámbito profesional responde a una situación particular, dada
en un contexto y una realidad. Si el proyecto tiene como objetivo obtener un producto de
software, entonces tiene asociado el proceso de desarrollo de software.
Cada proyecto es único, aunque sea semejante a otro, siempre posee alguna característica o
regla que lo diferencia de otro, no obstante, el proceso de desarrollo ya está definido y puede
aplicarse a cualquier proyecto. Para ello tiene que permitir elegir cualquier metodología
relacionada con los distintos ciclos de vida, por lo cual se basa en las actividades básicas definidas
en el proceso.
Las cuatro actividades o etapas básicas del proceso se organizan de forma distinta en diferentes
procesos, estas actividades son:
Especificación
Desarrollo
Validación y
Evolución.
Esta etapa, por ser la primera, es muy importante, es el proceso de comprensión del problema
y definición de los servicios que requiere el sistema, como así también la identificación de las
restricciones de funcionamiento y de desarrollo.
En esta etapa no sólo se realiza la captura de los requerimientos, sino que también se realiza el
análisis de los mismos.
La etapa de implementación del software incluye a los procesos de diseño y construcción del
software, ya que es el proceso de convertir una especificación del sistema en un sistema
ejecutable.
Esta etapa varía según el enfoque de ciclo de vida adoptado, por ejemplo, en un enfoque en
cascada se implementará un ejecutable que contiene el total de las especificaciones diseñadas
y programadas, mientras que en un enfoque evolutivo implicará un refinamiento de las
especificaciones del software.
Desarrollo
Las herramientas CASE se pueden utilizar para generar un programa esqueleto a partir del
diseño, esto incluye código para definir e implementar las interfaces, necesitando el
programador solo agregar detalles de código.
Ingeniería de Requerimientos
Los requerimientos para un sistema son las descripciones de los servicios o funciones
proporcionados por el sistema y sus restricciones operativas.
Los requerimientos reflejan las necesidades o deseos de los clientes, que ayuden a resolver
problemas operativos o que brinden información para la toma de decisiones.
Orientado al mercado.
Orientado al cliente y/o usuario.
Desde una perspectiva del software, los requerimientos no refieren sólo a las personas y los
negocios, sino que podemos verlos en relación a los sistemas.
Desde la perspectiva del software, los errores de los sistemas llevan a costos elevados en la
corrección de los mismos, este es uno de los factores, si no es el mas importante, que da lugar
a la Ingeniería de requerimientos, que es parte de la Ingeniería de Software.
La importancia de los requerimientos se basa en que cuanto más tarde se detecta un error, más
cuesta resolverlo. Son la fase inicial del proceso de desarrollo de software y de ella depende, en
gran parte, el éxito del proyecto.
Identificación de Requerimientos.
Es descubrir los requerimientos para un sistema por parte de los clientes, usuarios, otros
afectados.
Análisis de Requerimientos
Tipos de requerimientos
Funcionales: son las declaraciones de los servicios que debe proporcionar el sistema. Como debe
reaccionar ante una entrada, procesos y controles.
Candidatos: Son los requerimientos funcionales que no se tendrán en cuenta en este momento
y pueden ser incorporados en el futuro.
Elicitación
Es el proceso de adquirir todo el conocimiento relevante necesario para producir el modelo de
los requerimientos del dominio del problema.
El analista debe conocer la naturaleza del problema, entender del tema para poder interactuar
con el cliente.
Técnicas de Elicitación
Entrevistas
Torbellinos de ideas
Análisis de documentación existente
Observación
Análisis de los objetivos
Especificación de requerimientos
Completa significa que todos los servicios solicitados por el usuario deben estar definidos.
Una vez terminado el relevamiento y detectadas las necesidades del cliente, los distintos tipos
de requerimientos, restricciones, reglas de negocio y dominio del problema, es necesario
realizar la especificación y dejarlos en forma explícita en un documento.
Este documento de requerimientos del software, denominado SRS o ERS, es la declaración oficial
de qué deben implementar los desarrolladores del sistema.
Validación de requerimientos
Trata de mostrar que los requerimientos realmente definen el sistema que el cliente desea.
¿Qué es Workflow?
Se define así al flujo de trabajo a seguir para la consecución de una tarea o trabajo
predeterminado. El flujo de trabajo determina como se estructuran las tareas, como se realizan,
cual es su orden correlativo, como se sincronizan, como fluye la información que soporta.
Objetivos:
Los flujos de trabajo como Workflow representan mejor la realidad de los procesos, dan una
vista horizontal del mismo, con lo que el actor no es sólo responsable de su actividad, sino que
es responsable del proceso, en cuanto que hay otro actor que depende de que su actividad esté
resuelta satisfactoriamente.
El RUP es un modelo en fases que identifica cuatro fases diferentes en el proceso de software
relacionadas con asuntos de negocio:
Concepto de calidad
Calidad se puede definir como “Propiedad o conjunto de propiedades inherentes a algo, que
permiten juzgar su valor”
De esta forma podríamos decir que la calidad de los productos puede medirse como una
comparación de sus características y atributos.
Para el software también existen medidas que pueden hacerlo comparable, tales como puntos
de función, líneas de código y otras.
La gestión y mejora de la calidad del proceso debe minimizar los defectos en el software
entregado. Esto implica:
Tipos de pruebas
Deberían probarse todas las funciones del sistema que se accedan a través de menúes.
Prueba funcional.
Deben probarse todas las combinaciones de funciones, como los ingresos de datos.
El ingreso de datos debe hacerse con datos correctos e incorrectos.
Pruebas de integración, en la que el equipo de pruebas tiene acceso al código fuente del
sistema. Pruebas de Caja Blanca.
Pruebas de entrega, se valida que el sistema cumpla con los requerimientos y que el
sistema es confiable, o sea, que funciona correctamente. Pruebas de Caja Negra.
Pruebas de rendimiento.
En el proceso unificado de desarrollo de software, los casos de uso guían el proceso, marcando
el seguimiento de los requerimientos, de igual manera existen los casos de prueba que guían
esta etapa y que se diseñan en base a los casos de uso de los requerimientos.
Alcance – (funcionalidad)
Tiempo – (calendario)
Esfuerzo – (Presupuesto, costo)
Calidad – (criterios de aceptación)
Se pueden definir dos estándares como parte del proceso de garantía de calidad:
ISO 9001:2000
Estas Áreas de Proceso se agrupan en cinco "niveles de madurez", de modo que una
organización que tenga institucionalizadas todas las prácticas incluidas en un nivel y sus
inferiores, se considera que ha alcanzado ese nivel de madurez:
Concepto de Métricas
La medición del software, por lo tanto, se refiere a derivar un valor numérico desde algún
atributo del software o del proceso. Estos valores son comparados con los establecidos por los
estándares de la organización.
Las mediciones de software pueden utilizarse fundamentalmente para cubrir dos objetivos:
Hacer predicciones generales acerca del sistema, midiendo las características de los
componentes del sistema y reuniéndolas, pudiendo derivar en una estimación general
de alguno de los atributos del sistema, como puede el número de fallos detectados.
Si bien todos los estándares de calidad definen la necesidad de hacer mediciones, sólo indican
qué se deben realizar, pero no establecen cómo, cuáles ni dónde aplicarlas, esta es una tarea
que se determina en los lineamientos estratégicos de la organización, quien con la ayuda de los
ingenieros y líderes de proyecto tienen en cuenta las metas de la organización y los objetivos de
las áreas para establecerlas.
Una métrica de software es cualquier tipo de medida relacionada con un sistema, proceso o
documentación de software.
Como se ha expresado anteriormente, es necesario medir para lograr una mejora en el proceso
y en el producto.
Las mediciones del mundo físico pueden englobarse en dos categorías: medidas directas y
medidas indirectas.
Medidas Directas. En el proceso de ingeniería se encuentran los valores que identifican el costo,
y el esfuerzo aplicado, las líneas de código producidas, velocidad de ejecución, el tamaño de
memoria y los defectos observados en un determinado período de tiempo.
La gestión de la calidad del software permite señalar si éste tiene escaso número de defectos y
si alcanza los estándares requeridos de mantenibilidad, fiabilidad y portabilidad.
La calidad de productos software está dada por los procesos que lo desarrollan y no por el
producto mismo.
Las métricas del software también se pueden clasificar teniendo en cuenta lo que miden y
cómo lo miden, citemos algunas de ellas:
Métricas de calidad: indican cómo se ajusta el software a los requisitos implícitos y explícitos
del cliente.
Métricas orientadas a las personas. Informan sobre la forma que la gente desarrolla el software
y sobre todo el punto de vista humano de la efectividad de las herramientas y métodos.
Métricas orientas al tamaño. Sirven para determinar el tiempo necesario para terminar el
software y cuantas personas se van a necesitar.
Métricas orientadas a la función. Son medidas indirectas del software y del proceso, se centran
en la funcionalidad o utilidad del programa.
Debe ser efectuada por un auditor calificado e independiente, el cual recolecta evidencias y
emite una opinión profesional para determinar el grado de fiabilidad del objeto analizado.
El contenido de una auditoría será una opinión comunicada en un informe y elevada a las
personas interesadas.
La condición de una auditoría es que sea de carácter profesional, es decir, realizada por una
persona que posea los conocimientos y las habilidades técnicas necesarias para la actividad.
Cuando hablamos de objetividad, nos referimos que el auditor interno debe tener una
actitud imparcial y neutral, y debe evitar los conflictos de intereses.
Clases de Auditoría
Técnica de Auditoría
Son los métodos disponibles para obtener el material de evidencia y sus resultados en forma
de opiniones y conclusiones.
Procedimiento de Auditoría
Los procedimientos son el conjunto de las técnicas de auditoría a ser aplicables a los
artefactos revisados en una actividad de auditoría. Se podría decir que las técnicas son las
herramientas de trabajo de un auditor y los procedimientos son la combinación de estas
herramientas aplicadas a una situación en particular. Por lo tanto, si las técnicas no son las
adecuadas, los procedimientos serán incorrectos y se fallará en el resultado final del trabajo
de auditoría.
Proceso de Auditoría
ETAPAS DEL PROCESO DE AUDITORÍA
Las metodologías indican un conjunto de pasos exactos a seguir, así como las fases y los
momentos oportunos para ejecutarlos. El propósito de las metodologías es llegar a un
resultado a través de una secuencia de pasos lógicos y ordenados.
En este documento se debe describir todo sobre esta función y el trabajo que realiza en la
entidad.
Nivel de exposición: Es un número del 1 al 10 que define la fecha de cuando será la próxima
auditoría.
INFORME DE AUDITORÍA
Normas: En 1996 la Unión Europea publicó el Libro Verde de la Auditoría con normas IFAC
El informe deberá ser claro, adecuado, suficiente y comprensible. Una utilización apropiada
del lenguaje informático resulta recomendable.
La ley 25.326 – Ley de protección de datos personales y Habeas Data fue sancionada en
Argentina el 4 de octubre del año 2000. El artículo 1º define el objetivo de la ley:
“La presente ley tiene por objeto la protección integral de los datos personales
asentados en archivos, registros, bancos de datos, u otros medios técnicos de
tratamiento de datos, sean públicos o privados…”
Como consecuencia de la ley 25.326 es posible declarar que el uso de información de las
personas con un propósito distinto al ingresado al banco de datos, y en especial la falta de
veracidad de la misma, constituye una violación a la protección de datos personales.
Ejemplo de esto son correos electrónicos con propagandas, las promociones telefónicas, o
la difusión de datos entre entidades privadas cuando las direcciones de mail, el número de
teléfono u otros datos extraído de las bases no tuvieron el consentimiento del titular.
No obstante, el decreto del Poder Ejecutivo 165/94 incluyó al software dentro de la ley
Propiedad Intelectual 11.723, con lo que le brinda protección jurídica y posibilita su registro
en la Dirección Nacional de Derecho de Autor.
Delito informático:
Toda acción consciente y voluntaria que provoca un perjuicio a una persona natural o
jurídica sin que necesariamente conlleve a un beneficio material para su autor, o que, por
el contrario, produce un beneficio ilícito para su autor aun cuando no perjudique de forma
directa o inmediata a la víctima, y en cuya comisión intervienen, indispensablemente, de
forma activa, dispositivos normalmente utilizados en las actividades informáticas.
AUDITORIA FISICA
AUDITORÍA OFIMATICA
El auditor debe verificar que el inventario ofimático refleje con exactitud los equipos y las
aplicaciones existentes en la organización.
La importancia de las bases de datos radica en que son ellas las que gestionan el activo más
importante que tienen las organizaciones, la información.
Es necesario implementar las medidas correctas de protección para las bases de datos,
donde se controlará a los usuarios que ingresan al sistema y el nivel de exposición que
puedan tener a los datos dependiendo de los niveles de autorización establecidos.
Los puntos claves a verificar que tiene que abarcar una metodología incluyen a la definición
de las estructuras físicas y lógicas de las bases de datos, el control de carga y de desempeño
de las bases, la integridad y la protección de la información, los procedimientos de
programación y mantenimiento para aplicativos de las bases, los mecanismos de respaldo y
recuperación de datos.
El primer paso para efectuar una auditoria de aplicaciones es lograr un conocimiento básico
de las aplicaciones que posee la organización y del entorno informático donde están
instaladas.
AUDITORÍA DE LA SEGURIDAD.
La función de la seguridad es asegurarse que los sistemas de información sean accedidos y
modificados solo por el personal autorizado, quienes solo deben actúan dentro de los límites
de su autorización.
AUDITORÍA DE REDES
Aquí es donde se verifican los mecanismos de cifrado para las comunicaciones, para
comprobar la eficiencia de los sistemas existentes y elevar recomendaciones de mejora si
fuere necesario.
Al mismo tiempo, los usuarios deben tener restricciones de acceso por dominios de red, y
solo pueden instalar los aplicativos señalados para sus puestos.
ADMINISTRACIÓN DE PROYECTOS
Se define proyecto como: “designio o pensamiento de ejecutar algo” y como “conjunto de
escritos, cálculos y dibujos que se hacen para dar idea de cómo ha de ser y lo que ha de
costar una obra de arquitectura o de ingeniería”.
“Un proyecto es un trabajo singular con unas fechas definidas de inicio y finalización
(calendario), una especificación clara del objetivo o alcance de la tarea, un presupuesto
preestablecido y, habitualmente, una organización temporal que se desmantela cuando
termina el proyecto” J. Lewis.
El director del proyecto es la persona responsable de alcanzar los objetivos del proyecto. La
dirección de un proyecto incluye:
CICLO DE VIDA
Fase Inicial
Fases Intermedias
Fase Final
EL PROCESO DE GESTIÓN DE PROYECTOS
El PMI (Project Management Institute, ong) define nueve Áreas de Conocimiento que un
Project Manager debe dominar para convertirse en un buen Administrador de Proyectos:
Integración. Son las necesidades de coordinación entre los elementos del proyecto.
Alcance. Deben ser previstos y considerados todos los trabajos necesarios para
terminar el proyecto.
Tiempo. Trata de conseguir que el proyecto termine en el plazo establecido.
Costo. Trata de conseguir que el proyecto se concluya dentro del presupuesto
aprobado.
Calidad. Aseguramiento y control de la calidad.
Recursos Humanos. Optimizar la labor de las personas.
Comunicaciones. Elaboración de informes.
Riesgos. Identificar los factores de riesgo.
Adquisiciones. Compras, proveedores y contrataciones.
ALCANCE: son todos los trabajos, y solo los trabajos necesarios para completar el producto
del proyecto.
Mientras el grado de cumplimiento del Alcance del producto se mide contra las
especificaciones, el grado de cumplimiento de Alcance del Proyecto se mide contra el Plan.
A efectos de Definir el Alcance, será necesario generar la “Declaración del Alcance”, estamos
hablando de un documento que permita declarar con claridad lo que Si está incluido en el
proyecto dejando muy claro lo que No incluye.
Una buena declaración del Alcance (conocida también por su nombre en inglés, (Scope
Statement), se escribe en términos de sus Entregables, es decir los productos o
subproductos que se generan a lo largo del proyecto.
Finalmente suele agregarse otro punto importante a esta declaración: Los supuestos y
restricciones.
Entendemos por restricciones todos los factores que limitan las decisiones del equipo del
proyecto.
Los supuestos son todos los criterios y condiciones que se asumen como ciertos y válidos a
la hora de ejecutar el proyecto.
Llegados al punto en que el Alcance del Proyecto está definido en términos de sus entregables,
es momento de comenzar a pensar en los trabajos que será necesario llevar adelante para
cumplimentar estos entregables.
Para lograr este objetivo se crea una Estructura de Descomposición del Trabajo (EDT) también
conocida como WBS (por su sigla del inglés Work Breakdown Structure).
Una EDT es un agrupamiento de elementos del proyecto, orientado a entregables, que organiza
y define el alcance total del proyecto.
Es el proceso de obtener la aceptación formal del alcance completado del proyecto por los
stakeholders.
Control de Cambios del alcance
Para poder llevar adelante una adecuada gestión de tiempos del proyecto será necesario hacer
un correcto plan de tareas. Para ello deberemos, en primer lugar, hacer una clara y completa
definición de actividades.
Este proceso consiste en identificar y documentar las actividades específicas que deben ser
efectuadas para producir los entregables identificados en la Estructura de Descomposición del
Trabajo (EDT).
Estimación
Lo primero es lograr una predicción de cuál será la cantidad de jornadas laborales que insumirá
cada actividad del proyecto.
Una vez que los recursos han sido claramente determinados es necesario estimar el costo de
utilizar los recursos necesarios para completar las actividades del proyecto.
ESTIMACIÓN DE COSTOS
Estimación de Ingeniería: Requiere un EDT. Estimar cada uno de los paquetes de trabajo.
PRESUPUESTACIÓN
Es distribuir las estimaciones a lo largo del tiempo, lo cual indica que trabajaremos con las
estimaciones y el cronograma.
CONTROL DE COSTOS
La principal técnica para controlar los costos y el avance del proyecto es la Gestión del Valor
Ganado.
El valor Ganado es una técnica de control de proyectos que permite controlar su ejecución y
avance a través del presupuesto y el calendario de ejecución.
La gestión del valor ganado o Earned Value Management (EVM) se utiliza habitualmente en
gestión de proyectos para medir el desempeño de un proyecto.
Mediciones de Valor Ganado:
La estructura de tareas (WBS): una lista de todas las tareas y paquetes de trabajo del
proyecto, estructurados de forma jerárquica.
Una serie de reglas para determinar objetivamente el grado de avance de cada tarea en
términos de los productos logrados.
El cronograma de ejecución: un Diagrama de Gantt con el orden en el que se
desarrollarán las tareas.
Una línea base del proyecto en términos de costos, o lo que es lo mismo, el presupuesto
acumulado a lo largo del tiempo o Curva S.
Proyecciones:
Nos permite entre otras cosas, comparar el total de trabajo realizado hasta una fecha con el
total de trabajo planificado para esa fecha.
Estos análisis de valor ganado nos permitirán evaluar el estado del proyecto y si es necesario
realizar ajustes.
Es un tema que suele generar bastantes dudas, especialmente entre los aspirantes a PMP, que
en su proceso de preparación para la certificación, suelen tener dificultades para entender
algunos de los conceptos clave del EVM.
Budget at Completion (BAC): El presupuesto original planificado para llevar a cabo todo el
trabajo del proyecto.
Planned Value (PV): El presupuesto planificado para conseguir un objetivo en una fecha en
concreto.
Earned Value (EV): Es el valor ganado, lo que realmente hemos conseguido con el presupuesto
que teníamos planificado.
La fórmula para calcular el EV, sería el % total de trabajo completado hasta la fecha x el BAC.
Para obtener los recursos humanos necesarios para el proyecto será necesario:
"El director del proyecto juega el papel más importante en la Ingeniería del Software
autocrático, burocrático.
La mitad del trabajo de hacer que una comunicación sea efectiva es “escuchar”.
“El escuchar debe ser un proceso ACTIVO, que aumenta la comprensión y reduce el
conflicto “
Informes
Son el instrumento más común y estandarizado del que se sirve un gestor de proyectos
para mantener una comunicación escrita con todos los interesados y especialmente con el
cliente, o sponsor.
Gestión de Riesgos
Un Riego es un evento discreto que tiene posibilidad (no certeza) de ocurrir y tiene
algún impacto sobre algún objetivo del proyecto.
Un Plan de Gestión de Riesgos describe como se llevará adelante todos los procesos
vinculados al gerenciamiento de los riesgos desde la identificación hasta la confección
del Plan de Respuesta y el monitoreo y control de los riesgos.
Contratos
Los proyectos requieren generalmente la implementación de numerosas contrataciones
de diversa índole.
El instrumento esencial en estos procesos es el CONTRATO.
Un contrato es un acuerdo vinculante para las partes en virtud del cual una de ellas se
compromete a proveer productos, servicios o resultados especificados, mientras la otra
parte asume el compromiso de retribuir con dinero u otra contraprestación válida y
acordada.
Un contrato:
• Obliga legalmente a las partes.
• Describe derechos y obligaciones
• Documenta un acuerdo
Un contrato se compondrá de un conjunto de Términos y Condiciones.
Cierre de contrato
El cierre del contrato debe aplicarse a cada una de las contrataciones pautadas para el
proyecto.
Consistirá en:
• Verificar que todos los trabajos y productos han sido aceptados.
• Asegurar que se tiene todos los registros de las gestiones del contrato
• Generar el correcto archivo de registros y documentos para reclamos futuros.
Llamamos triple restricción a las tres dimensiones básicas en torno de las cuales gira el
proyecto: Alcance, Tiempo y Costo.
Claramente una mejora en una de las tres dimensiones perjudica alguna de las otras, por lo
que será función del Director de Proyecto tomar las decisiones apropiadas en función de las
necesidades del proyecto y las expectativas de los stakeholders.
La triple restricción de un proyecto esta compuesta por:
ISO 9000
ISO 9000 es una Norma con un conjunto de estándares internacionales que se pueden
utilizar en
el desarrollo de un sistema de gestión de calidad de todas las industrias, pudiéndose
aplicar tanto
a las organizaciones manufactureras como a las de servicios.
ISO 9001 es el estándar más general y se aplica al proceso de calidad de diseño,
desarrollo y
mantenimiento de productos. Hay documentos que interpretan ISO 9001 y ayudan a
entender
mejor la norma, como lo es ISO 9000-3, para el desarrollo de software.
ISO 9001 no es un estándar específico para el desarrollo de software, pero sus
principios son
generales por lo que pueden aplicarse a este, ya que describe aspectos del proceso
de calidad,
estándares y procedimientos, todo debe documentarse en un manual de calidad
organizacional.
En cuanto a los procesos, incluido el de desarrollo de software, debe incluir una
descripción de la
documentación requerida, entre ellos el documento de Especificación de
Requerimientos de
Software, ERS, donde se demuestra que el proceso definido se ha seguido por cada
requerimiento.
¿Qué es y qué no es ISO 9001:2000?
No es un texto de ley.
No es un texto que imponga los medios aplicables para el cumplimiento de sus
requisitos.
No es un texto que exija la implantación de un sistema documental complejo y
difícil de
gestionar.
Es un instrumento de adhesión voluntaria.
Es un texto aplicable a cualquier tipo de organización independientemente de cual
sea su
tamaño y su grado de implantación en el mundo.
Es un texto que exige compromisos.
Objeto
ESPECIFICAR los requisitos de un Sistema de Gestión de la Calidad, cuando una
organización:
Necesita demostrar su capacidad para proporcionar de forma coherente
productos/servicios que satisfagan los requisitos del CLIENTE y los reglamentarios
aplicables.
Aspira a aumentar la satisfacción del CLIENTE a través de la aplicación eficaz del
sistema.
Requisitos
Sistema de gestión de la calidad.
Posee requisitos generales.
Establece los requisitos de la documentación, que son:
o Generalidades
o Manual de la calidad
o Control de los documentos
o Control de los registros
Otros requisitos importantes a destacar de la norma son: MEDICIÓN, ANÁLISIS Y
MEJORA
No se puede mejorar lo que no se puede medir, por lo que es necesario identificar los
indicadores
del proceso que luego de hacer un análisis de los resultados se puede establecer una
mejora.
Los aspectos claves se pueden representar en la siguiente figura:
Consultor: Evalúa una situación y propone una solución. Puede no ser profesional.
Aconsejan como usar las TI.
En esta etapa se definen los elementos clave del Sistema de Gestión de la Calidad
(SGC) y se establece el soporte documental del Sistema.
Paso 5 - Certificación:
Una vez que se haya verificado que el SGC cumpla con los requisitos de la norma
ISO 9001:2015 y se encuentre en funcionamiento en la organización, ésta se pone
en contacto con algún organismo de certificación para comenzar con el proceso de
certificación.