Presentation is loading. Please wait.

Presentation is loading. Please wait.

Team Skill 6: Building the Right System From Use Cases to Implementation (25)

Similar presentations


Presentation on theme: "Team Skill 6: Building the Right System From Use Cases to Implementation (25)"— Presentation transcript:

1 Team Skill 6: Building the Right System From Use Cases to Implementation (25)

2 Use Cases to Implementation What we have done so far ▫Defined requirements ▫Specified them clearly ▫Ensure they have good quality Now we need to ensure that the system reflects the requirements we have designed 2

3 Use Cases to Implementation As a SW development company we to confirm that the stated requirements are implemented Ensure no unneeded/undocumented changes are made during development Deal with change during development ▫Change control Process ▫Bug process 3

4 Use Cases to Implementation System Customer Needs Defined Requirements VerificationValidation Verification vs. Validation 4

5 Use Cases to Implementation Verification should confirm ▫Use Cases and requirements which are derived from features really do support the intended features ▫Use cases are reflected in the design ▫The design supports both functional and nonfunctional aspects of the system’s behavior ▫Code conforms to the design ▫Testing covers all use cases and requirements 5

6 Use Cases to Implementation Verification ▫Verification is often done through traceability ▫Key concept for verification is that every activity looks back to the previous step and makes sure nothing got left behind, or forgotten ▫Other verification methods include inspection and review 6

7 Use Cases to Implementation Cost of verification ▫Balance the amount of time spent doing verification,  Don’t overdo it  Don’t miss something important ▫Verification applies to all phases of the life cycle, but is most critical early on 7

8 Use Cases to Implementation Verification ▫Testing is also mostly a verification activity ▫Verification is done by many members of the project team  Not just a QA ▫A process for verification needs to built into the life cycle to ensure it is consistently performed 8

9 Use Cases to Implementation Validation ▫The act of proving that the system you are creating meets the needs of the customer ▫Can map user needs to product features, another form of traceability ▫Validation is often done at major milestones  End of life cycle phases  End of iterations ... 9

10 Use Cases to Implementation Validation ▫Need to demonstrate the product in the customer’s environment to assess the subjective “are they happy with it” criterion ▫Main reason for validation is to ensure the customer needs didn’t change from when the requirements were captured 10

11 Use Cases to Implementation While software development has been able to accomplish realization of functionality ▫Getting from requirements to implementation is not a simple matter Sometimes it is hard to prove that a particular piece of code fulfills a requirement 11

12 Use Cases to Implementation Sometimes it is straightforward To make some requirements easier to implement write them with detail to guide the developer, by invoking familiar concepts ▫Task progress status ▫Role or organization-based security modeling ▫Citing specific math concepts or algorithms 12

13 Use Cases to Implementation The toughest requirements to implement are ▫Too vague, little idea of what  Level of complexity  Control is desired ▫Non-functional requirements,  Often process-oriented, but the code itself is a logical structure 13

14 Use Cases to Implementation Difficult requirements can also focus on scale issues such as system-level requirements ▫Can be addressed by the systems engineering approach we discussed earlier Requirements which are distributed throughout the system are also often difficult (e.g. use of interface standards) 14

15 Use Cases to Implementation Key ways to address difficult requirements are through using proven design patterns or metaphors ▫Talked about throughout INFSCI 2511 15

16 Use Cases to Implementation Use of object-oriented methods can help resolve some orthogonality issues, by combining data structure with process-oriented methods Beware that direct mapping of functions to objects can result in non-OO structures 16

17 Use Cases to Implementation Use Case can help ▫Defining use cases can help see the big picture of the system’s role ▫Prevents focusing too closely on a particular function 17

18 Use Cases to Implementation Modeling the system ▫Software systems can involve thousands of modules and millions of lines of code ▫To help break down their complexity we need a good modeling tool ▫We need to hide the details and understand the high level 18

19 Use Cases to Implementation Our need to understand software at a high level is similar to other fields’ needs ▫In astronomy  Cosmology tries to understand the structure and evolution of the universe ▫In physics  Various unified field theories try to relate all of the electromagnetic forces 19

20 Use Cases to Implementation We use system architecture to understand ▫What the system does ▫How it works ▫The role of each part of the system And be able to support ▫Extension or expansion of the system ▫Reuse of the system 20

21 Use Cases to Implementation 4+1 architecture ▫Phillipe Kruchten (Written before UML)  Helps capture the architecture by looking at different aspects of the system ▫Like a house architect might have different drawings to capture  Structure,  Wiring  Plumbing ... 21

22 Use Cases to Implementation The 4+1 views are ▫Logical view, such as the subsystems and classes within the system ▫Implementation or Development view, which is the structure of the code in its environment ▫Process view, to capture timing and coordination issues ▫Deployment or Physical view, the hardware 22

23 Use Cases to Implementation The +1 part are scenarios or use cases, which tie all of the parts together Logical Process Implementation Deployment Use Cases 23

24 Use Cases to Implementation Logical view ▫The structure of the data and objects needed to support system functionality ▫Appears as a class diagram or entity-relationship diagram (ERD) 24

25 Use Cases to Implementation Implementation View ▫The structure of the code is often shown by grouping modules ▫From large to small  Subsystem  Component  Packages 25

26 Use Cases to Implementation Process View ▫The process view mostly helps understand non- functional characteristics  Timing  Synchronization  Concurrency  Fault tolerance ▫UML Diagrams  Sequence  Activity diagrams  State chart 26

27 Use Cases to Implementation Deployment View ▫The deployment view focuses on how the system is physically located on computer systems ▫Hence this helps focus on installation and networking issues ▫Shown with a deployment diagram 27

28 Use Cases Tie It All Together As the four main views are being developed, the use cases or scenarios can help ensure the models are all consistent with each other Trace how each scenario appears from each view’s perspective ▫Response Startegies 28

29 Use Cases to Implementation Summary ▫The best way to get from requirements to code is to define a set of inter-related models ▫Capturing  Logical  Implementation  Process  Deployment characteristics  And how they all relate 29


Download ppt "Team Skill 6: Building the Right System From Use Cases to Implementation (25)"

Similar presentations


Ads by Google