





















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
WGU D284 - Software Engineering Task 1: EvolveCRM Software Solution Analysis | 2026 Update with complete solutions
Typology: Exams
1 / 29
This page cannot be seen from the preview
Don't miss anything!






















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
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.
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).
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).