Customers are satisfied when their apps WORK. We can get requirements from the customers to make sure that we build them what they ask for. User cases and diagrams are helpful ways to do that, but it’s all about figuring out what the customer wants the app to do.
Customers are satisfied when their apps KEEP WORKING. Class and sequence diagrams can help show us design problems, but the point is to write well-designed and robust code.
Customers are satisfied when their apps can be UPGRADED. Using OO techniques like encapsulation (change), composition, and delegation (loosely coupled ) will make your applications maintainable and extensible.
Programmers are satisfied when their apps can be RESUSED. Concepts like the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) are big time in helping here.
Programmers are satisfied when their apps are FLEXIBLE. Sometimes just a little refactoring can take a good app and turn it into a nice framework that can be used for all sorts of different things.
USE CASE A use case is a technique for capturing the potential requirements of a new system or software change. Each use case provides one or more scenarios that convey how the system should interact with the end user or another system ot achieve a specific goal.
One USE CASE , three PARTS Clear ValueStart and StopExternal Initiator