0% encontró este documento útil (0 votos)
32 vistas9 páginas

Unidad 1

Cargado por

chupaescroto88
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas9 páginas

Unidad 1

Cargado por

chupaescroto88
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIDAD 1: Conceptos implementación Software

Análisis de requisitos

Proceso de recopilar, documentar y validar los requisitos del sistema para asegurar que el
software desarrollado cumpla con las necesidades del usuario. Algunos aspectos clave del
análisis de requisitos incluyen:

1. Elicitación de requisitos: se refiere a la recopilación de requisitos del sistema a través


de entrevistas, encuestas, estudios de mercado, etc.
2. Documentación de requisitos: se refiere a la creación de documentos que describen los
requisitos del sistema, incluyendo casos de uso, historias de usuario, diagramas de
flujo, etc.
3. Validación de requisitos: se refiere a la verificación de que los requisitos del sistema
son precisos, completos, consistentes y cumplen con los objetivos del sistema.
4. Administración de requisitos: se refiere a la gestión de los requisitos del sistema a lo
largo del ciclo de vida del proyecto, incluyendo el seguimiento y la revisión de los
requisitos.
5. Comunicación de requisitos: se refiere a la comunicación de los requisitos del sistema
al equipo de desarrollo y a los stakeholders.
6. Priorización de requisitos: se refiere a la evaluación de los requisitos del sistema y la
determinación de cuáles son más importantes para el proyecto.
7. Análisis de riesgos: se refiere a la evaluación de los riesgos asociados a los requisitos
del sistema y la determinación de medidas para mitigarlos.
La importancia de los requisitos en el desarrollo de software se puede resumir en los
siguientes puntos:

1. Dirección del proyecto: Los requisitos proporcionan una base sólida para planificar,
diseñar y construir el software. Sin una comprensión clara de los requisitos, el proyecto
puede desviarse de su objetivo original y no cumplir con las necesidades del usuario.
2. Comunicación: Los requisitos proporcionan una base común para la comunicación
entre los miembros del equipo, el cliente y los usuarios. Esto ayuda a asegurar que
todos los interesados estén alineados y tengan una comprensión común del software
que se está construyendo.
3. Calidad del software: Los requisitos son la base para diseñar pruebas y verificar la
calidad del software. Sin una comprensión clara de los requisitos, es difícil asegurar
que el software cumpla con las necesidades del usuario.
4. Mantenimiento: Los requisitos proporcionan una base para el mantenimiento del
software. Los cambios en el software deben ser evaluados en relación con los
requisitos originales para asegurar que el software sigue cumpliendo con las
necesidades del usuario.
5. Protección de la inversión: Los requisitos son esenciales para asegurar que el software
se construye de manera rentable y eficiente. Sin una comprensión clara de los
requisitos, el proyecto puede desviarse y generar costos adicionales.

Dentro del orden de Requerimientos, situados en el punto más alto, se encuentran las
necesidades de los Stakeholders, estos se orientan a oportunidades (problemas) de Negocio
las cuales deben de ser cubiertas de forma satisfactoria. Algunas de estas oportunidades
desencadenan la realización de un sistema de Software.

Los requisitos tienen cualidades o atributos útiles en el proceso de desarrollo de software.


Algunas son:
1. Completitud: Los requisitos deben ser completos y detallados para proporcionar una
comprensión clara de lo que el software debe hacer.
2. Verificabilidad: Los requisitos deben ser verificables, es decir, deben poder ser
comprobados mediante pruebas o inspecciones.
3. Consistencia: Los requisitos deben ser consistentes entre sí y con los objetivos del
proyecto.
4. Rastreables: Los requisitos deben poder ser rastreados a través de todo el proceso de
desarrollo, desde la recolección hasta la verificación y la implementación.
5. Modificabilidad: Los requisitos deben ser modificables para adaptarse a los cambios en
el proyecto o en las necesidades del usuario.
6. Priorización: Los requisitos deben ser priorizados en función de su importancia y
urgencia para el proyecto.
7. Atómicos: Los requisitos deben ser lo suficientemente pequeños y específicos para
poder ser implementados de manera independiente.
8. Reutilizables: Los requisitos deben ser reutilizables para ser utilizados en futuros
proyectos.
9. Probables: Los requisitos deben ser comprobados mediante pruebas.
10. No ambiguos: Los requisitos deben ser claros y no ambiguos para evitar
malentendidos.

Clasificación de requerimientos

Requerimientos funcionales
Describen las funcionalidades y características que el software debe tener para cumplir con
las necesidades del usuario. Estos requerimientos describen lo que el software debe hacer, no
cómo debe hacerlo. Los requerimientos funcionales suelen incluir:

1. Descripciones de funcionalidades: describen las funciones que el software debe


proporcionar, como la captura de datos, la generación de informes, la gestión de
usuarios, etc.
2. Interfaces de usuario: describen cómo el usuario interactuará con el software,
incluyendo menús, pantallas y controles.
3. Procesos de negocio: describen cómo el software se integra en los procesos de
negocio existentes, incluyendo la integración con otros sistemas y aplicaciones.
4. Restricciones: describen las limitaciones del software, como la capacidad de
almacenamiento, las restricciones de seguridad, etc.
5. Requerimientos de rendimiento: describen las especificaciones técnicas, como la
velocidad de procesamiento, la capacidad de memoria, etc.
6. Requerimientos de usabilidad: describen las expectativas del usuario en cuanto a la
facilidad de uso, la accesibilidad y la compatibilidad con dispositivos.
7. Requerimientos legales y de cumplimiento: describen las obligaciones legales y de
cumplimiento que el software debe cumplir, como la privacidad de los datos, la
seguridad y la accesibilidad.
Requerimientos no funcionales
Describen las características y cualidades que el software debe tener, pero que no están
relacionadas directamente con las funcionalidades de este. Estos requerimientos describen
cómo el software debe hacer lo que se espera de él, no necesariamente lo que debe hacer.
Los requerimientos no funcionales pueden incluir:

1. Requerimientos de rendimiento: describen las especificaciones técnicas, como la


velocidad de procesamiento, la capacidad de memoria, la capacidad de
almacenamiento, etc.
2. Requerimientos de seguridad: describen los niveles de seguridad necesarios para
proteger los datos y el sistema.
3. Requerimientos de escalabilidad: describen la capacidad del sistema para crecer y
adaptarse a cambios en el número de usuarios y en el volumen de datos.
4. Requerimientos de usabilidad: describen las expectativas del usuario en cuanto a la
facilidad de uso, la accesibilidad y la compatibilidad con dispositivos.
5. Requerimientos de disponibilidad: describen los niveles de disponibilidad requeridos
para el sistema, incluyendo tiempos de actividad y recuperación en caso de fallos.
6. Requerimientos de compatibilidad: describen las limitaciones de compatibilidad con
otros sistemas y aplicaciones.
7. Requerimientos legales y de cumplimiento: describen las obligaciones legales y de
cumplimiento que el software debe cumplir, como la privacidad de los datos, la
seguridad y la accesibilidad.

Entorno Organizacional

El diseño de software en un entorno organizacional se refiere a cómo el proceso de desarrollo


de software se integra en la estructura y los procesos de una organización. Algunos factores
clave a considerar en el diseño de software en un entorno organizacional son:

1. Procesos de negocio: el diseño de software debe asegurar que se cumplan los


procesos de negocio existentes y se integre con ellos de manera eficiente.
2. Cultura organizacional: el diseño de software debe tener en cuenta la cultura
organizacional, ya que puede afectar la adopción y el éxito del software.
3. Estructura organizacional: el diseño de software debe tener en cuenta la estructura
organizacional, ya que puede afectar la comunicación y la colaboración entre los
miembros del equipo.
4. Recursos humanos: el diseño de software debe tener en cuenta los recursos humanos,
incluyendo habilidades, experiencia y disponibilidad del equipo de desarrollo.
5. Recursos financieros: el diseño de software debe tener en cuenta los recursos
financieros disponibles, ya que pueden afectar el alcance y la escala del proyecto.
6. Políticas y regulaciones: el diseño de software debe cumplir con las políticas y
regulaciones internas y externas de la organización.
7. Seguridad y privacidad: el diseño de software debe garantizar la seguridad y privacidad
de los datos.
8. Sostenibilidad: el diseño de software debe garantizar la sostenibilidad del sistema a
largo plazo, incluyendo la escalabilidad, el rendimiento y la mantenibilidad.
9. Adopción y adopción de usuarios: el diseño de software debe garantizar que el
software sea fácil de usar y adoptar para los usuarios.

Normativa
Existen varias normativas y estándares que se aplican al diseño de software en un entorno
organizacional. Algunos ejemplos comunes son:

1. ISO/IEC 12207: es un estándar internacional que establece los procesos y las prácticas
para el desarrollo, la operación y el mantenimiento del software.
2. ISO/IEC 15504 (SPICE): es un estándar internacional para la evaluación y mejora del
proceso de software.
3. ISO/IEC 15288: es un estándar internacional que establece un marco para la gestión
de proyectos de software.
4. ISO/IEC 9126: es un estándar internacional que establece los criterios de calidad para
el software.
5. CMMI: es un marco para mejorar los procesos de software que proporciona una
estructura para la evaluación y mejora de los procesos de software.
6. COBIT: es un marco para la gestión de TI que proporciona una estructura para la
evaluación y mejora de los procesos de TI.
7. ITIL: es un marco para la gestión de servicios TI que proporciona una estructura para la
gestión de los servicios TI.

Estas normativas y estándares proporcionan un marco para el diseño de software en un


entorno organizacional y ayudan a garantizar que se cumplan los estándares de calidad y
seguridad necesarios.

Herramientas Ofimáticas

Es la mezcla de los términos oficina e informática. El concepto, hace referencia a la


automatización de las comunicaciones y procesos que se realizan en una oficina. El término
ofimática, se refiere a todas las herramientas y métodos que se aplican a las actividades de
oficina que posibilitan el procesamiento computarizado de datos escritos, visuales y sonoros.
La ofimática tiene como objetivo, proporcionar elementos que faciliten la simplificación, mejora
y automatización de las actividades de una compañía o grupo de personas (gestión de datos
administrativos, sincronización de reuniones, etc.).

Herramientas de trabajo colaborativo


Básicamente son los sistemas que permiten acceder a ciertos servicios que facilitan a los
usuarios comunicarse y trabajar conjuntamente sin importar que estén reunidos un mismo
lugar físico.

Las herramientas online para el trabajo colaborativo son las más usadas actualmente. La
comunicación, tanto interna como externa, es el eje central del trabajo cooperativo y existen
diversas plataformas para fomentarlas:
• Correo electrónico y listas de distribución: El correo electrónico es de las herramientas
más antiguas, pero sigue siendo muy útil para acordar tareas o enviar trabajos realizados.
Mediante las listas de distribución podemos informar a más personas de lo que necesitemos.

• Foros: Permite reunir conversaciones sobre un tema concreto. Permite tener


discusiones y compartir opiniones, ideas e información. Tiene un administrador, un moderador
y los usuarios.

• Chat y mensajería instantánea: Se trata de comunicaciones instantáneas a través de


Internet. En la actualidad también permite añadir vídeo y audio.

• Blogs: Se trata de un sitio web donde se publican entradas (post) y permite a los
lectores dejar comentarios.

• Microblogs: Son publicaciones que no pueden exceder un máximo de caracteres. En


los trabajos colaborativos sirven para hacer llegar al resto de integrantes pensamientos o
ideas.

• Redes sociales: son espacios virtuales dedicados a la interacción. Son característicos


su bidireccionalidad e inmediatez. Permite difundir información y transmitir conocimientos, o
contar en lo que se está trabajando. También fomenta la cooperación en la gestión de
proyectos.

Ofimática en la nube
Las herramientas ofimáticas han evolucionado hasta el punto de tener servicios conectados a
la nube que permiten el trabajo en equipo y facilitan la labor de quienes requieren de sus
servicios, hay más aplicaciones que nos permiten utilizar los servicios tradicionales y además
utilizar otros componentes que facilitarán las labores.

Implantación de Software

¿Qué es?
La implantación de software es el proceso de instalación, configuración y puesta en marcha
de un sistema de software en un entorno específico. En términos generales, se refiere a la
implementación de un software en un ambiente de producción después de haber sido
desarrollado y probado. La implantación de software también puede incluir la transferencia de
datos y la formación de los usuarios. El objetivo principal de la implantación de software es
asegurarse de que el sistema de software se integre con éxito en la infraestructura existente y
cumpla con los requisitos del usuario final. También es importante garantizar que el software
se mantenga y actualice de manera adecuada después de su implantación.
Procedimientos
En términos generales, se puede seguir un procedimiento similar al siguiente:

1. Planificación: definir los objetivos y alcance de la implantación, así como los recursos
necesarios y el calendario de implementación.
2. Análisis de requisitos: identificar los requisitos del software y la infraestructura
necesarios para su implementación.
3. Diseño: crear un plan detallado de la implantación, incluyendo el diseño de la
arquitectura del sistema y los procedimientos de pruebas.
4. Implementación: instalar y configurar el software y la infraestructura necesarios.
5. Pruebas: realizar pruebas para asegurarse de que el software funcione correctamente y
cumpla con los requisitos.
6. Capacitación: entrenar a los usuarios y personal involucrado en el uso y mantenimiento
del software.
7. Implementación en producción: lanzar el software en producción y monitorear su
desempeño.
8. Mantenimiento: proporcionar soporte y realizar actualizaciones y correcciones de
errores según sea necesario.

Es importante recordar que el proceso de implantación puede ser complejo y requiere una
gestión cuidadosa para asegurar que se logren los objetivos y se mantenga la satisfacción del
usuario final.

Estrategias de Implantación
Existen diversas estrategias de implantación de software que se pueden utilizar, dependiendo
del tipo de software, el tamaño de la empresa, el presupuesto, la complejidad del sistema y
otros factores. Algunas estrategias comunes incluyen:

1. Implantación directa: Esta estrategia implica reemplazar completamente el sistema


anterior con el nuevo software. Es adecuada para pequeñas empresas o cuando el
sistema anterior no es crítico para la empresa.
2. Implantación por fases: Esta estrategia implica implementar el nuevo software en
etapas. Cada fase puede incluir diferentes módulos o áreas del sistema. Es adecuada
para empresas más grandes o para sistemas críticos que no se pueden reemplazar de
una sola vez.
3. Implantación paralela: Esta estrategia implica ejecutar el software anterior y el nuevo
software en paralelo durante un período de tiempo para comparar los resultados. Es
adecuada para empresas que necesitan asegurarse de que el nuevo software es
compatible con el sistema anterior.
4. Implantación piloto: Esta estrategia implica implementar el software en un pequeño
grupo de usuarios, analizar los resultados y luego implementarlo en toda la empresa.
Es adecuada para empresas grandes o sistemas críticos que requieren una prueba
exhaustiva antes de su lanzamiento completo.

Herramientas de Implantación
Algunas herramientas utilizadas en la implantación de software son:

1. Herramientas de migración de datos: Permiten transferir datos desde sistemas antiguos


a nuevos sistemas de forma rápida y sencilla.
2. Herramientas de configuración: Ayudan a configurar el software para que se adapte a
las necesidades específicas de la empresa.
3. Herramientas de pruebas: Permiten probar el software en diferentes escenarios y
detectar posibles errores antes de su lanzamiento.
4. Herramientas de automatización: Simplifican los procesos de implantación al
automatizar tareas repetitivas y reducir el tiempo necesario para la implantación.
5. Herramientas de seguimiento y control: Permiten llevar un registro detallado de todo el
proceso de implantación y facilitan la identificación de posibles problemas.

Algunos ejemplos de herramientas para la implantación de software son:

1. Ansible: Es una plataforma de automatización que permite el aprovisionamiento,


configuración y orquestación de sistemas. Se utiliza para la implantación de software
en servidores y dispositivos de red.
2. Docker: Es una herramienta que permite la creación, despliegue y ejecución de
aplicaciones en contenedores. Se utiliza para la implantación de software en diferentes
entornos, como en la nube o en servidores físicos.
3. Puppet: Es una herramienta de gestión de configuración que permite la automatización
del despliegue de software. Se utiliza para la implantación de software en servidores y
dispositivos de red.
4. Jenkins: Es una herramienta de integración continua que permite la construcción,
prueba y despliegue automático de software. Se utiliza para la implantación de software
en diferentes entornos, como en la nube o en servidores físicos.
5. AWS CloudFormation: Es una herramienta de Amazon Web Services que permite la
automatización de la infraestructura de la nube. Se utiliza para la implantación de
software en entornos de la nube de AWS.
6. Chef: Es una herramienta de gestión de configuración que permite la automatización
del despliegue de software. Se utiliza para la implantación de software en servidores y
dispositivos de red.

Estas son solo algunas de las herramientas disponibles en el mercado para la implantación de
software. La elección de una u otra dependerá de las necesidades específicas de cada
proyecto y de las características del entorno en el que se va a implantar el software.

También podría gustarte