Desarrollo de Sistemas Flashcards

1
Q

Diseño (4):

A

El diseño es la toma de decisiones sobre los componentes de un sistema, en particular:

Encontrar cuáles son los componentes

Qué responsabilidades tiene cada componente

Como se relaciona cada componente con los demás para formar un sistema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sistema:

A

Conjunto de partes que se relacionan para lograr un objetivo común

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Lo esencial (2):

A

Requisitos claves: Identificar y comprender los requisitos esenciales del software. Funcionalidades absolutamente necesarias para cumplir los objetivos del sistema

Arquitectura y estructura fundamental: Diseñar la estructura básica del software, cómo se organizarán los componentes y cómo interactuarán entre sí para cumplir los objetivos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Lo tangencial (2):

A

Características secundarias: Aquellas características que pueden ser deseables pero no esenciales. Pueden incluir elementos que mejorarían la experiencia del usuario pero no son críticos para la funcionalidad principal

Detalles de implementación específicos: Algunos detalles de implementación como elecciones de tecnología específica o decisiones detalladas de codificación pueden ser tangenciales en las etapas iniciales del diseño

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Diseño de sistemas vs. diseño de software (2)

A

El diseño de software está englobado en el diseño de sistemas

La principal diferencia es que el diseño de software tiene características no tangibles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Requerimiento:

A

Necesidad o solicitud cuyo objetivo es resolver un problema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Requisito (2):

A

Condición o característica necesaria

Los requisitos son condiciones o capacidades que debe tener un sistema (requerimientos del sistema) para satisfacer las necesidades del usuario (requerimientos de usuario)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Etapa de relevamiento:

A

Se relevan, capturan, escuchan, observan, detectan las necesidades del usuario

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Etapa de análisis:

A

Se definen los requerimientos que deberá tener el sistema para cumplir con las necesidades relevadas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Características de un requisito correctamente definido (4):

A

Completo: Contiene toda la información necesaria y no necesita ser expandido ni dividido

No ambiguo: Debe tener una y solo una interpretación

Verificable: Debe ser demostrado o probado su cumplimiento

Consistente: No deberá contradecir a otros requerimientos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ventajas de requerimientos correctos (4):

A

Identificación de riesgos de manera temprana y atacar así los problemas más rápido

Análisis y desarrollo más claro y rápido

Base para un buen diseño

Definición clara de casos de prueba para realizar un test claro, completo y rápido

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Requerimientos Funcionales (3):

A

Describen las funciones del sistema, su comportamiento específico.

Describen la transformación que el sistema realiza sobre sus entradas para producir las salidas esperadas.

Definen QUÉ debe hacer un sistema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Requerimientos no funcionales (3):

A

Son los atributos que definen cómo el sistema realizará el trabajo.

Pueden considerarse como las restricciones planteadas respecto a cómo los requerimientos funcionales son implementados.

Definen CÓMO debe ser el sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Clasificación de requerimientos no funcionales (3):

A

De producto o calidad

Organizacionales

Externos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Requerimientos de producto o calidad (7):

A

Restricciones

Requisitos

Mantenibilidad: Cambiar sin generar impacto.

Usabilidad: Amigable para el usuario respecto a la navegación.

Performance: Eficiencia esperada.

Disponibilidad: Continua, con un nivel de servicio 24/7

Seguridad: Tiene en cuenta la sensibilidad de la información y como manejarla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Requerimientos organizacionales (2):

A

Entorno u organizacional: Procedimientos operativos que describen cómo será usado el sistema dentro del contexto de la organización.

Diseño, desarrollo e implementación: Lenguaje de programación a utilizar, estándares de codificación, herramientas para gestionar el desarrollo de su ambiente de prueba, etc.

17
Q

Requerimientos externos (3):

A

Reguladoras: Leyes y reglamentos que establecen qué debe hacer el sistema y cómo debe hacer para cumplirlas.

Éticos: Se adapta a las costumbres de la sociedad en la que se desenvuelve.

Legislativos: Características que debe cumplir el sistema para cumplir con la ley.

18
Q

Diferencia entre requerimientos funcionales y no funcionales y lo esencial y lo tangencial

A

los requerimientos funcionales y no funcionales se centran en qué debe hacer el sistema y cómo lo hace. Lo esencial y lo tangencial se centran en distinguir entre elementos fundamentales y accesorios en el diseño.

19
Q

Atributos de calidad de software (8):

A

Adecuación funcional

Eficiencia de desempeño

Compatibilidad

Usabilidad

Fiabilidad

Seguridad

Mantenibilidad

Portabilidad

20
Q

Adecuación funcional (3):

A

Completitud funcional: Grado en el cual el conjunto de funcionalidades cubre todas las tareas y los objetivos del usuario especificados

Corrección funcional: Capacidad del producto o sistema para proveer resultados correctos con el nivel de precisión requerido

Pertinencia funcional: Capacidad del producto software para proporcionar un conjunto apropiado de funciones para tareas y objetivos de usuario especificados

21
Q

Eficiencia de desempeño (3):

A

Comportamiento temporal: Los tiempos de respuesta y procesamiento y los ratios de throughput de un sistema cuando lleva a cabo sus funciones bajo condiciones determinadas en relación con un banco de pruebas (benchmark) establecido

Utilización de recursos: Las cantidades y tipos de recursos utilizados cuando el software lleva a cabo su función bajo condiciones determinadas

Capacidad: Grado en que los límites máximos de un parámetro de un producto o sistema software cumplen con los requisitos

22
Q

Compatibilidad (2):

A

Coexistencia: Capacidad del producto para coexistir con otro software independiente, en un entorno común, compartiendo recursos comunes sin detrimento

Interoperabilidad: Capacidad de dos o más sistemas o componentes para intercambiar información y utilizar la información intercambiada

23
Q

Usabilidad (6):

A

Adecuación: Capacidad del producto que permite al usuario entender si el software es adecuado para sus necesidades

Capacidad de aprendizaje: Capacidad del producto que permite al usuario aprender su aplicación

Capacidad para ser usado: Capacidad del producto que permite al usuario operarlo y controlarlo con facilidad

Protección contra errores de usuario: Capacidad del sistema para proteger a los usuarios de cometer errores

Estética de la interfaz: Capacidad de la interfaz de usuario de agradar y satisfacer la interacción con el usuario

Accesibilidad: Capacidad del producto que permite que sea utilizado por usuarios con determinadas características o discapacidades

24
Q

Fiabilidad (4):

A

Madurez: Es la capacidad del producto software para evitar fallas como resultado de errores en el software

Disponibilidad: Capacidad del sistema o componente de estar operativo y accesible para su uso cuando se requiere

Tolerancia a fallos: Es la capacidad del producto software para mantener un nivel especificado de funcionamiento en caso de errores del software o de incumplimiento de su interfaz especificada

Recuperabilidad: Es la capacidad del producto software para reestablecer un nivel especificado de funcionamiento y recuperar los datos afectados directamente en el caso de una falla

25
Seguridad (5):
Confidencialidad: Capacidad de protección contra el acceso de datos e información no autorizados, ya sea accidental o deliberadamente Integridad: Capacidad del sistema o componente para prevenir accesos o modificaciones no autorizados a datos o programas del ordenador No repudio: Capacidad de demostrar las acciones o eventos que han tenido lugar, de manera que dichas acciones o eventos no puedan ser repudiados posteriormente Responsabilidad: Capacidad de rastrear de forma inequívoca las acciones de una entidad Autenticidad: Capacidad de demostrar la identidad de un sujeto o un recurso
26
Mantenibilidad (5):
Modularidad: Capacidad que permite que un cambio en un componente tenga un impacto mínimo en los demás Reusabilidad: Capacidad de un activo que permite que sea utilizado en más de un sistema software o en la construcción de otros activos Analizabilidad: Facilidad con la que se puede evaluar el impacto de un determinado cambio sobre el resto del software, diagnosticar las deficiencias o causas de fallos en el software, o identificar las partes a modificar Capacidad para ser modificado: Capacidad del producto que permite que sea modificado de forma efectiva y eficiente sin introducir defectos o degradar el desempeño Capacidad para ser probado ("Testeabilidad"): Facilidad con la que se pueden establecer criterios de prueba para un sistema o componente y con la que se pueden llevar a cabo las pruebas para determinar si se cumplen dichos criterios
27
Portabilidad (3):
Adaptabilidad: La capacidad del producto software para ser adaptado a diferentes entornos definidos sin aplicar acciones o medios diferentes de los previstos para el propósito del software considerado Capacidad para ser instalado: Facilidad con la que el producto se puede instalar y/o desinstalar de forma exitosa en un determinado entorno Capacidad para ser reemplazado: Capacidad del producto para ser utilizado en lugar de otro producto software determinado con el mismo propósito y en el mismo entorno
28
Cualidades de diseño (5):
Simplicidad Robustez Flexibilidad Acoplamiento Cohesión
29
Acoplamiento (3):
Grado de dependencia entre dos componentes, el grado de conocimiento que un componente tiene sobre otro Cuanto mayor sea el acoplamiento entre dos componentes, los cambios o errores de uno de ellos impactarán más sobre el otro Si minimizamos el acoplamiento podemos: Mejorar la mantenibilidad Aumentar la reutilización Evitar que un defecto de un componente se propague a otros Evitar tener que inspeccionar y/o modificar múltiples componentes ante una modificación en uno solo de ellos
30
Cohesión (3):
Un componente cohesivo tiende a tener todos sus elementos abocados a resolver el mismo problema La cohesion se define como la cantidad de responsabilidades que están asignadas a un componente Mientras más responsabilidades tenga un componente, menos cohesivo será
31
Simplicidad (2):
KISS (keep i simple, stupid): Nos propone evitar cualquier complejidad innecesaria YAGNI (You aren't gonna need it): Nos propone no agregar funcionalidad nueva que no apunte a la problemática actual.
32
Robustez (3):
Ante un uso inadecuado por parte del usuario, sistemas externos o ante fallas internas: El sistema no debe generar información o comportamiento inconsciente/errático El sistema debe reportar los errores y volver a un estado consciente El sistema debe facilitar tanto como sea posible la detección de la causa del problema
33
Flexibilidad (3):
Capacidad de reflejar cambios de manera simple y sencilla Extensibilidad: Capacidad de agregar nuevas características con poco impacto Mantenibilidad: Capacidad de modificar las características existentes con el menor esfuerzo posible