Presentation is loading. Please wait.

Presentation is loading. Please wait.

INFSY 535.  Small systems  Larger systems 1.Understand the program requirement- what 3. Write and test each part (unit testing) 4. Maintenance 2. Specify.

Similar presentations


Presentation on theme: "INFSY 535.  Small systems  Larger systems 1.Understand the program requirement- what 3. Write and test each part (unit testing) 4. Maintenance 2. Specify."— Presentation transcript:

1 INFSY 535

2  Small systems  Larger systems

3 1.Understand the program requirement- what 3. Write and test each part (unit testing) 4. Maintenance 2. Specify the solution- how Model/design (UML comes into play) Analysis I/O is critical implementation Planning, design, and testing deployment

4 The Waterfall Model what how Write

5 The Spiral Model : deals with errors from previous phase (Boehm)

6 Development process methodology by the inventors of UML Rational Unified Process

7 Focuses on best practices Realistic planning Continuous integration Small releases 40-hour week Metaphor on-site customer Simplicity coding standards Testing Refactoring Pair programming Collective ownership Extreme Programming

8 Big Java by Cay Horstmann Copyright © 2008 by John Wiley & Sons. All rights reserved. Interaction of a black box with outside world is well-defined Encapsulation Levels of Abstraction: Black Box

9 Encapsulation ◦ Blackbox concept Data and method(s) Hidden details InterfaceEffect(s) methods called class

10 Behavior of bank account (abstraction): deposit money withdraw money get balance A Class Example (from Chapter 3)

11 Methods of BankAccount class: deposit withdraw getBalance Support method calls such as the following: harrysChecking.deposit(2000); harrysChecking.withdraw(500); System.out.println(harrysChecking.getBalance()); Specifying the public Interface of a Class

12 access specifier (such as public ) return type (such as String or void ) method name (such as deposit ) Parameters list ( double amount, double deposit ) method body { } Public Interface of a Class or Method Definition

13 accessSpecifier returnType methodName(parameterType parameterName,...) { method body } Method Definition Format

14 Example: public void deposit(double amount) {... } Method Definition Example

15 public BankAccount() { // body--filled in later Public Interface of a Class: Constructor Definition

16 Javadoc Method Summary

17 Model/design/represent the solution? Show class relationships

18  Class Diagram  Object Diagram  Use Case Diagram  State Diagram  Sequence Diagram  Activity Diagram  Collaboration Diagram  Component Diagram  Deployment Diagram

19  Rectangles  Three sections: ◦ Class/object name ◦ Class attributes (data) ◦ Operations (methods)  Arrows that indicates the relationship

20 Class Name Attributes/ characteristics:variables Methods/capabilities Class Diagram with Variables and Methods Visibility: private - public + (chapter 3)

21  Click on VISIO  Select the Software Category

22  Visio Tutorial

23  Inheritance  Aggregation  Dependency Relationships Between Classes

24 Preparation: ◦ Verbally describe the situation (what) ◦ (How)  Find objects (methods) that will be part of model  Describe properties of the objects  Establish relations between the objects  Place the objects in groups

25 Terminology: Objects are abstractions Objects are manipulated by classes May be 1 or many class instances of any particular class/object. Each instance is instantiated.

26 RelationshipSymbol Line Style Arrow Tip Inheritance-is-a SolidTriangle Interface Implementation DottedTriangle Aggregation-has-a Solid Diamond Dependency DottedOpen UML Relationship Symbols  Aggregation is a stronger form of dependency-see page 467

27  Establishes has-a relationship/association between classes  BankAccount  One can navigate from one class to another  instantiation in Java – (note NOT inheritance)

28 Arrow with diamond head: one class uses the other by linking methods of the other class. The arrow indicates the direction of the aggregation

29

30 Place multiplicity notations near the ends of an association.

31

32 Program Exercises P3.1 and P3.2

33  Inheritance : allows a developer to derive a new class from an existing one  Parent class, or superclass, or base class.  Thechild class or subclass.  Component hierarchy:

34  Establishes an is-a relationship between a more general class (superclass) and a more specialized class (subclass or base class)

35 Inheritance should create an is-a relationship, meaning the child is a more specific version of the parent Deposit BankForm parent Is-a component of child


Download ppt "INFSY 535.  Small systems  Larger systems 1.Understand the program requirement- what 3. Write and test each part (unit testing) 4. Maintenance 2. Specify."

Similar presentations


Ads by Google