We may earn an affiliate commission when you visit our partners.
Course image
Kristen Walcott-Justice

In Requirements Goal Development and Language Analysis, we move from the spoken word to precise writing. A first step in this is writing goals. We will talk about goals used in requirements engineering and, from this, writing use cases from what we learn. Use cases can be in diagram and written form. Then- the villains enter- misuse cases and abuse cases are discussed in how we can deal with them in a Requirements environment. In gathering requirements, you'll have many questions remaining. Often this leads to the need of more interviews and group sessions. We'll go through how to handle group meetings, dealing with inconsistency, and handling conflict between stakeholders.

Enroll now

What's inside

Syllabus

Goal Creation
After learning a lot from your customers, you now need to analyze, evaluate, and negotiate. One way to begin working with the data is to write out explicit goals from the information you've gathered. Goals can be written at high and low levels, but they need to be clear and measurable at any level. The first step is determining behavioral goals.
Read more
Use, Misuse, and Abuse Cases
Once goals have been identified, they can be pulled together to create use cases; these are easy to read and understand by both customer and developer. To address security, misuse cases and abuse cases can also be defined, in written or drawn form.
Group Sessions for Elicitation, Analysis, and Negotiation
While writing use cases, you'll likely realize that you are missing many components, have questions, and realize that some statements conflict. Group Sessions can help you get more information quickly and begin the negotiation process. Here you'll learn about different types of group sessions and how to make group sessions efficient and effective.
Finding Conflicts and Risks
Inconsistency and conflicts often arise due to language that's being used. There are many types of inconsistency that you can identify early on. The conflicts identified need to be clarified and fixed. In this module, identifying inconsistency, identifying clashes, and handling conflict are discussed.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines requirements engineering for development, which is a crucial concept for building complex systems
Develops use cases from goal analysis, providing a solid foundation for system design
Teaches techniques for handling misuse and abuse cases, addressing security concerns during requirements gathering
Provides guidance on conducting effective group sessions for elicitation, analysis, and negotiation
Explores techniques for identifying and resolving conflicts and risks in requirements, ensuring clear and consistent specifications

Save this course

Save Requirements Specifications: Goals and Conflict Analysis to your list so you can find it easily later:
Save

Reviews summary

Mostly positive course on requirements specs

According to students, this course provides engaging assignments on requirements specifications. It is well received due to its excellent content and clear explanations, though some have mentioned broken links in readings. The course, led by an awesome instructor, is particularly useful for current and aspiring leaders and project managers looking to overcome problems.
The instructor's teaching is highly praised.
"The entire experience was wonderful ."
"Course instructor teach too awesomely 👍"
"Thank You for allowing me to learn the course. It was very good experience and happy to complete my course in stipulated time with your good explanation, content and relevant information."
Some learners mentioned broken reference links in the course readings.
"A lot of reference links in reading are broken/gone."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Requirements Specifications: Goals and Conflict Analysis with these activities:
Review the Fundamentals of Requirements Engineering
By reviewing the core concepts of requirements engineering, you can build a stronger foundation for understanding the topics covered in this course.
Browse courses on Requirements Engineering
Show steps
  • Read through introductory materials on requirements engineering
  • Review notes or textbooks from previous coursework on requirements engineering
  • Complete practice problems or exercises on basic requirements engineering concepts
Refresher: Basic Data Modeling Techniques
Brush up on data modeling skills to support use case development.
Browse courses on Data Modeling
Show steps
  • Practice creating entity-relationship diagrams.
  • Review data modeling concepts and notations.
  • Refresh knowledge of SQL for data manipulation.
Review: Object-Oriented Analysis and Design Principles
Strengthen understanding of object-oriented concepts before starting the course.
Show steps
  • Recall key concepts of object-oriented programming.
  • Review principles of object-oriented analysis and design.
  • Practice identifying and modeling real-world objects.
12 other activities
Expand to see all activities and additional details
Show all 15 activities
Review User Story fundamentals
This activity will build a solid foundation for understanding the concepts of User Stories, which are essential for gathering and analyzing requirements in this course.
Browse courses on User Stories
Show steps
  • Read through a tutorial on User Stories
  • Complete a set of practice exercises on User Story creation
Goal Analysis Practice
This activity will provide hands-on practice in analyzing goals and writing use cases, which are key skills for requirements engineering and covered extensively in this course.
Show steps
  • Analyze a given business scenario and identify its goals
  • Write use cases based on the identified goals
  • Review your use cases with a peer or instructor for feedback
Attend a Requirements Engineering Workshop
Attending a workshop on requirements engineering will provide you with the opportunity to learn from experts, engage in hands-on activities, and network with other professionals in the field.
Browse courses on Requirements Engineering
Show steps
  • Research and identify relevant requirements engineering workshops
  • Register and attend the workshop
  • Actively participate in the workshop activities and discussions
  • Follow up with the workshop organizers or speakers to continue learning
Group use case review sessions
Enhance use case development by collaborating with peers.
Browse courses on Use Cases
Show steps
  • Form study groups with classmates.
  • Share and discuss use case drafts.
  • Provide constructive feedback and suggestions.
Practice Writing Use Cases
Regularly practicing writing use cases will improve your ability to clearly define and document system requirements.
Browse courses on Use Cases
Show steps
  • Identify a system or feature to write a use case for
  • Identify the actors and their goals
  • Create a step-by-step description of the use case
  • Review and revise the use case for clarity and completeness
Use case writing exercises
Improve understanding of use cases by practicing writing them.
Browse courses on Use Cases
Show steps
  • Analyze system requirements.
  • Identify actors and their goals.
  • Create use case descriptions.
  • Validate use cases with stakeholders.
Sample Requirements Document
This activity will allow you to apply the principles of requirements gathering and analysis by creating a sample requirements document based on a given scenario.
Show steps
  • Gather requirements from stakeholders using various techniques
  • Analyze the requirements and identify any inconsistencies or gaps
  • Document the requirements in a clear and concise requirements document
  • Validate the requirements document with stakeholders
Develop a Requirement Traceability Matrix
Creating a requirement traceability matrix will help you visualize the relationships between requirements and other artifacts, ensuring that all requirements are accounted for and tracked.
Show steps
  • Identify the requirements to be included in the matrix
  • Create a table or spreadsheet to represent the matrix
  • Map the requirements to other artifacts, such as use cases, design documents, and test cases
  • Review and validate the traceability matrix for completeness and accuracy
Tutorial: Advanced Use Case Modeling
Gain in-depth knowledge of use case modeling techniques.
Browse courses on Use Cases
Show steps
  • Review fundamental use case concepts.
  • Learn advanced modeling techniques, such as use case generalization and extension.
  • Practice creating complex use case models.
Project: Develop Use Cases for a Real-World System
Apply knowledge by creating use cases for a practical system.
Browse courses on Use Cases
Show steps
  • Identify a suitable real-world system.
  • Gather requirements and analyze stakeholder needs.
  • Create a comprehensive set of use cases.
  • Document and present use cases.
Volunteer: Requirements Gathering in a Community Project
Gain practical experience in requirements gathering and stakeholder engagement.
Browse courses on Requirements Gathering
Show steps
  • Identify a local community project.
  • Participate in requirements elicitation sessions.
  • Analyze stakeholder needs and create use cases.
  • Present findings and recommendations to project stakeholders.
Contribute to Open Source Projects Related to Use Case Modeling
Enhance understanding by contributing to real-world use case modeling projects.
Browse courses on Use Cases
Show steps
  • Identify open source projects focused on use case modeling.
  • Review project documentation and code.
  • Propose and implement improvements or new features.
  • Collaborate with project maintainers and other contributors.

Career center

Learners who complete Requirements Specifications: Goals and Conflict Analysis will develop knowledge and skills that may be useful to these careers:
Software Requirements Analyst
Software Requirements Analysts work with clients to determine project goals and requirements. Using this information, they create documentation that is used by the development team to build the software or application. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Software Requirements Analyst. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a software project.
Systems Analyst
Systems Analysts work with businesses to analyze their current systems and processes and recommend improvements. They may also work on implementing new systems or applications. This course can help students pivot into this career role by teaching them how to gather and analyze requirements, which is a critical skill for any Systems Analyst. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a systems analysis project.
Business Analyst
Business Analysts work with businesses to identify and analyze their business needs. They may also work on developing and implementing new business processes or systems. This course can help students pivot into this career role by teaching them how to gather and analyze requirements, which is a critical skill for any Business Analyst. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a business analysis project.
Product Manager
Product Managers are responsible for the development and launch of new products or features. They work with stakeholders to define the product vision, roadmap, and requirements. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Product Manager. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a product development project.
Project Manager
Project Managers are responsible for planning, executing, and closing projects. They work with stakeholders to define the project scope, budget, and timeline. This course can help students pivot into this career role by teaching them how to gather and analyze requirements, which is a critical skill for any Project Manager. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a project.
Technical Writer
Technical Writers create documentation for software, hardware, and other technical products. They work with engineers and other technical staff to gather information and write clear and concise documentation. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Technical Writer. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of documentation that may be needed for a technical product.
Software Developer
Software Developers design, code, and test software applications. They work with clients to gather requirements and develop software that meets the client's needs. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Software Developer. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a software development project.
Quality Assurance Analyst
Quality Assurance Analysts test software and other products to ensure that they meet the required standards. They work with developers and other staff to identify and fix defects. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Quality Assurance Analyst. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a quality assurance project.
User Experience Designer
User Experience Designers design the user interface for software and other products. They work with clients to gather requirements and design a user interface that is easy to use and understand. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any User Experience Designer. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a user experience design project.
Data Analyst
Data Analysts collect, clean, and analyze data to identify trends and patterns. They work with clients to develop data-driven solutions to business problems. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Data Analyst. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a data analysis project.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access and attacks. They work with clients to identify security risks and develop security plans. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Information Security Analyst. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for an information security project.
Network Administrator
Network Administrators manage computer networks and ensure that they are running smoothly. They work with clients to identify network needs and develop network solutions. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Network Administrator. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a network administration project.
Database Administrator
Database Administrators manage databases and ensure that they are running smoothly. They work with clients to identify database needs and develop database solutions. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Database Administrator. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a database administration project.
Computer Programmer
Computer Programmers write and maintain computer programs. They work with clients to gather requirements and develop programs that meet the client's needs. This course can help students pivot into this career role by teaching them how to write clear and concise requirements, which is a critical skill for any Computer Programmer. Additionally, the course covers topics such as use cases, misuse cases, and abuse cases, which are all important concepts for understanding the different types of requirements that can be needed for a computer programming project.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. They work with clients to identify and resolve computer problems. This course may be useful to students who want to pivot into this career role, as it can help them develop the skills needed to communicate with clients and understand their needs.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Requirements Specifications: Goals and Conflict Analysis.
Addresses the evidence-based best practices and practical advice for defining, translating, and validating software requirements. It serves as a comprehensive reference for the course, covering a wide range of topics related to requirements engineering.
Provides a comprehensive overview of requirements engineering, including topics such as goal analysis, use cases, and conflict resolution. It serves as a valuable reference for the course, providing additional depth and breadth.
Provides a comprehensive overview of software requirements, including topics such as requirements elicitation, analysis, and management. It is useful for understanding the fundamentals of requirements engineering and for gaining a broader perspective on the field.
Introduces an object-oriented approach to systems analysis and design and focuses on the use of use cases modeling. It is helpful for understanding goal creation and use cases, and provides more in-depth coverage of these topics than the course.
Practical guide to writing effective use cases. It is useful for understanding the structure and content of use cases, and provides guidance on how to use them in requirements engineering.
Provides a comprehensive overview of software testing, including topics such as test planning, test case design, and test execution. It serves as a valuable reference for the course, providing additional depth on the topic of testing requirements.
Presents a set of principles for software architecture and design that are based on the principles of clean code. It is useful for understanding how to design software systems that are more maintainable, extensible, and testable.
Presents a comprehensive list of software testing techniques, including both black-box and white-box techniques. It is useful for understanding the different approaches to testing software and for selecting the most appropriate techniques for a given project.
Introduces the concept of user stories and provides guidance on how to write and use them in agile software development. It is especially useful for understanding the role of user stories in requirements gathering and analysis.
Introduces the concept of design patterns and provides examples of how they can be used in software development. It is useful for understanding the different types of design patterns and for learning how to apply them to real-world projects
Provides a practical guide to agile requirements engineering, including topics such as user story mapping and acceptance criteria. It is useful for understanding how to apply agile principles to requirements engineering.
Explores the concepts of domain-driven design, a software development approach that focuses on modeling the core domain of a software system. It is useful for understanding how to apply domain-driven design to requirements engineering and for developing software systems that are more flexible and maintainable.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser