Presentation is loading. Please wait.

Presentation is loading. Please wait.

Analysis Paralysis We spend so much time thinking about the problem and making sure the next step is “perfect” there is a risk that we never actually.

Similar presentations


Presentation on theme: "Analysis Paralysis We spend so much time thinking about the problem and making sure the next step is “perfect” there is a risk that we never actually."— Presentation transcript:

1

2 Analysis Paralysis We spend so much time thinking about the problem and making sure the next step is “perfect” there is a risk that we never actually make the next step. “Do you want it perfect or do you want it now?”

3 Designing a system is a process of discovery.

4 Faulty Assumptions In the second lecture we drew up the following detailed specification… The consultant sits at their desk with a stack of business cards and flyers. They pick up a business card and start to input the details into system. The first field they enter is the name of the company. While doing this the system looks up the company name to see if it is already on the system. The next field the user enters is the name of the contact. Whilst dong this, the list of contacts for that company is displayed such that if the contact is already on the system the user may move onto another business card. At this point the user should have the opportunity to update the details on the system should they note that some aspect has change e.g. email address.

5 From this we drew up an initial event table… SubjectVerbObjectResponse ConsultantInputsCardData accepted by the system SystemChecksCardIdentifying duplicates ConsultantUpdatesCardNew data input

6 Resulting in the following initial use case diagram…

7 There is a problem Back to that red herring If we collected business cards like stamps then yes we would be interested in recording individual cards. What’s more important in our case isn’t the cards but the data they contain. We are interested in business intelligence on the companies and the people they employ.

8 Need to Revise the Specification The consultant sits at their desk with a stack of business cards and flyers. They pick up a business card and start to input the details into system. The user is interested in recording details of the individual and associated company. The first field they enter is the name of the company. While doing this the system looks up the company name to see if it is already on the system. The next field the user enters is the name of the contact. Whilst dong this, the list of contacts for that company is displayed such that if the contact is already on the system the user may move onto another business card. At this point the user should have the opportunity to update the details on the system should they note that some aspect has change e.g. email address.

9 And the Event Table SubjectVerbObjectResponse ConsultantInputsCompany Name System produces a list of companies with that name SystemFindsCompanyProduces a list of companies with that name SystemListsEmployeesProduces a list of employees at each company ConsultantAddsCompanyCompany added to the system ConsultantAddsEmployeeEmployee added to the system ConsultantUpdatesEmployeeEmployee details updated ConsultantUpdatesCompanyCompany details updated

10 And the Use Case Diagram

11 Initial Stab at the Class Diagram

12 First Go at the Sequence Diagram Actors Objects Swim lines Messages

13 Important Questions to Ask Do we have an actor on the use case that matches the sequence diagram? Yes! Do we have a class that allows us to create the Companies object? Yes! Do we have methods in the class that are able to handle the messages? FilterByCompanyName – yes FilterByCompanyNo - no

14 Revise the Class Diagram

15 So What Data Comes Back? We may also find clues to the attributes

16 Objects must have relationships in the class diagram

17 Extending the Sequence Diagram Do we have an operation to support this message?

18 Revise the Class Diagram

19 What About Validation?

20 Modify the Use Case Diagram

21 Where to Place the Validation Method? Composition and Aggregation Revisited Composition Aggregation OrderOrder Line Has10..* Attributes Operations Attributes Operations CustomerAddress Uses11..* Attributes Operations Attributes Operations

22 Does this Make sense? Aggregation or Composition?

23 This is an Aggregation This will need extending to include the parameters

24 The Sequence Diagram

25 The Use Case Diagram

26 The Class Diagram

27 Is it right? Probably not yet But we now have a mechanism to cross check one diagram with another

28 Exercise


Download ppt "Analysis Paralysis We spend so much time thinking about the problem and making sure the next step is “perfect” there is a risk that we never actually."

Similar presentations


Ads by Google