100% encontró este documento útil (1 voto)
2K vistas9 páginas

DERCAS

El documento presenta información sobre dos tipos de documentos importantes para el desarrollo de sistemas: el DERCAS (Documento de Especificaciones, Requerimientos y Criterios de Aceptación de Software) y la ERS (Especificación de Requerimientos de Software). El DERCAS describe las características y requisitos de un software, mientras que la ERS ayuda a clientes y desarrolladores a definir claramente los requisitos del software. La ERS debe ser correcta, no ambigua, completa, verificable, consistente y modificable para ser efect

Cargado por

Victor Perez
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
100% encontró este documento útil (1 voto)
2K vistas9 páginas

DERCAS

El documento presenta información sobre dos tipos de documentos importantes para el desarrollo de sistemas: el DERCAS (Documento de Especificaciones, Requerimientos y Criterios de Aceptación de Software) y la ERS (Especificación de Requerimientos de Software). El DERCAS describe las características y requisitos de un software, mientras que la ERS ayuda a clientes y desarrolladores a definir claramente los requisitos del software. La ERS debe ser correcta, no ambigua, completa, verificable, consistente y modificable para ser efect

Cargado por

Victor Perez
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

Universidad Mariano Gálvez de Guatemala

Sololá

Ingeniería en Sistemas
Análisis de Sistemas I
Inge: Antonio Escobar

Vicente Bixcúl Coroxón


2290-18-15744
Introducción
En base al recorrido que se realiza en las diferentes etapas al momento de desarrollar un sistema,
los documentos de recopilación de información y de requisitos juegan un papel muy importante,
en ambos lados, (Cliente y programados), ya que herramientas en donde se quedan plasmadas las
ideas que el sistema va a tener, en nuestro caso es indispensable adquirir esos conocimientos para
nuestro futuro, tanto como futuros programadores, o como responsable de equipo de desarrollo,
a continuación se presenta información de dos documentos las cuales nos ayudaran al momento
de plantear las ideas de futuros sistemas a desarrollar.
DERCAS
¿Qué es?
El Documento de Especificaciones, Requerimientos y Criterios de Aceptación de Software, es el
lugar donde se da descripción a las características y requisitos de un software, producto, programa
o conjunto de programas. Los requisitos se expresan en lenguaje natural, sin consideraciones ni
términos técnicos.

¿Cuándo se utiliza?
La especificación de requisitos de software es el resultado del levantamiento de información con
el usuario o cliente del producto. Son un método para una comunicación más concisa y clara entre
los encargados de desarrollar el software y el área de negocio o clientes que usaran el producto.

Se ha hecho muy evidente que una especificación deficiente de los requisitos del software puede
conducir a proyectos fallidos, de allí es que este documento es cada vez adquiera mayor
importancia.

Descripción del contenido del documento.


Propósito: Nombre o título del software que se está especificado en el documento, incluyendo su
número de versión. También se describen cuales componentes o partes del alcance del producto
están incluidas en el documento, estableciendo si cubre la totalidad del software, sólo una parte
del sistema, subsistema o subgrupo de procesos.

Alcance del producto / Software: Descripción corta del alcance del software que se está
especificando, incluyendo: Propósito u objetivo general, beneficios que brinda al área de negocio y
organización, relación de los objetivos del software con los objetivos corporativos y estrategias de
negocio. Se puede hacer referencia a otros documentos.

Referencias: Aquí se pueden incluir otros documentos impresos, documentos electrónicos o


direcciones electrónicas que complementen la documentación de requerimientos de software.

Funcionalidades del producto: Lista de las funcionalidades del software que se están
especificando en el documento de requerimientos. Cada funcionalidad puede estar compuesta por
uno o varios requerimientos funcionales de software. Solo se incluye una lista numerada de las
principales funcionalidades.

Clases y características de usuarios: Se clasifican los usuarios que utilizaran el producto. La


clasificación puede ser en función a la frecuencia de uso, grupo de funcionalidades utilizadas,
privilegios de seguridad, nivel de experiencia y otros parámetros.

Entorno operativo: Se describe el entorno operativo en el que se desenvolverá el sistema,


software, módulo o grupo de funcionalidades, mencionando aspectos como la plataforma de
hardware, versiones de sistema operativo y otros sistemas o componentes con los que debe
coexistir.

Requerimientos funcionales: En esta sección de la plantilla, ilustramos como organizar los


requerimientos funcionales de software por funcionalidad de producto o sistema. Aquí se listan las
funcionalidades y para cada una a su vez se listan los requerimientos funcionales. Los
requerimientos funcionales también se pueden documentar en una matriz de trazabilidad de
requerimientos.

Reglas de negocio: Listado de reglas y principios que aplican a todo el conjunto de


requerimientos de software contenidos en el documento. Un ejemplo es cuales individuos o roles
pueden desempeñar cierta función bajo ciertas circunstancias.

Requerimientos de interfaces externas: Describe las características y atributos de las


interfaces con el usuario (GUI), interfaces con el hardware, interfaces con otros sistemas y las
interfaces de comunicaciones.

Requerimientos no funcionales: Los requerimientos no funcionales son los que especifican


criterios para evaluar la operación de un servicio de tecnología de información, en contraste con
los requerimientos funcionales que especifican los comportamientos específicos.

Otros requerimientos: Requerimientos no cubiertos en ninguna otra sección del documento de


requerimientos de software, por ejemplo: Requerimientos de bases de datos, internacionalización,
legales y objetivos de reúso de componentes de software.

Glosario: Descripción de términos y siglas necesarias para el entendimiento del documento de


requerimientos de software.
ERS

Objetivos.
• Ayudar a los clientes a describir claramente lo que se desea obtener mediante un

determinado software: El cliente debe participar activamente en la especificación

de requisitos, ya que éste tiene una visión mucho más detallada de los procesos

que se llevan a cabo. Asimismo, el cliente se siente partícipe del propio desarrollo.

• Ayudar a los desarrolladores a entender qué quiere exactamente el cliente: En

muchas ocasiones el cliente no sabe exactamente qué es lo que quiere. La ERS

permite al cliente definir todos los requisitos que desea y al mismo tiempo los

desarrolladores tienen una base fija en la que trabajar. Si no se realiza una buena

especificación de requisitos, los costes de desarrollo pueden incrementarse

considerablemente, ya que se deben hacer cambios durante la creación de la

aplicación.

• Servir de base para desarrollos de estándares de ERS particulares para cada

organización: Cada entidad puede desarrollar sus propios estándares para definir

sus necesidades.

Una buena especificación de requisitos software ofrece una serie de ventajas entre las que destacan
el contrato entre cliente y, la reducción del esfuerzo en el desarrollo, una buena base para la
estimación de costes y planificación, un punto de referencia para procesos de verificación y
validación, y una base para la identificación de posibles mejoras en los procesos analizados.

La ERS es una descripción que debe decir ciertas cosas y al mismo tiempo debe decirlas de una
determinada manera. En este documento se presentará una de las formas que viene especificada
por el estándar IEEE 830.

Una ERS forma parte de la documentación asociada al software que se está desarrollando, por tanto,
debe definir correctamente todos los requerimientos, pero no más de los necesarios. Esta
documentación no debería describir ningún detalle de diseño, modo de implementación o gestión
del proyecto, ya que los requisitos se deben describir de forma que el usuario pueda entenderlos.
Al mismo tiempo, se da una mayor flexibilidad a los desarrolladores para la implementación.

Así pues, el grado y el lenguaje utilizado para la documentación de los requisitos estarán en función
del nivel que el usuario tenga para entender dichas especificaciones.

Características de una buena ERS


Las características deseables para una buena especificación de requisitos software que se indican
en el IEEE son las siguientes [Chalmeta, 2000][Piattini, 1996]:

· Correcta

· No ambigua

· Completa

· Verificable

· Consistente

· Clasificada

· Modificable

· Explorable

· Utilizable durante las tareas de mantenimiento y uso

• Corrección
La ERS es correcta si y sólo si todo requisito que figura en ella refleja alguna necesidad real. La
corrección de la ERS implica que el sistema implementado será el sistema deseado.

• Ambigüedad
Un documento es no ambiguo si y solo si cada requisito descrito tiene una única interpretación.
Cada característica del producto final debe ser descrita utilizando un término único y, en caso de
que se utilicen términos similares en distintos contextos, se deben indicar claramente las diferencias
entre ellos. Incluso se puede incluir un glosario en el que indicar cada significado específicamente.

Los analistas deben poner un cuidado especial a la hora de especificar los requisitos. El hecho de
utilizar el lenguaje natural para hacer la ERS comprensible a los usuarios supone un riesgo muy
elevado, porque el lenguaje natural puede llegar a ser muy ambiguo.

Ejemplo:

En términos generales, el lenguaje natural es de los más ambiguos. Por el contrario, existen los
lenguajes formales que no son ambiguos, pero son más difíciles desaprender y menos
comprensibles para el que no los conoce.

Todos los clientes tienen el mismo campo de control


1.- ¿Todos tienen el mismo valor en el campo de control?

2.- ¿Todos los campos de control tienen el mismo formato?

3.- ¿Un campo de control se usa para todos los clientes?

E78. Ingeniería del Software ERS según el estándar IEEE 830 4

• Completitud
Una ERS es completa si:

· Incluye todos los requisitos significativos del software (relacionados con la funcionalidad,
ejecución, diseño, atributos de calidad o interfaces externas).

· Existe una definición de respuestas a todas las posibles entradas, tanto válidas como inválidas, en
todas las posibles situaciones.

· Cumple con el estándar utilizado. Si hay alguna parte del estándar que no se utiliza, se debe
razonar suficientemente por qué no se ha utilizado dicho apartado.

· Aparecen etiquetadas todas las figuras, tablas, diagramas, etc, así como definidos todos los
términos y unidades de medida empleados.

La ERS debe ser siempre completa, aunque en ocasiones esto no será posible. Por ejemplo, si
todavía no se han determinado los formatos de los informes finales o por cualquier razón se está
esperando la publicación de un Real Decreto o un reglamento sobre impuestos.

• Verificabilidad
Un requisito se dice que es verificable si existe algún proceso no excesivamente costoso por el cual
una persona o una máquina pueda chequear que el software satisface dicho requerimiento.

• Consistencia
Una ERS es consistente si y sólo si ningún conjunto de requisitos descritos en ella es contradictorio
o entran en conflicto. Se pueden dar tres casos:

· Requisitos que describen el mismo objeto real utilizando distintos términos.

· Las características especificadas de objetos reales. Un requisito establece que todas las luces son
verdes y otro que son azules.

· Conflicto lógico o temporal entre dos acciones determinadas. Se llega a un punto en el que dos
acciones serían perfectamente válidas (¿sumar o multiplicar?)

No verificables:

El producto debería funcionar bien

El producto debería tener una buena interfaz de usuario

Verificable:
La salida se suministra dentro de los 20 segundos siguientes al evento E el 60% de las veces, y en
los 30 segundos siguientes en el 100% E78. Ingeniería del Software ERS según el estándar IEEE
8305

• Clasificación
No todos los requisitos son igual de importantes. Los requisitos pueden clasificarse por diversos
criterios:

· Importancia: Pueden ser esenciales, condicionales u opcionales.

· Estabilidad: Cambios que pueden afectar al requisito.

Lo ideal es el establecimiento de prioridades, de modo que la implementación de un requisito de


menor prioridad no emplee excesivos recursos.

• Modificabilidad
Una ERS es modificable si cualquier cambio puede realizarse de manera fácil, completa y
consistente. Para ello, es deseable tener una organización coherente y fácil de usar en la que
aparezca el índice o una tabla de contenidos fácilmente accesible.

También es deseable evitar la redundancia, es decir que no aparezca un mismo requisito en más
de un lugar de la ERS. No es un error, pero si se tiene que modificar alguna cosa será mucho más
cómoda si no tenemos que buscar el mismo requisito en varios lugares.

• Explorabilidad
Una ERS es explorable si el origen de cada requerimiento es claro tanto hacia atrás (origen que
puede ser un documento, una persona etc.) como hacia delante (componentes del sistema que
realizan dicho requisito).

Cuando un requisito de la ERS representa un desglose o una derivación de otro requisito, se debe
facilitar tanto las referencias hacia atrás como hacia adelante en el ciclo de vida.

Las referencias hacia delante de la ERS son especialmente importantes para el mantenimiento del
software. Cuando el código y los documentos son modificados, es esencial poder comparar el
conjunto total de requisitos que puedan verse afectados por estas modificaciones.

• Utilizable durante las tareas de mantenimiento y uso


En la ERS también se deben tener en cuenta las necesidades de mantenimiento. El personal que
no ha intervenido directamente en el desarrollo debe ser capaz de encargarse de su
mantenimiento. Así, dicha ERS actúa a modo de plano de la aplicación, permitiendo incluso
modificaciones que no requieran un cambio en el diseño.

En ocasiones, el equipo de desarrollo supone unos conocimientos que el personal que se encargue
del mantenimiento no tiene por qué tener. Por esta razón es necesaria una correcta
documentación de las funciones,

ya que, si no se conoce en detalle su origen, difícilmente podrán ser modificadas.


Conclusiones
• La importación de la documentación en los procesos de desarrollo de sistemas es grande,
ya que en ella quedara plasmada la idea principal del o los sistemas.
• El Documento de Especificaciones, Requerimientos y Criterios de Aceptación de Software,
describe las características y requisitos de un software.
• Ayudar a los clientes a describir claramente lo que se desea obtener mediante un
determinado software: El cliente debe participar activamente en la especificación de
requisitos, ya que éste tiene una visión mucho más detallada de los procesos que se llevan
a cabo. Asimismo, el cliente se siente partícipe del propio desarrollo.

Common questions

Con tecnología de IA

A well-formed Software Requirements Specification (SRS) according to IEEE standards is characterized by being correct, complete, unambiguous, consistent, and verifiable. It should also be modifiable, classifiable, and fully traceable. Correctness ensures that all included requirements reflect real needs. Completeness entails covering all significant requirements, while unambiguous language avoids multiple interpretations. Consistency prevents conflicting requirements. Verifiability and traceability ensure evaluability and that the origin and implementation path of each requirement are clear .

Client involvement in the software requirements specification process is crucial because it ensures that the final system aligns with the client's needs and business objectives. This participation helps clients articulate their needs more clearly, enabling developers to create a software solution that meets expected functionalities. The benefits include a shared understanding between developers and clients, reducing the likelihood of significant changes during development, and potentially lowering costs and errors .

An SRS ensures alignment with business objectives and strategies by explicitly stating the software's purpose, objectives, and benefits in relation to the business's goals. It provides a detailed scope and functionalities that aim to satisfy business needs, guiding developers to focus on features that offer the most value. Additionally, it serves as a contract between stakeholders, ensuring business priorities are reflected in the end product .

A traceability matrix in a Software Requirements Specification (SRS) provides significant benefits by establishing clear connections between requirements, design, and implementation. It functions by mapping each requirement to respective design elements and tests, ensuring that all requirements are addressed. This matrix helps identify changes, assess impacts, and maintain the integrity of the software development process by confirming that every aspect of the design fulfills a specified requirement .

Consistency in a Software Requirements Specification (SRS) is crucial to prevent contradictory requirements that can lead to confusion and design flaws. Achieving consistency involves using a standardized format across the document, ensuring similar terms are used uniformly throughout, and resolving conflicts in requirements logically. Employing a review process with stakeholders can also ensure that discrepancies are identified and addressed early in the development process .

A Software Requirements Specification (SRS) plays a critical role in the software development process by serving as a detailed description of the software's functionality and architecture, facilitating clear communication between stakeholders. Its key components include the purpose of the software, its scope, references, functional and non-functional requirements, user classes, operating environment, rules, and interfaces. Properly crafted SRS documents help ensure that the developed software meets the users' needs and business requirements, aiding in estimation, validation, and maintenance .

Inadequate requirement specification can lead to project failure as it may result in incomplete, misunderstood, or conflicting requirements, causing delays, increased costs, and a product that does not meet the users' needs. To mitigate this risk, employing clear, comprehensive, and well-structured documentation, involving clients in the process, and using a thorough verification process for requirements are critical strategies. Additionally, employing standards such as IEEE 830 can ensure consistency and quality in requirement documentation .

Using natural language for writing Software Requirements Specifications (SRS) poses risks due to its inherent ambiguity, which can lead to multiple interpretations of requirements. This ambiguity is problematic because each requirement should have only one clear interpretation to ensure consistent understanding among stakeholders. To mitigate these risks, writers should strive for clarity and, when possible, utilize formal languages for critical aspects, though these can be less user-friendly .

To verify that a Software Requirements Specification (SRS) is correctly understood by all stakeholders, methods such as reviews, walkthroughs, and inspections can be utilized. These methods involve stakeholders actively discussing and critiquing the SRS, ensuring mutual understanding of requirements. Additionally, prototypes and models can be used to demonstrate how requirements will be implemented, providing a practical insight that can clarify ambiguities and confirm interpretations .

The structure and organization of an SRS contribute to system maintenance by ensuring clarity and traceability of requirements, which make it easier for maintenance personnel to understand the system's functionality and make necessary adjustments. A well-organized SRS provides clear references to requirements' origins and their implementation paths, aiding in isolating and assessing the impacts of changes. This structure is crucial for non-developers involved in system maintenance, serving as a blueprint for the application .

También podría gustarte