1 / 24

IST 311 – Object-Oriented Design & Software

IST 311 – Object-Oriented Design & Software. Steven Haynes IST 311 – Class 7 17 January 2006 shaynes@ist.psu.edu. Mid-Term Deliverables. Use Case diagrams Derived from scenarios Class diagram Conceptual Sequence diagrams TBD Need use cases first User Interface Design

Download Presentation

IST 311 – Object-Oriented Design & Software

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. IST 311 – Object-Oriented Design & Software Steven Haynes IST 311 – Class 7 17 January 2006 shaynes@ist.psu.edu

  2. Mid-Term Deliverables Use Case diagrams • Derived from scenarios • Class diagram • Conceptual • Sequence diagrams TBD • Need use cases first • User Interface Design • Need use cases first • Due Thursday, March 3rd (Thursday before break)

  3. Design Representations • Why learn the UML? • What is the purpose of design representation languages and techniques?

  4. Design Representations • An aid to design cognition • A common language for communicating about a design (specifications) • A record of the design process and its outcomes (documentation)

  5. UML Diagrams, Part 1. • Use Case diagram

  6. UML Diagrams • Use Case diagram • Identify major services provided by a system to external actors (users and other systems) • Establish the boundaries of the system • Identify common functionality • Identify high-level alternate use scenarios • Capture requirements • Development project planning tasks • Communicate with the customer/user.

  7. Use Case Diagram

  8. Use Cases • Actors • Use Cases • Include (Uses) Use Cases • Extend Use Cases • Annotations • Pre-conditions • Post-conditions • Constraints • Don’t use actor or use case generalization

  9. Guidelines for Use Cases • Actors – specific user roles • Human actors on left • Non-human actors (systems) on right • Use Cases – verb-noun phrase • e.g., Verify Credit Card • Include (uses) link – included use case MUST be completed for the including use case to complete • Extend link – extending use case represents a variant of the extended use case

  10. Guidelines for Use Cases • Use cases model system interactions. • Use case granularity THE big problem • Use annotations (notes) freely to document your assumptions. • Use cases are not data stores • Use cases are not data flow diagrams

  11. UML Diagrams • Class diagram

  12. UML Diagrams • Class diagram • Identify classes • Attributes • Operations • Identify class relationships • Identify packages • Describe a system’s static structure

  13. Class Diagram

  14. UML Diagrams • Sequence diagram

  15. UML Diagrams • Sequence diagram • Describe the sequence of steps required to realize a use case or use case scenario, which represent requirements • Describe interactions between objects/classes • Perspective is time oriented

  16. Sequence Diagram

  17. UML Diagrams • Collaboration diagram

  18. UML Diagrams • Collaboration diagram • Same as Sequence diagram except… • Perspective is structural or spatial

  19. Collaboration Diagram

  20. Degree Audit Use Cases & Classes

  21. Eclipse Tutorial

  22. Assignment for Thursday • This is an individual assignment. • If you have not had Java it will take some time so don’t wait too late to start working. • Read Raposa Chapters 1 through 3. • Do problems on the next two slides. • For this assignment you can use the Java SDK for the labs, as described in the book, or Eclipse. • Due at the start of class Thursday, 1/19.

  23. Assignment Lab 1 • Write a public class called CreditCalculator and declare the main() method within the class. • The value for currentCredits will be input from the command line. Command-line arguments are strings so you’ll need to convert the value of currentCredits to an integer within main(): int currentCredits = Integer.parseInteger(args[0]); * Hint Run menu:Run, then the Arguments tab • Write a method to calculate creditsNeeded given the value of currentCredits. Display the result. • Save, compile, and run your program. You’ll need to enter the command-line argument java CreditCalculator 62

  24. Assignment Lab 2 • Extend the main() method in your CreditCalculator class to calculate the number of semesters remaining given 15 credits per semester. • Also, if the number of currentCredits is >= 120, output the string “You can graduate!”

More Related