1 / 66

CSE323 การวิเคราะห์และออกแบบระบบ ( Systems Analysis and Design )

CSE323 การวิเคราะห์และออกแบบระบบ ( Systems Analysis and Design ). Lecture 06: Object-Oriented Systems Analysis and Design Using UML. Major Topics. Object-oriented concepts and terminology CRC Cards Unified Modeling Language Use case and other UML diagrams Relationships.

bryonb
Download Presentation

CSE323 การวิเคราะห์และออกแบบระบบ ( Systems Analysis and Design )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE323การวิเคราะห์และออกแบบระบบ (Systems Analysis and Design) Lecture 06: Object-Oriented Systems Analysis and Design Using UML

  2. CSE323 Systems Analysis and Design 2/2549 Major Topics • Object-oriented concepts and terminology • CRC Cards • Unified Modeling Language • Use case and other UML diagrams • Relationships

  3. CSE323 Systems Analysis and Design 2/2549 Object-Oriented Overview • วิธีการเชิงวัตถุ (Object-oriented techniques) ใช้ได้ผลดีเมื่อระบบที่มีความซับซ้อนได้รับการบำรุงรักษา ปรับปรุงเปลี่ยนแปลง และออกแบบอย่างต่อเนื่อง • UML (The Unified Modeling Language) คือมาตรฐาน (industry standard) สำหรับการจำลองระบบเชิงวัตถุ

  4. CSE323 Systems Analysis and Design 2/2549 Goals of O-O Analysis เป้าหมายของการวิเคราะห์เชิงวัตถุ • การนำกลับมาใช้ใหม่คือเป้าหมายหลัก • ระบบการบำรุงรักษาเป็นเป้าหมายที่สำคัญ • การเปลี่ยนแปลงในออบเจ็กต์หนึ่งจะมีผลกระทบต่อออบเจ็กต์อื่นน้อยที่สุด

  5. CSE323 Systems Analysis and Design 2/2549 Object-Oriented Concepts นิยามและแนวคิด: • ออบเจ็กต์แทนสรรพสิ่งในโลกแห่งความเป็นจริง (real-world thing) หรือเหตุการณ์ (event) • ออบเจ็กต์อาจเป็น ลูกค้า รายการ คำสั่งซื้อ ฯลฯ • ออบเจ็กต์อาจเป็น GUI displays หรือ text areas on a display • ออบเจ็กต์ถูกแทนด้วยคลาสและจัดป็นกลุ่มของคลาส • คลาสหรือกลุ่มของคลาสมีคุณสมบัติและบริการหรือฟังก์ชันการทำงานร่วมกัน • Instantiate เป็นคำที่ใช้เมื่อมีการสร้างออบเจ็กต์ขึ้นจากคลาส • Attributes หรือแอททริบิวท์ คือลักษณะประจำหรือคุณสมบัติของคลาสที่ทุกออบเจ็กต์ในคลาสนั้นมี • Method หรือเมทธอด คืองานอย่างใดอย่างหนึ่งที่สามารถเรียกใช้ได้จากออบเจ็กต์ในคลาส

  6. CSE323 Systems Analysis and Design 2/2549 Class Symbol สัญลักษณ์ของคลาส

  7. CSE323 Systems Analysis and Design 2/2549 Inheritance การสืบทอดคุณสมบัติ • การสืบทอดคุณสมบัติ (Inheritance) เกิดขึ้นเมื่อมีการสร้างคลาสขึ้นใหม่จากคลาสที่มีอยู่แล้ว • คลาสเดิมจะเป็นคลาสแม่ (parent or base class) • คลาสใหม่จะเป็นคลาสลูก (child or derived class) • คลาสลูกได้รับการถ่ายทอดคุณสมบัติและบริการหรือฟังก์ชันการทำงานจากตลาสแม่

  8. CSE323 Systems Analysis and Design 2/2549 CRC Cards การ์ด CRC (Class, responsibilities, and collaborators) ใช้สำหรับแสดงความรับผิดชอบของคลาสและปฏิสัมพันธ์ระหว่างคลาส การสร้างการ์ด CRC • หาคำนามและคำกริยาในประโยคปัญหา • สร้างสถานการณ์จำลอง (Scenarios) โดยพิจารณาจากการทำงานตามจริงของระบบ • ระบุและกำหนดความรับผิดชอบให้กับงานชิ้นเล็กลงและเล็กลงเรื่อยๆเท่าที่จะทำได้ • พิจาณาว่างานต่างๆทำได้โดยออบเจ็กต์หรือการโต้ตอบกับออบเจ็กต์อื่นไอย่างไร • ระบุความรับผิดชอบที่เกี่ยวข้องเป็นเมทธอดหรือฟังก์ชันการทำงาน

  9. CSE323 Systems Analysis and Design 2/2549 The Unified Modeling Language (UML) UML has three categories: • สิ่งต่างๆ หรือ ออบเจ็กต์ (Things, the objects) • ความสัมพันธ์ (Relationships, the glue that holds things together) • แผนภาพ (Diagrams, categorized as either structure or behavioral)

  10. CSE323 Systems Analysis and Design 2/2549 Two General Groupings of Things กลุ่มของส่งต่างๆใน UML: • Structural things ซึ่งใช้กำหนดโครงสร้างตามแนวคิดและโครงสร้างทางกายภาพของระบบเชิงวัตถุ และอธิบายด้วยคำนาม • Behavioral things เป็นคำกริยาในแบบจำลอง UML ที่ใช้แทนพฤติกรรมของระบบ และสถานะของระบบ ก่อน ระหว่าง และหลัง เมื่อมีพฤติกรรมดังกล่าวเกิดขึ้น

  11. CSE323 Systems Analysis and Design 2/2549 Structural and BehavioralThings Structural things ได้แก่: • Classes. • Use cases. • Interfaces. Behavioral things ได้แก่: • Interactions • State machines

  12. CSE323 Systems Analysis and Design 2/2549 Types of Relationships ประเภทของความสัมพันธ์: • Structural relationships ผูกสิ่งต่างๆเข้าด้วกันในแผนภาพโครงสร้าง (Structural diagram) • Behavioral relationship ใช้ในแผนภาพเหตุการณ์ (Behavioral diagrams)

  13. CSE323 Systems Analysis and Design 2/2549 Structural and Behavioral Relationships Structural relationships ได้แก่: • Dependencies. • Aggregations. • Associations. • Generalizations. • Behavioral relationships ได้แก่: • Communicates. • Includes. • Extends. • Generalizes.

  14. CSE323 Systems Analysis and Design 2/2549 Structural and BehavioralDiagrams Structural things are the most common and include: • Class and object diagrams. • Use case diagrams. • Component diagrams. • Deployment diagrams. Behavioral things include: • Use case diagrams. • Sequence diagrams. • Collaboration diagrams. • Statechart diagrams. • Activity diagrams.

  15. CSE323 Systems Analysis and Design 2/2549 Commonly Used UML Diagrams แผนภาพที่ใช้กันโดยทั่วไปใน UML: • แผนภาพยูสเคส (Use case diagram) อธิบายว่าระบบถูกใช้อย่างไร • เป็นจุดเริ่มต้นสำหรับแบบจำลอง UML • ยูสเคส (Use case - not a diagram) • แผนภาพกิจกรรม (Activity diagram) • แต่ละยูสเคสอาจสร้างแผนภาพกิจกรรม • แผนภาพลำดับเหตุการณ์ (Sequence diagram) แสดงลำดับเหตุการณ์ของกิจกรรมต่างๆและความสัมพันธ์ชองคลาส • แต่ละยูสเคสอาจสร้างหนึ่งหรือหลายแผนภาพลำดับเหตุการณ์ • A collaboration diagram is an alternative to a sequence diagram.

  16. CSE323 Systems Analysis and Design 2/2549 Commonly Used UML Diagrams แผนภาพที่ใช้กันโดยทั่วไปใน UML (ต่อ): • แผนภาพคลาส (Class diagram) แสดงคลาสต่างๆและความสัมพันธ์ของคลาส • แผนภาพลำดับเหตุการณ์ (Sequence diagrams) และการ์ด CRC ใช้ในการกำหนดคลาส • แผนภาพสถานะ (Statechart diagram) • แต่ละคลาสสามารถสร้างแผนภาพสถานะ ซึ่งมีประโยชน์ในการกำหนดเมทธอดของคลาส

  17. CSE323 Systems Analysis and Design 2/2549 Overview of UML Diagrams

  18. CSE323 Systems Analysis and Design 2/2549 Use Case Diagram • A use case describes what the system does, not how it does the work. • The use case model reflects the view of the system of the user outside of the system. • Symbols are: • Actor, a stick figure. • Use case, an oval. • Connecting lines.

  19. CSE323 Systems Analysis and Design 2/2549 Actors • Represent role played by one or more users • Exist outside of the system • May be a person, another system, a device, such as a keyboard or Web connection • Can initiate an instance of a use case • May interact with one or more use cases and a use case may involve one or more actors

  20. CSE323 Systems Analysis and Design 2/2549 Actors (Cont.) Actors may be divided into two groups: • Primary actorssupply data or receive information from the system • Secondary actorshelp to keep the system running or provide help • Help desk, analysts, programmers, etc.

  21. CSE323 Systems Analysis and Design 2/2549 Use Case • Consists of three things: • An actor(user) that initiates an event. • An eventthat triggers a use case. • The use case that performs the actions triggered by the event.

  22. CSE323 Systems Analysis and Design 2/2549 Use Case (Cont.) • Better to create fewer use cases • 20 use cases for a large system • 50 use cases would be the maximum for a large system • Can nest use cases, if needed

  23. CSE323 Systems Analysis and Design 2/2549 Use Case Relationships • Communicates • Connect an actor to a use case • Includes • Use case contains a behavior that is common to more than one use case. • The common use case is included in other use cases. • Dotted arrow points toward common use case.

  24. CSE323 Systems Analysis and Design 2/2549 Use Case Relationships (Continued) • Extends • A different use case handles variations or exceptions from the basic use case. • Arrow goes from extended to basic use case. • Generalizes • One thing is more general than another thing. • Arrow points to the general thing.

  25. CSE323 Systems Analysis and Design 2/2549 Use Case Relationships

  26. CSE323 Systems Analysis and Design 2/2549 Steps for Creating a Use Case Model The steps required to create a use case model are: • Review the business specifications and identify the actors within the problem domain. • Identify the high-level events and develop the primary use cases that describe the events and how actors initiate them. • Review each primary use case to determine possible variations of flow through the use case. • Develop the use case documents for all primary use cases and all important use case scenarios.

  27. CSE323 Systems Analysis and Design Use Case Scenario • A use case scenario may be created for the standard flow through the use case. • Other scenarios may be created for variations on the main flow. • A use case includes: • Use case identifiers and initiators. • Steps performed. • Conditions, assumptions, and questions.

  28. CSE323 Systems Analysis and Design 2/2549 Activity Diagrams • Activity diagrams show the sequence of activities in a process, including sequential and parallel activities. • Symbols are used for activities, decisions and so on. • Arrows represent events that connect the activities.

  29. CSE323 Systems Analysis and Design 2/2549 Activity Diagram Symbols

  30. CSE323 Systems Analysis and Design 2/2549 Creating Activity Diagrams • Ask what happens first, second, and so on. • Determine if the activities happen in sequence or parallel. • Examine all the scenarios for a use case.

  31. CSE323 Systems Analysis and Design Swimlanes • Included on activity diagrams to show partitioning • Show which activities: • Occur on a browser • Occur on a server • Happen on a mainframe • Are done by external partners • Help to divide tasks among team members

  32. CSE323 Systems Analysis and Design 2/2549 Swimlane Boundaries When an event crosses swimlane boundaries, data must be transmitted. • A Web form is sent to a server. • Data are placed into middleware to transmit it between a server and a mainframe. • Data are transmitted to and from an external partner.

  33. CSE323 Systems Analysis and Design 2/2549 Sequence Diagrams • Sequence diagrams show a succession of interactions between classes or object instances over time. • It also shows the processing described in a single scenario. • The leftmost object is the starting object. • Time sequence is from top to bottom.

  34. CSE323 Systems Analysis and Design 2/2549 Sequence Diagrams (Cont.) • Horizontal arrows represent messages or signals sent between classes. • Solid arrowheads represent synchronous calls, the sending class waits for a response. • Half or open arrowheads represent asynchronous calls, those sent without waiting for a returning signal.

  35. CSE323 Systems Analysis and Design 2/2549 Message Name Formats Message names may be in the following formats: messageName() messageName(parameter1, parameter2, …) messageName(parameterType:parameterName)(defaultValue)

  36. CSE323 Systems Analysis and Design 2/2549 Sequence Diagram Example

  37. CSE323 Systems Analysis and Design 2/2549 Collaboration Diagrams • Collaboration Diagrams show the same information as a sequence diagram. • The emphasis is on the organization of the objects. • Sequence is shown by including a sequence number on the message.

  38. CSE323 Systems Analysis and Design 2/2549 Collaboration Diagram Example

  39. CSE323 Systems Analysis and Design 2/2549 Class Diagrams and Class Attributes • Class diagrams show classes, attributes, and operations or methods. • A class is shown as a rectangle. • Attributes are either: • Private (the norm), indicated by a minus sign. • Public, indicated by a plus sign. • Protected, indicated by a pound sign (#). • Attributes may include the type of data and any initial value. • Methods are usually public.

  40. CSE323 Systems Analysis and Design 2/2549 Method Overloading • Method overloading is including the same method several times in a class. • The method signature, its name and parameters, and type of parameters, must be different.

  41. CSE323 Systems Analysis and Design 2/2549 Types of Classes • Classes fall into several categories: • Entity classes. • Boundary or interface classes. • Abstract classes. • Control classes. • Each class may use a special symbol, called a UML stereotype.

  42. CSE323 Systems Analysis and Design 2/2549 Entity Classes • Entity classes represent real-world items. • Attributes are those stored for the entity. • Methods work with the entity.

  43. CSE323 Systems Analysis and Design 2/2549 Boundary or Interface Classes • Provide a means for users to work with the system. • Display screens, windows, dialogue boxes, touch-tone telephone, external systems. • Methods required to send or reset the display screen, or to produce a report.

  44. CSE323 Systems Analysis and Design 2/2549 Abstract Classes • Abstract classes are the parent or general class in a generalization/specialization relationship. • Abstract classes may not be directly instantiated. • Only the child classes can create objects.

  45. CSE323 Systems Analysis and Design 2/2549 Control or Active Classes • Control or active classes are used to control the flow of activities. • Many small control classes may be included to achieve reuse. • Attributes are those needed temporarily by the control class. • Methods are those used in control activities .

  46. CSE323 Systems Analysis and Design 2/2549 Sequence Diagram for using two Web pages: one for student information, one for course information.

  47. CSE323 Systems Analysis and Design 2/2549 Relationships on a Class Diagram • Relationships are the connections between classes and include: • Associations, showing the one-to-many relationships between classes. • An asterisk (*) is used to represent many. • Association classes are used to break up a many-to-many association between classes.

  48. CSE323 Systems Analysis and Design 2/2549 Association Class Example

  49. CSE323 Systems Analysis and Design 2/2549 Whole/Part Relationships • One class represents the whole, other classes represent the parts contained in the whole. • Three types of whole/part relationships: • Aggregation. • Collection. • Composition.

  50. CSE323 Systems Analysis and Design 2/2549 Aggregation • Aggregation is a “has a” relationship. • The whole is composed of the sum of the parts. • If the whole is removed, the part may still exist. • The diamond at the end of the line is not filled in.

More Related