04 - Ingeniería de requerimientos - Análisis

04 - Ingeniería de requerimientos - Análisis

Understanding Complex Systems in Software Development

Overview of System Requirements

  • The speaker emphasizes the complexity of the system being developed, indicating that there is extensive documentation but uncertainty on how to begin.

Analyzing Requirement Information

  • During requirement gathering, a large amount of data is collected which needs analysis to understand four key aspects: context, information usage, processing locations, and expected system behavior.

Contextualizing the System

  • The system interacts with various actors including applications, hardware, networks, and remote locations; this interaction defines the system's context.
  • Important factors for defining context include identifying other software in use and their versions as well as geographical user locations and communication infrastructure.

Hardware and User Interaction

  • Understanding the specialized hardware used alongside the software is crucial; this includes knowing device types, operating systems, user access methods, and potential upgrades.

Importance of Contextual Analysis

  • The system must be adaptable to its context rather than forcing users to adjust; thorough analysis time is essential for accurate contextual understanding.

Defining Information Domains

Domain-Specific Concepts

  • Different domains interpret concepts like "client" differently; in business it refers to consumers while in IT it refers to devices or programs interacting with servers.

Data Dictionary Creation

  • A data dictionary should be created during domain analysis to clarify meanings of terms used within the specific domain without delving into database specifics yet.

Relationships Between Concepts

Concept Interrelations

  • Identifying relationships between concepts (e.g., client and invoice creation upon purchase completion) helps define processes involving these entities.

Processing Information Within Systems

Defining Processing Activities

  • Clearly outline how and where information processing occurs within the software; consider multiple entities involved at different stages (e.g., user authentication via external services).

Expected System Behavior

Behavior Under Stimuli

Understanding System Behavior and User Interaction

Error Handling and State Management

  • The system must transition to a success state when complete information is provided by the user. If the information is incomplete, it should remain in the same state and not allow saving.
  • Define system behavior under high demand or limited bandwidth; for instance, if a server takes more than 20 seconds to respond, the client should cancel the request and initiate a new one.

User Interaction Analysis

  • Analyze how users interact with your application, considering various entities such as people, hardware, and software. This includes actions like text requests, graphical interface interactions, file uploads/downloads, and automated processes.
  • Avoid assumptions about user understanding; clarity in user behavior analysis is crucial. Always confirm insights with users to ensure accurate interpretations.

Requirement Analysis Tools

  • Requirement analysis provides a high-level understanding of the system rather than detailed descriptions. It models participants within the system along with their activities and behaviors.
  • Utilize various modeling tools: context diagrams for overall structure, class diagrams for data representation, sequence diagrams for behavior depiction, and activity diagrams for processing locations.

Effective Documentation Practices

  • Aim for concise documentation that describes system interactions without excessive detail. A clear model can effectively communicate how different actors process information based on specific stimuli.
Video description

¡Hola! Bienvenido a la serie "Cómo deleitar a tus usuarios". En esta serie de videos hablaremos de Ingeniería de Requerimientos, un conjunto de actividades muy importantes, que nos permiten construir soluciones que deleitan a nuestros usuarios. Este cuarto video hablamos de cómo analizar la información para entender el modelo del sistema 👩‍🎓 ¡Entrénate con mis cursos en Udemy! 🔵 Fundamentos de requerimientos: https://www.udemy.com/course/mas-alla-de-las-user-stories-fundamentos-de-requerimientos/?couponCode=FEB_24 🔴 Análisis y recolección de requerimientos: https://www.udemy.com/course/analisis-y-recoleccion-agil-de-requerimientos-de-software/?couponCode=FEB_24 🟢 Estimación de proyectos de software: https://www.udemy.com/course/estimacion-de-proyectos-de-software-de-novato-a-ninja/?referralCode=FEB_24 📣 Ahora puedes adquirir mis guías para desarrollar requerimientos: 📘 Guía Breve para escribir User Stories de alto impacto. Cómprala en: https://leanpub.com/guiaparacrearuserstoriesdealtoimpacto 📙 Guía para recolectar requerimientos como profesional: https://leanpub.com/recolectarequerimientoscomoprofesional Aprende a diseñar una estrategia de recolección de requerimientos con técnicas como entrevistas, talleres, observaciones. 📚 Adquiere ambas a un precio especial: https://leanpub.com/b/requerimientosdesoftwaredeelite/ 📖 Plantillas y ejemplos gratuitos: https://www.edgarfernandez.com/plantilla-para-requerimientos-de-software/ La Ingeniería de Requerimientos (o de requisitos) es el conjunto de actividades que te permiten recolectar, analizar, especificar y validar los requisitos de un sistema de software. Estas actividades, cuando son bien realizadas, garantizan la satisfacción de los usuarios y el desarrollo de un software adecuado. Cuando no lo son, nos conducen a proyectos problemáticos, fricciones y disputas con los clientes y a llegar a la solución incorrecta. En la siguiente serie de videos, hablaremos de las actividades de requerimientos, su importancia, qué debes considerar para cada una y diferentes formas de conseguir el buen entendimiento de tus usuarios. Sigue mis redes: Facebook: https://www.facebook.com/SoftwareEngineeringCoach Twitter: https://twitter.com/EdgarTeamCoach Web: https://www.edgarfernandez.com