requirement analysis n.
Skip this Video
Loading SlideShow in 5 Seconds..
Requirement Analysis PowerPoint Presentation
Download Presentation
Requirement Analysis

Requirement Analysis

2 Vues Download Presentation
Télécharger la présentation

Requirement Analysis

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. CEN 4010 Class 10 – 09/29 Requirement Analysis Review of Class 9 Overview of Analysis Analysis Concepts From Use Cases to Objects

  2. Overview of Analysis • Analysis focuses on producing a model (analysis model) of the system that is correct, complete, consistent, and verifiable. • The analysis model is composed of three individual models: • Functional model – represented by use cases and scenarios. • Analysis object model – represented by class and object diagrams. • Dynamic model – represented by state charts and sequence diagrams. CEN 4010 Class 10 - 09/29

  3. Overview of Analysis cont • Focuses on structuring and formalizing the requirements elicited from users. • This formalization leads to new insights and the discovery of errors in the requirements. • The requirements specifications is updated to reflect insights gained during analysis, then review the changes with the client and the users. • Translating a requirements spec into a formal or semiformal model forces developers to identify and resolve difficult issues early in the development. CEN 4010 Class 10 - 09/29

  4. Overview of Analysis cont UML activity diagram: the products of requirements elicitation and analysis. Fig 5-2 P. 175 Requirements Elicitation Requirements Specification nonfunctional requirements functional model Analysis Analysis model dynamic model analysis object model System Design Object Design CEN 4010 Class 10 - 09/29

  5. Analysis concepts – Types of Objects • The analysis object model contains entity, boundary, and control objects. • Entity objects - persistent information tracked by the system. • Boundary objects - interactions between the actors and the system. • Control objects - tasks that are performed by the user and supported by the system. CEN 4010 Class 10 - 09/29

  6. Types of objects cont • UML provides the stereotype mechanism that enables the developer to attach meta information to modeling elements. E.g., <<control>> • Naming conventions can also be used to identify the different types of objects in the analysis model, e.g., InputControl, ButtonBoundary. <<entity>> :Employee CEN 4010 Class 10 - 09/29

  7. Types of objects cont Example: 5.6 Q1. Consider a file system with a graphical user interface, such as Mac’s Finder, Windows Explorer, or Linux’s KDE. The following objects were identified from a use case describing how to copy a file from a floppy disk to a hard disk: File, Icon, TrashCan, Folder, Disk, Pointer. Specify which are entity objects, which are boundary objects, and which are control objects. CEN 4010 Class 10 - 09/29

  8. Types of objects cont • Entity objects: File, Folder, Disk • Boundary objects: Icon, Pointer, TrashCan • Control objects: none in this example. Example: 5.6 Q2. Assuming the same file system as before, consider a scenario consisting of selecting a file on a floppy, dragging it to a folder and releasing the mouse. Identify and define at least one control object associated with this scenario. CEN 4010 Class 10 - 09/29

  9. Types of objects cont • The purpose of a control object is to encapsulate the behavior associated with a user level transaction. In this example, we identify a CopyFile control object, which is responsible for remembering the path of the original file, the path of the destination folder, checking if the file can be copied (access control and disk space), and to initiate the file copying. CEN 4010 Class 10 - 09/29

  10. Analysis concepts - Association • Recall one of the adornments that apply to associations is multiplicity. • Multiplicity indicates the number of links that can legitimately originate from an instance of the class to the association end. Types of multiplicity: • one-to-one – has multiplicity 1 on each end. • one-to-many – has a multiplicity a on one end and 0..n (or *) or 1..n on the other. • many-to-many – has multiplicity 0..n or 1..n on both ends. CEN 4010 Class 10 - 09/29

  11. Association Examples one-to-one 1 1 is issued Student FIU_IDCard one-to-many 1 1..* employs College Professor many-to-many 1..* 1..* takes Student Course CEN 4010 Class 10 - 09/29

  12. Analysis concepts - Generalization • Generalization enables us to organize concepts into hierarchies. (is-a relationship). • At the top of the hierarchy is the general concept (e.g., Student), and at the bottom of the hierarchy are the most specialized (e.g., Graduate, Undergraduate). • Note, inheritance (in OOP) is the mechanism by which more-specific elements incorporate the structure an behavior of more-general elements. (Booch et al.) CEN 4010 Class 10 - 09/29

  13. Generalization cont Student Each project should have at least one generalization in the class design. ssn: string name: string getName(): string getSSN(): string Graduate Undergraduate UGDegree: string year: String getYear(): String getUGDeg(): string CEN 4010 Class 10 - 09/29

  14. From Use Cases to Objects • Participating objects form the basis of the analysis model. • Participating objects are identified by examining each of the use cases developed during requirements elicitation. • Using the natural language description of the use cases and an intuitive set heuristics, objects can be identified. (Abbot ’83) See table on the next slide CEN 4010 Class 10 - 09/29

  15. From Use Cases to Objects cont CEN 4010 Class 10 - 09/29

  16. From Use Cases to Objects cont Heuristics for identifying objects: • terms the developers or users need to clarify in the use cases. • recurring nouns in the use cases. • real-world entities that the system needs to keep track of. • real-world activities the system needs to keep track of. • data sources and sinks • always use the user’s term. CEN 4010 Class 10 - 09/29

  17. From Use Cases to Objects cont Adv. of using natural language: • focuses on user’s terms. • developers become familiar with domain jargon. Disadv. of using natural language: • depends on writing style. • natural language is imprecise and ambiguous. • In use case there are usually more nouns than relevant classes. CEN 4010 Class 10 - 09/29

  18. From Use Cases to Objects cont • Entity objects are most common e.g., Student, Professor, Course. • Boundary objects represent the system interface with the actors (people or other systems). Heuristics: • Identify forms and windows the user needs to enter data into the system. • Identify notices and messages the system uses to respond to the user. • Always use the term’s of the user not impl. technology. CEN 4010 Class 10 - 09/29

  19. From Use Cases to Objects cont • Control objects are responsible for coordinating boundary and entity objects. • Heuristics: • Identify one control object per use case. If more than one control object is required then the use case might be too long. • Identify one control object per actor in the use case. • The life span of a control object should be the extent of the user session. Beginning and end of the control object activation should be easily identified. CEN 4010 Class 10 - 09/29

  20. Review Topics for Exam 1 • Definitions: software engineering, role, activity, task, milestone, deliverable, notation, method, methodology, use cases, actors. • Software process. • Attributes of good software. • Software process models. Advantages and disadvantages of the software process models. Review diagrams for Waterfall, Boehm’s Spiral, Incremental Development, and Unified Software Process. • UML: Types of diagrams and relationships, with examples. CEN 4010 Class 10 - 09/29

  21. Review Topics for Exam 1 • Software Project management: • charts to develop schedules • focus on how it applies to your project e.g., tasks, organization, … • Requirements elicitation: • Activities • Functional and non-functional constraints • The format of a use case given in class. Identification of use cases for your team project based on decision support. • Requirements reviews CEN 4010 Class 10 - 09/29

  22. Review Topics for Exam 1 • Analysis model • Components of the analysis model • Purpose of the analysis model. Questions on Project CEN 4010 Class 10 - 09/29