Modular Programming and Use Case Models Session 3 LBSC 790 / INFM 718B Building the Human-Computer Interface.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Lecture 9: More on objects, classes, strings discuss hw3 assign hw4 default values for variables scope of variables and shadowing null reference and NullPointerException.
Chapter 3: Modularization
The Web Warrior Guide to Web Design Technologies
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
CSCI 1100/1202 April 3, Testing A program should be executed multiple times with various input in an attempt to find errors Debugging is the process.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 4 Defining Your Own Classes.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Use Case Analysis Chapter 6.
Aalborg Media Lab 23-Jun-15 Inheritance Lecture 10 Chapter 8.
Structured Programming and UML Overview Session 2 LBSC 790 / INFM 718B Building the Human-Computer Interface.
PHP Programming Session 2 INFM 718N Web-Enabled Databases.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 4 Defining Your Own Classes.
Review CSC 171 FALL 2004 LECTURE 21. Topics Objects and Classes Fundamental Types Graphics and Applets Decisions Iteration Designing Classes Testing and.
Guide To UNIX Using Linux Third Edition
Semester 2, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Object Oriented Analysis and Object Oriented Programming Session 5 LBSC 790 / INFM 718B Building the Human-Computer Interface.
Chapter 13: Designing the User Interface
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Data Structures Session 8 LBSC 790 / INFM 718B Building the Human-Computer Interface.
Java Programming, 2E Introductory Concepts and Techniques Chapter 2 Creating a Java Application and Applet.
Systems Analysis and Design in a Changing World, Fifth Edition
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Distributed Teams Week 13 INFM 603. Agenda Distributed teams Project presentation prep Final exam prep.
Java Programming, 3e Concepts and Techniques Chapter 2 - Part 2 Creating a Java Application and Applet.
Writing Classes (Chapter 4)
Java Programming, 3e Concepts and Techniques Chapter 3 Section 62 – Manipulating Data Using Methods – Day 1.
chap13 Chapter 13 Programming in the Large.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Databases Week 5 LBSC 690 Information Technology.
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
Low-Level Detailed Design SAD (Soft Arch Design) Mid-level Detailed Design Low-Level Detailed Design Design Finalization Design Document.
Systems Analysis and Design in a Changing World, 3rd Edition
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
Sept. 18, 2003CS WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003.
ADTs and C++ Classes Classes and Members Constructors The header file and the implementation file Classes and Parameters Operator Overloading.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Requirements Analysis Session 12 INFM 603. The System Life Cycle Systems analysis –How do we know what kind of system to build? User-centered design –How.
Java™ How to Program, 10/e © Copyright by Pearson Education, Inc. All Rights Reserved.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Final Exam Review Session 14 LBSC 790 / INFM 718B Building the Human-Computer Interface.
Loops (cont.). Loop Statements  while statement  do statement  for statement while ( condition ) statement; do { statement list; } while ( condition.
Procedural Programming Criteria: P2 Task: 1.2 Thomas Jazwinski.
UML Use Case Models and Modular Programming Session 3 LBSC 790 / INFM 718B Building the Human-Computer Interface.
CSCI 1100/1202 April 1-3, Program Development The creation of software involves four basic activities: –establishing the requirements –creating.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 26 - Java Object-Based Programming Outline 26.1Introduction.
Object-Oriented Programming. Objectives Distinguish between object-oriented and procedure-oriented design. Define the terms class and object. Distinguish.
2/6/03C-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Requirements and Use Cases.
1 Object-Oriented Design Now we can extend our discussion of the design of classes and objects Chapter 6 focuses on: software development activities determining.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Creating a Java Application and Applet
Modular Programming and UML Class and Object Diagrams Session 4 LBSC 790 / INFM 718B Building the Human-Computer Interface.
AP Java Ch. 4 Review Question 1  Java methods can return only primitive types (int, double, boolean, etc).
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Structured Programming and UML Introduction Session 2 LBSC 790 / INFM 718B Building the Human-Computer Interface.
Java Programming: Guided Learning with Early Objects Chapter 9 Inheritance and Polymorphism.
Use Case Analysis Chapter 6.
The need for Programming Languages
Learning to Program D is for Digital.
Use Case Model.
About the Presentations
User-Defined Classes and ADTs
Defining Classes and Methods
Presentation transcript:

Modular Programming and Use Case Models Session 3 LBSC 790 / INFM 718B Building the Human-Computer Interface

Agenda Coping with complexity Modular programming Modeling use cases

Sources of Complexity Java syntax –Learn to read past the syntax to see the ideas –Copy working examples to get the same effect Object structure –Practice modeling object structures using UML –Our focus next week Interaction of data and control structures –Our focus last week (“structured programming”) Modularity –Our focus this week

Why Modularity? Limit complexity –Extent –Interaction –Abstraction Minimize duplication

Defensive Programming Goal of software is to create desired output Programs transform input into output –Some inputs may yield undesired output Methods should enforce input assumptions –Guards against the user and the programmer! Everything should be done inside methods

Passing Arguments in Java Call by value –Primitive data types –Object references The two meanings of “equal” Overloaded method names –Depends on parameter type, number, and order

Returning Values in Java Return type declaration –No return statement for “void” Return statement causes early termination –Multiple return statements can be present First one executed causes termination –Type must match declaration –Objects encapsulate complex return types

Uses of Methods in Java Constructor Set and get Helper Event handler –Stay tuned until we get to GUI’s

The Exercise from Session 2 Read the Book class –Available on the session 2 notes page Create the Library class Test the two together

From Last Time: Some Things to Pay Attention To Syntax How layout helps reading How variables are named How strings are used How output is created How applications are invoked Structured Programming How arrays are used How boolean flags are used Modular Programming Modularity of methods How methods are invoked How arguments work How scope is managed How errors are handled How results are passed Object Structure How classes are defined

Lessons from Homework 1 Goal: Get past the startup difficulties Lessons? –Work in groups – it is easier to see past other people’s roadblocks than your own! –“Cut and paste” beats “read and reproduce” –Start early - unforseen details cost unforseen time –Use the mailing list

Show and Tell What cool resources have you found? –Books and Web sites? What new Java tricks have you learned? What do you need to know to make progress?

Use Case Design Use Case Diagram –Input-output behavior Use Case Narrative –Explains each use case Use Case Scenario –Activity diagram shows how the use cases are used together (we’ll save this one for 2 weeks)

Use Case Diagram External “actors” –Roles of people –Types of systems Use cases –Top-level functions (solid arrows to/from actors) Relationships among use cases –Always-depends-on (dashed >) –Sometimes-is-depended-on (dashed >) –Inherits-from (solid triangle-arrow)

Flight Finder Exercise

Example Use Case Diagram JOSAC Traveler Select Search Parse Sched >

Use Case Narrative Assumptions Pre-conditions Initiation Dialog Termination Post-conditions Other requirements –Open issues, security, audit, …

Exercise Background Search –Find every potentially suitable route (a sequence of legs that satisfy traveler-specified criteria and other fixed constraints) and display a summary of each such sequence to the traveler. Select –Display the route map, timeline, and text summary for a single sequence of legs selected by the traveler from the search result list.

Exercise Background Parse Sched –Obtain schedule data from the Joint Operational Support Airlift Command (JOSAC) and identify the data for each leg of each flight that is needed to find and display suitable routes.

Exercise Background The traveler or a system adminstrator will first obtain schedule data from JOSAC using their Web browser and store it on their hard drive in the received format. Upon program initiation, the Parse Sched use case will run automatically. Once that completes, the traveler may specify the origin, destination, radii around each, and a connection radius (or leave any of the default values set) and then initiate the search. Once the search completes, the traveler may step through the interesting routes one at a time, viewing information on which their decision might be based. Once one or more acceptable routes have been identified, the traveler can then contact the appropriate facilities directly to make travel arrangements.

Project Time to start forming project teams –Need to choose a project in the next month Shoot for three-person teams –Pay attention to skill balance, not just interests Discuss your project ideas with me

Muddiest Point On a blank sheet of paper, write a single sentence that will convey to me what you found to be the most confusing thing that was discussed during today’s class.