WGU D284 - Software Engineering Task 1: EvolveCRM Software Solution Analysis | 2026 Upda, Exams of Information and Communications Technology (ICT)

WGU D284 - Software Engineering Task 1: EvolveCRM Software Solution Analysis | 2026 Update with complete solutions

Typology: Exams

2025/2026

Available from 03/28/2026

drwails
drwails 🇺🇸

3

(1)

2.6K documents

1 / 29

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
WGU D284 - Software Engineering Task
1: EvolveCRM Software Solution Analysis
| 2026 Update with complete solutions
Section 1: Requirements Gathering & Elicitation (Q 1-20)
1. What is the primary difference between functional and non-
functional requirements for EvolveCRM?
Correct answerr: Functional requirements describe what the system
should do (e.g., "user can add a contact"), while non-functional
requirements describe how the system performs (e.g., "page loads
within 2 seconds").
Rationale: Functional requirements define specific behaviors and
features. Non-functional requirements (quality attributes) constrain
the system architecture and affect user experience, security, and
reliability.
2. Which requirement elicitation technique is most effective for
uncovering implicit processes that users forget to mention?
Correct answerr: Observation (or Shadowing).
Rationale: Users often fail to mention steps they do out of habit (like
copying a phone number to a sticky note). Observing users in their
actual environment reveals the implicit processes and pain points that
interviews or surveys might miss .
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d

Partial preview of the text

Download WGU D284 - Software Engineering Task 1: EvolveCRM Software Solution Analysis | 2026 Upda and more Exams Information and Communications Technology (ICT) in PDF only on Docsity!

WGU D284 - Software Engineering Task

1: EvolveCRM Software Solution Analysis

| 2026 Update with complete solutions

Section 1: Requirements Gathering & Elicitation (Q 1-20)

1. What is the primary difference between functional and non- functional requirements for EvolveCRM? - Correct answerr: Functional requirements describe what the system should do (e.g., "user can add a contact"), while non-functional requirements describe how the system performs (e.g., "page loads within 2 seconds"). - Rationale: Functional requirements define specific behaviors and features. Non-functional requirements (quality attributes) constrain the system architecture and affect user experience, security, and reliability. 2. Which requirement elicitation technique is most effective for uncovering implicit processes that users forget to mention? - Correct answerr: Observation (or Shadowing). - Rationale: Users often fail to mention steps they do out of habit (like copying a phone number to a sticky note). Observing users in their actual environment reveals the implicit processes and pain points that interviews or surveys might miss.

3. The Marketing team requests a feature to export all contacts to a CSV. The Security team objects. What is the primary conflict here? - Correct answerr: Data Security vs. Usability. - Rationale: Marketing wants ease of data portability (Usability), while Security is concerned about Data Exfiltration and GDPR/CCPA compliance. The solution requires a trade-off, such as requiring manager approval for exports or implementing audit logs. 4. During a requirements workshop, stakeholders cannot agree on whether "Contact Owner" should be a single user or a team. What artifact should you create to resolve this? - Correct answerr: A Glossary or Data Dictionary. - Rationale: Ambiguity in business terms is a primary source of project failure. Defining terms like "Contact Owner" (e.g., "The individual sales rep assigned primary responsibility") in a glossary ensures all stakeholders agree on the semantics before development begins. 5. What is the purpose of a "Requirements Traceability Matrix" (RTM) for EvolveCRM? - Correct answerr: To link each requirement to its source (stakeholder), design element, test case, and deployment status. - Rationale: An RTM ensures that no scope creep occurs without authorization and that every requirement is tested. It is used to prove that the delivered software matches the agreed-upon scope. 6. The project sponsor wants to add an "AI-generated email summary" feature halfway through the sprint. As the engineer, what process must be invoked? - Correct answerr: Change Control Board (CCB) / Scope Change Request. - Rationale: Adding features mid-sprint disrupts the development velocity. Any addition to scope after the baseline is established

  • Rationale: Engineers often build "vanity metrics" dashboards that look nice but don't aid business decisions. Defining the decision clarifies the data model and visualization required. 11. In MoSCoW prioritization, where does the "Dark Mode" UI feature typically fall for a CRM MVP?
  • Correct answerr: W (Won't have this time) or S (Should have if possible).
  • Rationale: The Minimum Viable Product (MVP) focuses on core functionality: adding contacts, logging interactions, and reporting. Dark mode is a cosmetic enhancement that does not impact core business value and is typically deferred. 12. A stakeholder asks for "real-time" data synchronization. What question must you ask to clarify this non-functional requirement?
  • Correct answerr: "What is the acceptable latency?" (e.g., milliseconds vs. seconds vs. minutes).
  • Rationale: "Real-time" is ambiguous. For some, it means under 100ms; for others, it means within 5 minutes. Defining the actual tolerance prevents over-engineering or under-delivery. 13. What is the primary risk of using only surveys for requirements elicitation?
  • Correct answerr: Lack of interaction prevents clarification and discovery of edge cases.
  • Rationale: Surveys provide breadth but not depth. They do not allow the analyst to ask follow-up questions, probe for underlying needs, or observe workflows. Interviews and workshops are needed for complex systems. 14. Which artifact captures the high-level scope of the EvolveCRM project?
  • Correct answerr: Project Charter or Vision Document.
  • Rationale: The Project Charter defines the project's purpose, objectives, stakeholders, and high-level scope. It is typically the first document created and serves as the foundation for detailed requirements. 15. You are eliciting requirements for "Contact Import." One user says, "I just want it to work like Excel." Why is this problematic?
  • Correct answerr: It is vague and assumes shared understanding of Excel's complex functionality.
  • Rationale: "Like Excel" could refer to formulas, filtering, pivot tables, or just grid editing. The requirement must be broken down into specific, testable behaviors. 16. What is the difference between a "business requirement" and a "user requirement"?
  • Correct answerr: Business requirements are high-level organizational goals (e.g., "Increase sales efficiency by 20%"). User requirements are specific needs of user groups (e.g., "Sales reps need to log calls in under 30 seconds").
  • Rationale: Business requirements provide the "why," while user requirements define the "what" from the user perspective. Both are needed for a complete specification. 17. Which technique is best for discovering requirements that stakeholders may not even know they need?
  • Correct answerr: Prototyping or Wireframing.
  • Rationale: Visualizing the system allows stakeholders to interact with a mockup and identify gaps, missing features, or incorrect assumptions that verbal descriptions alone would miss. 18. A stakeholder says, "The system must be fast." How should you refine this requirement?

22. In a Class Diagram for EvolveCRM, what is the correct multiplicity between a "Contact" and an "Interaction" (e.g., email, call)? - Correct answerr: **1 : *** (One contact has many interactions). - Rationale: A single contact can have multiple interactions over time (calls, emails, meetings). This is a one-to-many relationship. 23. You are designing the "Contact" class. Which attributes are required to satisfy GDPR "Right to be forgotten"? - Correct answerr: An isActive flag (soft delete) or a deletedAt timestamp, plus a consentGiven boolean and consentTimestamp. - Rationale: Hard deleting data immediately can break referential integrity (e.g., interactions tied to a contact). A soft delete allows the system to anonymize or archive the data while respecting the user's request to remove their personal information from active views. 24. In a State Machine Diagram for a "Lead" (a type of Contact), which states are typically required? - Correct answerr: New → Contacted → Qualified → Negotiation → Closed Won / Closed Lost. - Rationale: State machine diagrams model the lifecycle of an object. Leads move through a sales pipeline; they cannot go from "New" to "Closed Won" without intermediate qualification steps. 25. Why is a Component Diagram useful for the EvolveCRM architecture? - Correct answerr: It shows the physical structuring of the system, such as how the ContactService component interfaces with the Database component and the EmailService component. - Rationale: Component diagrams help define the API boundaries between major parts of the system, facilitating parallel development.

26. You are creating an Activity Diagram for "Contact Import." A user can upload a CSV. What does a "Fork" node represent in this flow? - Correct answerr: The splitting of a single flow into multiple concurrent flows (e.g., validating rows in parallel while also checking file size). - Rationale: Forks allow modeling of parallel processing, which is efficient for import functions but must eventually join back before completion. 27. Which UML diagram is best suited to show the physical deployment of EvolveCRM across web servers, application servers, and a database cluster? - Correct answerr: Deployment Diagram. - Rationale: Deployment diagrams map software artifacts (like WAR files) to hardware nodes (servers). This is critical for understanding scalability, redundancy, and network infrastructure. 28. In a Use Case Diagram, what is the relationship between "View Contact" and "Edit Contact"? - Correct answerr: Extends or Inheritance. - Rationale: "Edit Contact" is a specialized version of "View Contact." The actor must first view the contact to edit it. Typically, "Edit Contact" extends the "View Contact" use case. 29. You model a "Contact" and an "Organization" (Account). If a Contact must belong to an Organization, what type of relationship is this? - Correct answerr: Aggregation (or Composition). - Rationale: Aggregation represents a "has-a" relationship. If the Organization is deleted, the Contact may or may not be deleted depending on business rules (composition = strong lifecycle dependency).

34. Which diagram would you use to model the roles (Admin, Manager, Rep) and the features they can access in EvolveCRM? - Correct answerr: Use Case Diagram with actor generalizations, or a Security/RBAC Matrix. - Rationale: Use Case diagrams show actors and their associated use cases. Generalization arrows allow you to show that an "Admin" inherits all permissions of a "Manager" and adds more. 35. The "Contact Merge" feature involves complex conditional logic. Which diagram best captures the algorithmic logic? - Correct answerr: Activity Diagram or State Machine Diagram. - Rationale: Activity diagrams excel at showing decision nodes (diamonds) and merge nodes for complex business rules like field precedence (e.g., "Keep the most recently updated field"). 36. In a layered architecture diagram for EvolveCRM, what are the three standard layers? - Correct answerr: Presentation Layer (UI/React), Business Logic Layer (Java/C# Controllers), Data Access Layer (JPA/Entity Framework) / Database. - Rationale: Separation of concerns allows for maintainability. The UI does not talk directly to the database; it goes through logic layers to enforce business rules. 37. You need to ensure that every Interaction record has a valid ContactID. What database constraint should be applied? - Correct answerr: Foreign Key Constraint (with ON DELETE CASCADE or RESTRICT based on business rules). - Rationale: Referential integrity ensures data consistency. A foreign key prevents orphaned records.

38. What normalization form is achieved when a table has no repeating groups (i.e., no arrays or multiple phone numbers in one column)? - Correct answerr: First Normal Form (1NF). - Rationale: 1NF requires that each column contains atomic (indivisible) values and that each record is unique. Storing multiple phone numbers in a single field violates 1NF. 39. What is the difference between ON DELETE CASCADE and ON DELETE RESTRICT? - Correct answerr: CASCADE automatically deletes child records when the parent is deleted; RESTRICT prevents deletion of a parent if child records exist. - Rationale: The choice depends on business rules. For a Contact and Interaction, you might use CASCADE if interactions are meaningless without the contact. For Contact and User, you might RESTRICT to prevent deleting a user who still owns contacts. 40. Which design pattern is used to ensure that a database connection pool is shared across the entire application? - Correct answerr: Singleton Pattern. - Rationale: The Singleton pattern ensures a class has only one instance and provides a global point of access to it. This is ideal for managing shared resources like connection pools. 41. What is the primary purpose of an Index in a database? - Correct answerr: To speed up data retrieval (SELECT queries) by allowing the database to find rows without scanning the entire table. - Rationale: Indexes are a performance optimization. They trade off write performance (INSERT/UPDATE are slower) for improved read performance.

  • Correct answerr: Realization (dashed arrow) is between an interface and a class that implements it. Generalization (solid arrow) is between a parent class and a child class (inheritance).
  • Rationale: Realization defines a contract; the class promises to implement the interface's methods. Generalization defines an "is-a" relationship. 47. In a State Machine Diagram, what is the difference between a "self- transition" and a "normal transition"?
  • Correct answerr: A self-transition loops back to the same state (often triggering an action), while a normal transition moves to a different state.
  • Rationale: Self-transitions are used to model actions that occur while remaining in the same state, such as updating a timestamp each time a contact is viewed. 48. Which UML diagram would you use to model the flow of data between processes?
  • Correct answerr: Data Flow Diagram (DFD) or Activity Diagram with object flows.
  • Rationale: DFDs specifically focus on how data moves through the system. While not strictly part of UML, they are often used in conjunction with UML for analysis. 49. What is the purpose of a "Validation" constraint in a Class Diagram?
  • Correct answerr: To enforce business rules that cannot be expressed through multiplicities alone (e.g., { Email must be unique } or { End date > Start date }).
  • Rationale: Constraints (in curly braces) specify conditions that must hold true for the model to be valid. They are often implemented in the code as validation logic.

50. In MVC architecture, which component handles user input and updates the model? - Correct answerr: Controller. - Rationale: The Controller receives user input from the View, translates it into commands for the Model, and then updates the View. The Model manages data and business logic. 51. Which design principle states that "a class should have only one reason to change"? - Correct answerr: Single Responsibility Principle (SRP). - Rationale: SRP is one of the SOLID principles. It promotes cohesion and reduces the risk that a change in one requirement will affect unrelated functionality. 52. Which SOLID principle addresses the requirement that derived classes must be substitutable for their base classes? - Correct answerr: Liskov Substitution Principle (LSP). - Rationale: LSP ensures that a subclass can stand in for its parent class without breaking the program. Violations occur when a subclass changes the expected behavior of the base class. 53. What is the purpose of the Interface Segregation Principle (ISP)? - Correct answerr: To avoid "fat" interfaces; clients should not be forced to depend on methods they do not use. - Rationale: ISP suggests splitting large interfaces into smaller, more specific ones. This reduces coupling and makes the system more maintainable. 54. Which SOLID principle is primarily concerned with reducing coupling through abstraction? - Correct answerr: Dependency Inversion Principle (DIP).

  • Correct answerr: To ensure process standardization and improve software quality.
  • Rationale: Models such as CMMI (Capability Maturity Model Integration) aim to standardize processes, enhance process maturity, and ultimately improve the quality and reliability of software products. 59. What is the key difference between Waterfall and Incremental development?
  • Correct answerr: Waterfall delivers the complete system at the end; Incremental delivers working subsets of functionality in increments.
  • Rationale: Incremental development allows for early delivery of core features and reduces risk by providing feedback earlier in the lifecycle. 60. In Scrum, what is the purpose of the Sprint Review?
  • Correct answerr: To demonstrate the completed work to stakeholders and gather feedback for future sprints.
  • Rationale: The Sprint Review is an inspection and adaptation meeting focused on the product, not the process (which is the Retrospective). 61. What is the role of the Product Owner in Scrum?
  • Correct answerr: To manage the Product Backlog, prioritize features, and ensure the team delivers value to the business.
  • Rationale: The Product Owner is the voice of the customer and is responsible for maximizing the value of the work the Development Team does. 62. Which Agile metric measures the total amount of work a team can complete in a sprint?
  • Correct answerr: Velocity.
  • Rationale: Velocity is measured in story points or hours and is used for capacity planning and forecasting future sprints.

63. What is the purpose of a Burndown Chart? - Correct answerr: To track the amount of remaining work in a sprint or release over time. - Rationale: Burndown charts help teams visualize progress and predict whether they will complete the planned work by the deadline. 64. What is the main difference between a "risk" and an "issue" in project management? - Correct answerr: A risk is a potential future event that could impact the project; an issue is a problem that has already occurred. - Rationale: Risk management is proactive (identifying and mitigating). Issue management is reactive (resolving problems that have arisen). 65. Which software process model is characterized by building a system incrementally with repeated cycles of prototyping, development, and testing? - Correct answerr: Spiral Model. - Rationale: The Spiral Model is a risk-driven model that combines iterative development with systematic risk analysis. Each spiral represents a phase. 66. What is the primary advantage of the Waterfall model? - Correct answerr: Simple, structured, and enforces discipline with clear milestones and documentation. - Rationale: Waterfall works well for projects with stable, well- understood requirements and where quality is more important than speed. 67. Which process model is often used for software maintenance or projects with urgent deadlines? - Correct answerr: Agile (or a lightweight methodology).

  • Rationale: Monoliths are easier to start but become unwieldy as the system grows. Microservices offer flexibility but increase operational complexity. 73. Which metric is used to measure the percentage of code executed during testing?
  • Correct answerr: Code Coverage.
  • Rationale: Code coverage indicates which parts of the source code are exercised by tests. However, high coverage does not guarantee high quality. 74. What is the difference between black-box and white-box testing?
  • Correct answerr: Black-box tests functionality without knowledge of internal code; white-box tests internal structures, logic, and paths.
  • Rationale: Black-box testing is based on requirements; white-box testing is based on code implementation and is used for unit tests. 75. Which testing level focuses on interactions between integrated modules?
  • Correct answerr: Integration Testing.
  • Rationale: Integration tests verify that modules work together correctly. This includes API testing, database integration, and communication between services. 76. What is the primary goal of a "static analysis" tool?
  • Correct answerr: To analyze source code for potential defects, security vulnerabilities, or style violations without executing the program.
  • Rationale: Static analysis (e.g., SonarQube) catches issues early in the development lifecycle before testing begins. 77. Which type of testing is performed to ensure that recent code changes do not break existing functionality?
  • Correct answerr: Regression Testing.
  • Rationale: Regression tests are rerun after each change to confirm that the system still behaves as expected. Automation is critical for regression testing. 78. What is a "test harness"?
  • Correct answerr: A collection of software and test data configured to test a program unit by running it under varying conditions.
  • Rationale: A test harness provides stubs, drivers, and test data to facilitate automated testing, especially for unit and integration tests. 79. Which document defines the approach, resources, and schedule for testing activities?
  • Correct answerr: Test Plan.
  • Rationale: The Test Plan outlines the scope, strategy, resources, and schedule for testing. It is created during the planning phase. 80. What is the primary difference between a "test case" and a "test scenario"?
  • Correct answerr: A test scenario is a high-level description of what to test; a test case is a detailed set of steps, inputs, and expected results.
  • Rationale: Scenarios define "what," cases define "how." A scenario may generate many test cases. **Section 4: Quality, Ethics & Maintenance (Q 81-100)
  1. Which quality metric best reflects the maintainability of a software system?**
  • Correct answerr: Cyclomatic Complexity, Code Coverage, or Technical Debt.