Está en la página 1de 10

lOMoARcPSD|23084357

Unidad 2

METODOLOGIA DE DESARROLLO DEL SOFTWARE

Tarea Virtual 2
lOMoARcPSD|23084357

Tarea virtual 2
Tema: Elaboración de escenarios relacionadas con el proceso del desarrollo del software,
con alcance o implicación profesional.

Objetivo: Aplicar conocimientos sobre ingeniería de requerimientos, especificaciones y


arquitectura, a través de la elaboración y creación de escenarios relacionadas con el
proceso del desarrollo del software, con alcance o implicación profesional.

Actividad 1
Investigue sobre los requerimientos funcionales que los sistemas de información
resuelven, es decir, sobre las tareas que el sistema debe hacer al momento de iniciar la
etapa de producción, luego de haber realizado el desarrollo y pruebas.
Buscar ejemplos de sistemas de gestión y describir cada uno de ellos. Escribir el nombre
técnico del sistema y lo que hace el sistema.

Essential Software Engineering (ESE).

Es un plan de estudios integral de capacitación en video para gerentes y profesionales


que deben comprender y aplicar las prácticas de ingeniería de software. ESE
proporciona a su organización capacitación "justo a tiempo" en ingeniería de software.
Las personas pueden elegir los componentes de ESE que sean más apropiados para
sus necesidades actuales y pueden centrarse en los módulos de entrega de
conocimientos que son de necesidad inmediata.

Componentes y módulos de ESE.

ESE se compone de nueve (9) componentes principales que abordan todos los
aspectos clave de la práctica de la ingeniería de software. Cada componente de ESE

Online ITB
2
Recurso de aprendizaje
lOMoARcPSD|23084357

está organizado en dos o más módulos, cada uno de


aproximadamente una hora de duración, que abordan un tema específico de ingeniería
de software.
Todos los componentes van acompañados de un libro de trabajo detallado, que
contiene una discusión escrita de temas importantes, ejercicios y una prueba posterior
para cada módulo. Cada componente y módulo de ESE se describe a continuación:

Componente 1: Visión general de la ingeniería de software


1: Software e Ingeniería de Software. Describe el software y los componentes básicos
del proceso que se utilizan para construirlo.
2: Paradigmas de Ingeniería de Software. Presenta un conjunto de modelos de
procesos alternativos que se pueden utilizar para implementar procedimientos, métodos
y herramientas de ingeniería de software.
3: Temas de mejora de procesos. Introduce una estrategia pragmática para mejorar
las prácticas de ingeniería de software dentro de su organización.

Componente 2: Gestión de proyectos de software.


1: Medición y Métricas. Analiza cómo se puede utilizar la medición para ayudar a un
gerente de proyecto a estimar, controlar la calidad del producto y evaluar la eficacia
del proceso de software.
2: Estimación de Proyectos. Presenta técnicas específicas para estimar el esfuerzo, la
duración y la dotación de personal del proyecto
3: Análisis de Riesgos. Proporciona pautas para identificar riesgos, evaluar su
probabilidad e impacto, y desarrollar un plan para mitigarlos, monitorearlos y
gestionarlos.
4: Programación, Dotación de Personal y Control. Discute cómo establecer un
cronograma de proyecto efectivo, las opciones para definir las estructuras de equipo y
proporciona una introducción básica a SQA y SCM como mecanismos de control del
proyecto.

Componente 3: Ingeniería de la Información (SA/SD).

1: Ingeniería de la Información. Introduce técnicas que se pueden aplicar para analizar


las necesidades de información de una empresa.
2: Fundamentos del análisis. Considera métodos para los requisitos reúne y presenta
cinco principios básicos que rigen todo el trabajo de análisis
3: Análisis Estructurado (presentado en tres partes). Presenta métodos para el
modelado de datos, representaciones de flujo de datos y modelado de procedimientos
y comportamiento.
4: Fundamentos de diseño. Presenta un conjunto de características básicas que
conducen a diseños de software de alta calidad.
5: Diseño estructurado. Cubre la notación y la heurística asociadas con un método
para derivar diseños de datos, así como diseños arquitectónicos y procedimentales.

Componente 4: Estrategias de reingeniería.

Online ITB
3
Recurso de aprendizaje
lOMoARcPSD|23084357

1: Reingeniería de Negocios y Aplicaciones. Discute cómo


rediseñar sistemas y aplicaciones de información, presentando un paradigma de
reingeniería para este trabajo.
2: Reingeniería de Procesos. Presenta un modelo de seis pasos para la mejora de
procesos de software.

Componente 5: Métodos orientados a objetos.


1: Conceptos orientados a objetos. Presenta cada uno de los conceptos importantes
de OO que hacen que la ingeniería de software orientada a objetos sea única. 2:
Análisis Orientado a Objetos. Presenta los principios básicos que subyacen a todos
los buenos modelos de análisis y los métodos que se aplican para crear modelos
para aplicaciones orientadas a objetos.
3: Diseño orientado a objetos. Analiza los principios, la notación de modelado y la
heurística que se requieren para construir un modelo de diseño OO.
4: Reutilización y problemas de gestión. Aborda una de las consecuencias clave de la
ingeniería de software orientada a objetos&emdash; reusabilidad&emdash; y también
considera los problemas de gestión de proyectos de OO y las pruebas para el software
de OO.

Componente 6: Pruebas de software.


1: Conceptos de pruebas de software. Discute los objetivos de las pruebas, las
limitaciones que enfrentan los ingenieros de software y las diferentes organizaciones
que se involucran en el proceso de prueba.
2: Métodos de diseño de casos de prueba. Presenta métodos de prueba de caja
blanca y caja negra. Estos métodos dan como resultado el diseño de casos de prueba
que tienen una alta probabilidad de encontrar errores.
3: Estrategias de prueba. Presenta una estrategia sistemática para realizar pruebas a
medida que el software se construye, valida y entrega.

Componente 7: Aseguramiento de la calidad del software.

1: Calidad del software. Analiza cómo se define la calidad del software, los factores
que afectan a la calidad desde una perspectiva técnica y las métricas que se utilizan
para evaluar la calidad del producto.
2: Actividades SQA. Presenta actividades fundamentales de aseguramiento de la
calidad del software (SQA).
3: Revisiones de software. Presenta las funciones de los diferentes participantes de la
revisión, la logística de las revisiones técnicas formales y la información que resulta al
concluir una revisión.

Componente 8: Gestión de la configuración de software.


1: Cambio y Conceptos Básicos de SCM. Discute el cambio y su impacto en el
proyecto de software. También se introducen conceptos básicos de SCM.
2: Identificación y Control de Versiones. Presenta las actividades de SCM que permiten
a un equipo de proyecto identificar y controlar los elementos de la configuración del
software.
3: Control de cambios. Presenta el proceso que permite a un equipo de proyecto de
software controlar el cambio sin retrasar el progreso.

Online ITB
4
Recurso de aprendizaje
lOMoARcPSD|23084357

Componente 9: Desarrollo de software ISO 9000.


1: Fundamentos de la norma ISO 9000. Describe la filosofía ISO de garantía de
calidad, el proceso de registro, el papel de la auditoría y compara ISO 9000 con el
Modelo de Madurez de Capacidad del Instituto de Ingeniería de Software y los
estándares de ingeniería de software IEEE.
2: Norma ISO 9001. Proporciona una explicación detallada de cada uno de los
requisitos de la norma, la documentación asociada con cada requisito y los registros
considerados por los auditores para cada requisito.
3: Directrices ISO 9000-3. Analiza el modelo específico de software que muchas
organizaciones han utilizado para registrarse en ISO 9001. Se describen las tres
partes del modelo y las áreas de preocupación.
4: Desarrollo de un sistema compatible con 9001. Presenta una cronología para lograr
el registro ISO. Se describen los problemas comunes encontrados y consejos sobre
cómo evitarlos.

USOS DEL SOFTWARE (ESE).


Este software brinda la capacidad de proporcionar capacitación de alta calidad ya sea
grupal o individual; "justo a tiempo", orientando el contenido y la presentación según
sea necesario, cuando sea necesario.
El número de personas involucradas en la ingeniería de software dentro de su
empresa y su compromiso de capacitación local dictarán la forma en que utiliza ESE.
La capacitación individual de ESE se centra en profesionales y gerentes (así como en
otras partes interesadas) que desean aprender sobre ingeniería de software fuera del
contexto de cualquier actividad de capacitación grupal. La formación individual se lleva
a cabo a un ritmo definido por el estudiante y se centra en temas que son de interés
directo para el estudiante.
ESE también se puede utilizar para capacitar a grandes grupos de profesionales y
gerentes de software. ESE se puede utilizar como el único vehículo para la
capacitación en ingeniería de software o para complementar otras formas de
capacitación (por ejemplo, presentaciones formales en el aula y trabajo en proyectos).
Es posible aumentar las sesiones de visualización grupal al proporcionar instrucción
en vivo adicional y trabajo de laboratorio orientado al equipo asociado con cada tema
de ESE. Por ejemplo, se podría presentar un componente GENÉRICO de ESE en la
planificación de proyectos de software. Después de la presentación genérica, un
instructor puede presentar una visión detallada de los enfoques de procedimiento
locales para la gestión de proyectos de software, incluida una discusión de los hitos
predefinidos de la empresa; herramientas de programación aplicadas localmente; y los
mecanismos de presentación de informes de proyectos requeridos (por ejemplo,
números de cargos, identificación de tareas y administración de personal).

El SEI: El Líder en Ingeniería de Software y Ciberseguridad


El SEI, investiga problemas complejos de ingeniería de software, ciberseguridad e
ingeniería de IA; crear y probar tecnologías innovadoras; y la transición de las
soluciones maduras a la práctica. Hemos estado trabajando con el Departamento de
Defensa, Agencias gubernamentales y la industria privada desde 1984 para ayudar a
cumplir con los objetivos de la misión y obtener una ventaja estratégica.
Software TopGen
TopGen es un simulador de servicio virtualizado que proporciona una simulación de
Internet para redes de ejercicios y entrenamiento fuera de línea; que necesitan

Online ITB
5
Recurso de aprendizaje
lOMoARcPSD|23084357

desconectarse de la Internet en funcionamiento por razones de


seguridad. Esta herramienta de código abierto ayuda a proporcionar realismo en los
entornos de entrenamiento para garantizar que los participantes del ejercicio
obtengan la mejor experiencia posible.
Descripción general de TopGen.
TopGen es un simulador de servicio de aplicaciones virtualizado para redes de
ejercicios y entrenamiento sin conexión. Permite que un único host (físico, vm o
contenedor) sirva a varios servicios virtuales cohospedados (como varios vhosts
HTTP, vistas DNS y/o dominios de correo virtual SMTP/IMAP).
Instalación.
TopGen depende de los siguientes paquetes de software:
wget (1.17.1 or later)
nginx bind (9)
postfix, dovecot
La ejecución del script './install.sh' copiará todos los componentes de TopGen en las
ubicaciones apropiadas del sistema de archivos. Además, consulte
'./contrib/topgen.spec' para obtener instrucciones sobre cómo crear un paquete
TopGen RPM.
FIXME: Los repositorios de paquetes binarios preconstruidos para varias plataformas
(Fedora, EPEL, etc.) se ofrecerán en un futuro próximo y proporcionarán una resolución
de dependencia incorporada.

Diseño
TopGen consta de varios servicios de aplicaciones capaces de ofrecer multi-hosting
virtual a nivel de aplicación:
HTTPD: nginx is hosting multiple virtual websites (vhosts) DNS:
bind9 (named) implements multiple views, selected based on
the destination IP address used by the client SMTP+IMAP: postfix and dovecot are used
to implement multiple virtual mail domains.
Direccionamiento de red y conectividad.
Se agrega un gran número de direcciones IP de host (/32), correspondientes a cada
servidor de aplicaciones virtuales (cada sitio web, servidor de nombres y puerta de
enlace de correo que simulamos) a la interfaz de bucle invertido del host TopGen. Esto
garantiza que el tráfico de cliente se entregue al demonio del servidor de aplicaciones
adecuado y que las respuestas se originarán en la dirección IP de origen correcta. La
infraestructura de enrutamiento externa al host TopGen es responsable de dirigir todo
el tráfico del cliente a TopGen, generalmente anunciando rutas predeterminadas
estáticas con la dirección IP de administración de TopGen como el siguiente salto.

Verificación y Validación.
Objetivo del curso: Los asistentes conseguirán conocer los conceptos clave de
Verificación y Validación basados áreas de procesos de CMMI-DEV's VER y VAL El
objetivo del curso es mostrar las bases de las técnicas más comunes de Verificación
y Validación y comprender de qué manera comenzar con las actividades de
Verificación y Validación.
Dirigido a: Jefes de proyecto y jefes de equipo - Miembros de grupos de mejora de
procesos - Miembros de equipo de proyectos - Todas las personas interesadas en
comprender los conceptos relacionados con Verificación y Validación
Los asistentes deben de estar familiarizados con el lenguaje utilizado en ingeniería de
software y calidad.

Online ITB
6
Recurso de aprendizaje
lOMoARcPSD|23084357

Temario.
El curso trata sobre las siguientes cuestiones:
Presentación de todos los conceptos necesarios para comenzar a entender las
acciones de Verificación y Validación.
Diferentes técnicas de Verificación y Validación, que pueden ser utilizadas durante el
ciclo de vida de despliegue del software y conocer cuáles de ellas son las más
indicadas dependiendo de los objeticos del negocio y cuáles aplicar en cada caso
Cómo crear y dirigir un Peer Review.
• Defectos.
• Costes de las actividades de Verificación y Validación.
• Criterios de integridad, en el sentido de cuándo finalizar las actividades de
Verificación y Validación.
• Presentación de las áreas de procesos CMMI de Verificación y Validación, y sus
diferencias en comparación con la clásica definición de Verificación y Validación.
• Apoyo a las actividades de Verificación y Validación.
El temario desarrollado en este curso es el siguiente:
• Dificultades.
• Beneficios de Verificación y Validación.
• Conceptos y definiciones.
• El proceso de Verificacíón y Validación.
• Métodos y técnicas de Verificación.
• Métodos y técnicas de Validación.
• Proceso VER&VAL en el modelo CMMI.
• Herramientas.
USOS: En todo proceso de desarrollo de software existen etapas de pruebas,
entonces estos conocimientos de verificación y validación serán aplicados es estas
etapas.
Actividad 2
Los aspectos relacionados con los requerimientos pueden considerarse como: ambiente
físico, interfaces, usuarios y factores humanos, funcionalidad, documentación, recursos,
datos, seguridad y aseguramiento de calidad. A continuación, se plantean unas preguntas,
donde sus respuestas determinarán requerimientos. Para cada pregunta indicar a que
aspecto de la lista anterior se acerca más
a. ¿Debe controlarse el acceso al sistema o la información?

El control es de suma importancia ya que esto implica de quien tiene acceso y hasta
donde se lo permite.
Este control debe constar de 3 etapas:
Identificación: se refiere al nombre de usuario.
Autentificación: se refiere a la contraseña, huella digital, etc.
Autorización: se refiere luego que entra a sistema a que secciones tiene permitido el
acceso.
De esta manera el administrador tiene el control del sistema para proteger los datos.
Según mi criterio este proceso de control sirve para impedir, controlar, registrar,
concientizar y garantizar que los datos de la empresa estén protegidos.
b. ¿Cuál será el formato de los datos tanto para la entrada como para la salida?

Online ITB
7
Recurso de aprendizaje
lOMoARcPSD|23084357

Requerimiento de Interfaces:
Los datos tanto de entrada y salida son visualizados por medio de los interfaces. Para
determinar el formato de los datos de entrada y salida se debe realizar un estudio del
tipo de datos establecidos en las normas internacionales, normas nacionales, códigos
del área en la que encuentran o el lugar donde funcionará el sistema, inclusive normas
y estándares del mismo usuario del sistema.
Cuando ya se tenga toda esa información se puede determinar el formato de datos ya
sea tipo:
CHAR - una longitud específica de texto.
VARCHAR - texto de longitudes variables.
TEXT - grandes cantidades de texto.
INT - número entero positivo o negativo.
FLOAT, DOUBLE - también puede almacenar números de punto flotante.
BLOB - datos binarios.
Ejemplos:
Normas internacionales; existen zonas que se utilizan para medir la temperatura se
utiliza grados Fahrenheit, y otros sitios en grados Celsius.
Normas Nacionales; ejemplo el formato del número de celular, direcciones, código de
área de Ecuador.
Normas internas; ejemplo en Agencia metropolitana de tránsito a los agentes se les
asigna un código alfanumérico. (ACT 755).
c. ¿Qué habilidades deben tener los desarrolladores?

Requerimiento de Factor humano:


El desarrollador es la persona que crea el sistema por lo mismo es un factor Humano.
Entre la Habilidades que debería tener el desarrollador son:
Habilidades Técnicas:
Suficiente Formación profesional y amplios conocimientos en programación. Dominar
lenguajes de programación.
Saber inglés.
Amplia experiencia.
Saber Algebra Booleana.
Dominio de los paradigmas de programación, imperativo y declarativo Habilidades
personales:
Detallista.
Comunicación asertiva.
Curioso.
Autodidacta.
Proactivo.
Adaptación al cambio.
Resolución de conflictos.
Trabajar en equipo.
Para mi apreciación un programador con todas las habilidades antes descritas no
existe, pero como más importantes serían dominar el lenguaje de programación,
ser comunicativo, ser autodidacta y poder trabajar en equipo. d. ¿Con que
frecuencia deben hacerse los backups?

Requerimiento de Datos:

Online ITB
8
Recurso de aprendizaje
lOMoARcPSD|23084357

La frecuencia para realizar los backups, dependerá de la


actividad a la que se dedica la empresa, el tipo de datos que van a respaldar y también
de las decisiones de sus directivos para variar el tiempo de realizar la copia.
Existen dos opciones para realizar los backups se los hace en servidores locales (On-
Premise) de la propia empresa o en la nube.
Mientras que un almacenamiento local (On-Premise) nos obliga a mantener una
política de backups de alta frecuencia, un almacenamiento en la Nube nos libera de
muchos de los motivos que justifican esas copias.
Para mi criterio el sistema debe realiza backups de forma automática y permanente.
Por ejemplo, los datos de una institución bancaria los respaldos deben ser
permanentes y en la Nube; de tal manera que nunca correrán riesgo los datos. e.
¿Dónde está el equipamiento que necesita el sistema para funcionar?

Requerimiento de ambiente Físico:


Se refiere a la ubicación de los servidores que se requiere para funcionar el sistema,
tenemos dos opciones:
Equipo Propio es cuando los servidores pertenecen a la misma empresa por lo tanto
está bajo su propia responsabilidad la seguridad de los datos.
Esto es posible cuando la empresa dispone de los recursos económicos para sostener
una infraestructura de esa magnitud.
La otra opción es contratar los servidores para que el sistema pueda funcionar, en ese
caso la empresa contratada es la responsable de la integridad de los datos.

Bibliografía.
Ingeniería de Requisitos - Conceptos básicos de la Ingeniería de Requisitos.
Video 1:
https://www.youtube.com/watch?v=AbwwtjOfJIY

Especificación de requisitos Video


2:
https://www.youtube.com/watch?v=nH4l2NfEesU

Tipos de Requerimientos Video


3:
https://www.youtube.com/watch?v=PUyfzEzSUSg

Ingeniería del Software II - Modelado de requisitos con UML (Casos de Uso) Video
4:
https://www.youtube.com/watch?v=5ezWOj0k02k

• European Software Institute (ESI)


https://www.emagister.com/european-software-institute-cursos-76104centrodetalles.htm

• Software Engineering Institute (SEI) https://www.sei.cmu.edu/

Online ITB
9
Recurso de aprendizaje
lOMoARcPSD|23084357

Online ITB
1
Recurso de aprendizaje
0

También podría gustarte