Skip to Main Content
Prefactoring
book

Prefactoring

by Ken Pugh
September 2005
Intermediate to advanced content levelIntermediate to advanced
240 pages
6h 28m
English
O'Reilly Media, Inc.
Content preview from Prefactoring

4.2. Process

Analysis concerns describing the user requirements (the problem description), and design concentrates on creating a solution that meets the requirements (the solution definition). The exact boundary between the two is hard to determine, especially with iterative development. A feedback cycle occurs between the two phases.

Objects created in the design phase often reflect the real-world objects referred to in the requirements. If you state the object definitions in the requirements clearly, the software object definitions will be clear as well. Lack of clarity in what the software objects really should do feeds back into requirements clarification. For Sam's system, understanding the difference between a CDDisc and a CDRelease not only clarifies the requirements, but also yields two potential classes. As the CDDisc class is developed, questions regarding how its methods should work might help discover ambiguities in the requirements.[*]

[*] The design classes might not reflect the classes in the requirements precisely. They might differ by behavior, services, attributes, or relationships. However, the requirement classes do form a good initial starting point for the design classes.

4.2.1. Analysis Paralysis

Analysis paralysis occurs when you become stuck trying to complete your understanding of the requirements to be implemented. You become so stuck, always feeling that you need to learn yet one more thing, you cannot move on to design.

Gary K. Evans, a reviewer, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Understanding Unittest.Mock

Understanding Unittest.Mock

Mario Corchero
Java™ Performance

Java™ Performance

Charlie Hunt, Binu John

Publisher Resources

ISBN: 0596008740Supplemental ContentCatalog PageErrata