Professional Documents
Culture Documents
DESARROLLO
Instructor
Luis Alberto Pava Carmona
Ingeniero de Sistemas, Especialista en Desarrollo de Software.
2
Tabla de contenido
1. Introducción................................................................................................................ 4
2. Identificación de los puntos críticos del sistema ........................................................... 5
3. Glorasio .................................................................................................................... 12
4. Referencias
Luis Alberto Pava Carmona ................................................................................................. 2
1. INTRODUCCION
3
La identificación de los puntos críticos del sistema de información en desarrollo, es fundamental para
cumplir las expectativas del cliente, en vías de solucionar la problemática planteada, para ello es de
suma importancia que los StakeHolders o partes interesadas sigan estrictamente las normas,
buenas prácticas, estándares de calidad, modelos, tiempos, etc., puesto que a medida que se avanza
en el ciclo de vida del software, son muchos los factores que influyen en que el resultado final no sea
el esperado, si no se siguen los lineamientos de desarrollo tenidos en cuenta para cumplir las tareas
u objetivos del proyecto.
Para que en el desarrollo del proyecto no haya inconvenientes de este tipo, es importante establecer
los posibles errores y como solucionarlos con una propuesta objetiva, clara y realizable.
ISO/IEC 9000-3
ISO/IEC 9004-2
ISO/IEC 9126
ISO/IEC 1091
ISO/IEC 12207
ISO/IEC 14598
ISO/IEC 15504
ISO/IEC 25000
ISO/IEC 27001:2013
IEEE 830-1998
Esta es una lista de los muchos estándares que hay hoy día para gestionar la calidad del software,
hay que aclarar que en la práctica no se pueden utilizar todos al tiempo, no se trata de eso, sino
simplemente identificar las condiciones del proyecto y partiendo de esto se implementa el estándar
más adecuado.
4
ITEM PROPUESTA EVITAR ERROR
1 El analista es el responsable de la documentación, por lo que debe ser el mismo analista el que Desviación intencional de
trate de asegurarse de que no hay lagunas de comprensión o puntos grises, visto que desde los requerimientos del
el comportamiento humano el cliente puede asumir algo diferente de lo que cree el analista cliente.
que se requiere, tener esto en mente es muy importante para evitar ambigüedades y que las Requerimientos erróneos o
partes interesadas interpreten la documentación de la manera incorrecta. incompletos.
También se opta por realizar los diagramas de casos de usos, que aportan a la mejor
comprensión de los requerimientos del cliente, ya que estos se enfocan en que la solución
planteada para el problema específico sea entendida por todas las partes interesadas, por
medio de un lenguaje grafico estandarizado como lo es UML.
Así como hay RF que se tratan de “lo que hace” el sistema, también hay RNF que se tratan de
“como lo hace”, siendo estas características del sistema como la seguridad, escalabilidad,
mantenibilidad, robustez, usabilidad, disponibilidad, estabilidad, rendimiento, etc.
Prácticamente para la correcta especificación de los requerimientos, se propone tener en
cuenta los siguientes factores:
En cualquier caso, tanto los RF como los RNF deben estar siempre documentados, incluso si es
difícil establecer la relación entre ellos. Esto ayudará al equipo a reducir las discusiones de ida y
vuelta, ahorrar tiempo y, sobre todo, problemas innecesarios con el cliente.
2 En la representación de datos es imposible prever todos los factores que pueden ocasionar Error en la representación
errores en el desarrollo del proyecto SIGEF, aun así, es importante planificar de forma de los datos.
5
cuidadosa las distintas maneras de afrontar estos problemas, además hay que tener en cuenta
tres factores:
1. Existen muchos factores que pueden causar errores o fallos en la estructura de datos.
2. En algunos patrones de modelado se pueden tener determinados errores.
3. En ocasiones el equipo de desarrollo le puede atribuir esos determinados errores a
algún tipo de patrón de modelado, por ello se debe investigar cuales son los patrones
de modelado que causan este tipo de errores, con qué frecuencia, específicamente
que componente del patrón lo causa y como evitar estos errores esto con el fin de
evitar la pérdida de recursos por este tipo de problemas,
Como propuesta para evitar estos problemas, es vital seguir los siguientes modelos para la
estructuración de los datos del sistema de información, e identificar los componentes de estos
que causen problemas a la hora de representar los datos.
Cada uno de estos modelos tiene una estructura técnica para representar de la manera
correcta los datos, aunque hay que tener en cuenta que en el modelado de datos se pierde
eficacia y utilidad cuando; Se sobredimensionan los datos o Falta claridad y definición del
propósito de los datos.
Para lograr una exitosa representación de los datos sin errores, el analista o grupo de desarrollo
se deberán ceñir a los siguientes puntos:
2. Evitar que el modelado de datos se lleve a cabo de forma simultánea con el desarrollo de
software.
5. Recordar que es la información contenida en los datos la que da sentido a las aplicaciones, y
no al contrario.
3 A medida que se avanza cada vez más en el proyecto, se toma conciencia sobre la aplicación Pruebas de software
de pruebas de software, siendo estas necesarias para el cumplimiento de los requerimientos incompletas o erróneas.
del cliente, algunas pruebas son manuales, otras automáticas o con enfoques diferentes,
6
también pueden tener varios niveles, existen muchos tipos de pruebas, estas se dividen en
funcionales y no funcionales, algunas de ellas son:
Como propuesta y con el fin de evitar pruebas incompletas o erróneas, es importante que el
programador cuente con las competencias técnicas necesarias para dicha tarea, ya que es más
seguro que el programador con experiencia en este terreno se desempeñe mejor, que uno sin
experiencia, para así evitar pruebas incompletas o erróneas, es importante que el programador
encargado de esta tarea retroalimente a los demás, para que en conjunto se realicen las tareas.
Utilizar herramientas para la realización de pruebas de cualquier tipo es clave, ya que estas
buscan mejorar la calidad del software en desarrollo, estás pueden ser utilizadas como:
Debe tenerse en cuenta que hay herramientas de Software Libre, Código abierto, Software
Privado, partiendo de ello es recomendable utilizar las que más se ajusten a las necesidades
del proyecto, en el caso del proyecto SIGEF (sistema gestor de Farmacia), se opta por la
utilización de herramientas gratuitas.
4 Este caso tiene mucho que ver con el ACS (aseguramiento de la calidad del software), este se Documentación inexacta o
compone por herramientas, métodos, estándares y técnicas para gestionar la calidad de un incompleta.
proyecto, con el fin de controlar diferentes aspectos del ciclo de vida del mismo, entre ellos la
gestión de documentación, esto para evitar DII (Documentación Incompleta o Inexacta),
7
permitiéndonos controlar la calidad de la documentación y su trazabilidad, el ACS está
diseñado para acoplarse a cualquier metodología de desarrollo y de esta manera administrar
la calidad en el desarrollo de un proyecto.
1. Un proceso de ACS.
2. Tareas específicas de aseguramiento de la calidad y control de la calidad.
3. Prácticas eficientes de ingeniera de software (métodos y herramientas).
4. Control de todos los productos del trabajo de software y de los cambios que sufren.
5. Un procedimiento para garantizar el cumplimiento de los estándares del desarrollo
de software.
6. Mecanismos de medición y reporte.
A través del ACS no se busca solamente evitar todo tipo de errores, si no también mejorar continuamente
los procesos en el desarrollo de software por medio de la recolección y análisis de los errores.
8
Estos factores son posteriormente tenidos en cuenta en la realización del prototipo, con el fin
de que las partes interesadas puedan opinar respecto al diseño, depurando errores y
considerando las opiniones del usuario final.
Para la elaboración del prototipo en el caso del proyecto SIGEF, se utilizó la herramienta
Balsamiq mockups 3, además de borradores a mano que sirvieron de guía para establecer la
interfaz básica del sistema y su funcionamiento.
Diagrama de actividades.
Diagrama de Clases.
Diagrama de Secuencia.
Diagrama de Casos de Uso.
Diagrama de Estados.
Diagrama de Componentes.
Diagrama de Despliegue.
Diagrama de Objetos.
Diagrama de Paquetes.
Diagrama de Tiempos.
Diagrama de Colaboración.
Diagrama de Interacción.
Diagrama de Composición.
Visualizar: UML permite modelar de una forma gráfica un sistema de forma que otro lo
puede entender.
Especificar: UML permite especificar cuáles son las características de un sistema antes de
su desarrollo.
Construir: por medio de los modelos especificados se pueden construir los sistemas
diseñados.
9
Documentar: los propios elementos gráficos sirven como documentación del sistema
desarrollado, lo cual ayudará al mantenimiento de las soluciones conceptuales en el
transcurso del tiempo.
7 A veces por no tener el conocimiento de la forma correcta de desarrollar cada diagrama de Error en la traducción al
UML, se realiza la diagramación del sistema de la manera como el diseñador cree que se lenguaje de programación
utilizan las representaciones gráficas, diseñando un diagrama de la forma incorrecta. a partir del diseño.
Hay es cuando surgen errores en la traducción al código, una de las herramientas para el
diseño de diagramas UML es StartUML, está también genera el código a partir del diseño, esta
herramienta aliada de los programadores, puede ayudar en gran parte en la traducción de las
representaciones graficas a código, pero aun así eso no significa que el trabajo este hecho,
ayuda bastante pero pueden ocurrir diferentes errores en la traducción del código, por esto es
de suma importancia no solo revisar el código que se genera a partir de este tipo de
herramientas, si no hacer la gestión adecuada para que se cumpla con la funcionalidad del
sistema informático, como la calidad del código previniendo futuros reprocesos, perdida de
recursos, desgaste del personal o hasta la reestructuración del código.
10
8 Para prevenir la deficiente interpretación de la comunicación con el cliente se propone el uso Deficiente interpretación
específico del Diagrama de Comunicación del estándar UML, con el cual podemos definir de la comunicación con el
claramente la comunicación del sistema con el cliente, permitiendo de esta forma estructurar cliente.
la lógica del negocio como la de presentación de datos e interfaz, respecto a las necesidades
del usuario final, además hay que considerar los factores del diseño de la interfaz para cumplir
con los requerimientos funcionales como no funcionales, esto para que el sistema de
información logre una comunicación armoniosa con el user.
11
3. GLOSARIO
StakeHolders: también llamados partes interesadas son todas aquellas personas, entidades y grupos
implícitos directa o indirectamente en el desarrollo de un proyecto de software.
IEEE 830-1998: El estándar IEEE 830-1998 para el SRS (en inglés) o ERS (Especificación de
requerimientos de software) es un conjunto de recomendaciones para la especificación de los
requerimiento o requisitos de software el cual tiene como producto final la documentación de los
acuerdos entre el cliente y el grupo de desarrollo para así cumplir con la totalidad de exigencias
estipuladas.
ISO 9000-3: Es una norma derivada de la ISO 9001 dedicada al proceso de desarrollo con calidad del
software. Cuando se publicó la ISO 9001 resultaba difícil aplicar esta norma genérica a el proceso de
software por esta razón se creó la ISO 9000-3 para el desarrollo, implementación y mantenimiento del
software.
12
4. REFERENCIAS
http://normiso9000.blogspot.com/2016/03/iso-9000-3.html
https://soporteadsi.blogspot.com/2018/05/glosario.html
https://www.redalyc.org/articulo.oa?id=92218339013
http://estandarescalidadsoftware.blogspot.com/
https://medium.com/@requeridosblog/requerimientos-funcionales-y-no-funcionales-
ejemplos-y-tips-aa31cb59b22a
https://blog.es.logicalis.com/analytics/modelo-de-datos-los-errores-que-salen-mas-caros
https://www.paradigmadigital.com/dev/tdd-como-metodologia-de-diseno-de-software/
https://www.omg.org/spec/UML/About-UML/
13