Object Oriented Programming in Java Habib Rostami Lecture
Object Oriented Programming in Java Habib Rostami Lecture 1
What is a computer program? • Traditional Definition – Based on Von Newman's (Neumann) computer architecture – Includes • Input • A sequence of instructions • Output Input Prog Output
What is a computer program? • Today's programs (Software) – Interactive – Event Driven – Distributed • And no longer adopt traditional definitions
Different Architectures • Desktop Applications
Different Architectures • Client/Server Applications
Different Architectures • Peer-to-Peer Applications
Industry Class Programs • • • Availability (7 * 24) Scalability Performance Security Distribution
Software Production • Reusing pre-built component • Extending existing components to satisfy our new requirements • Common solutions for common problems
Software Production • Reusability – From Cut & paste to Planned Reusability • Testing – Unit Test – Integration Test
Structured Languages • The unit of code is Function – where is in scope of the given function? – The function calls other ones and vice versa • What about Data – Structure – What functions manipulate the structure? • How you can identify an independent part of the code?
The Problem • Where is the origin of the weakness?
Computer Science • Computer Science is the Automation of Abstraction
The problem • Structured languages do not properly abstract real world for automation – Real world is not a set of functions working together
New Idea
- Slides: 14