Download presentation
Presentation is loading. Please wait.
Published byJade Leonard Modified over 9 years ago
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
30
Place multiplicity notations near the ends of an association.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.