240 likes | 387 Views
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
E N D
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 • Need use cases first • Due Thursday, March 3rd (Thursday before break)
Design Representations • Why learn the UML? • What is the purpose of design representation languages and techniques?
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)
UML Diagrams, Part 1. • Use Case diagram
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.
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
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
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
UML Diagrams • Class diagram
UML Diagrams • Class diagram • Identify classes • Attributes • Operations • Identify class relationships • Identify packages • Describe a system’s static structure
UML Diagrams • Sequence diagram
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
UML Diagrams • Collaboration diagram
UML Diagrams • Collaboration diagram • Same as Sequence diagram except… • Perspective is structural or spatial
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.
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
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!”