1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE

Similar documents
Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

CS112 Lecture: Defining Instantiable Classes

Introduction to Inheritance

Object-Oriented Programming (OOP) Basics. CSCI 161 Introduction to Programming I

Object Oriented Paradigm

Object Oriented Methods with UML

CPS122 Lecture: Defining a Class

Unified Modeling Language (UML)

Encapsulation. Mason Vail Boise State University Computer Science

Basics of Object Oriented Programming FCITR MAGAZINE DR. SHAKEEL AHMAD

BSc. (Hons.) Software Engineering. Examinations for / Semester 2

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)

Chapter 13 Object Oriented Programming. Copyright 2006 The McGraw-Hill Companies, Inc.

CSC 533: Organization of Programming Languages. Spring 2005

CSc 372 Comparative Programming Languages

Chapter 9: High Level Language

1. Software Systems Complexity, OO Paradigm, UML

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction

C++ Programming: Introduction to C++ and OOP (Object Oriented Programming)

Five EASY Steps to Switch to

ECE 122. Engineering Problem Solving with Java

Programming Language Concepts: Lecture 1

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING

Object-Oriented Programming

CPS 506 Comparative Programming Languages. Programming Language

Introduction to Computer Science Lecture 6: Programming Languages

Topics. Modularity and Object-Oriented Programming. Dijkstra s Example (1969) Stepwise Refinement. Modular program development

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

END TERM EXAMINATION

Low-Level Languages. Computer Programs and Programming Languages

The Imperative Paradigm

Organization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?

Concepts of Programming Languages

Lecture Notes on Programming Languages

Object-Oriented Analysis, Design and Implementation. Case Study Part II

Object-Oriented Software Engineering. Chapter 2: Review of Object Orientation

Classes and Methods: Classes

Parameters. However, one important class of variables is still missing Þ parameters. Terminology: Example: Java, C, C++ Chap 18.

Object-Oriented Technology. Rick Mercer

References and pointers

Today s lecture. CS 314 fall 01 C++ 1, page 1

Lecture 7: Data Abstractions

CSCI312 Principles of Programming Languages!

Imperative Languages!

Introduction to Unified Modelling Language (UML)

Defining Classes and Methods

Need for synchronization: If threads comprise parts of our software systems, then they must communicate.


Object- Oriented Design with UML and Java Part I: Fundamentals

CSE 307: Principles of Programming Languages

Anatomy of a Method. HW3 is due Today. September 15, Midterm 1. Quick review of last lecture. Encapsulation. Encapsulation

Chapter 1. Introduction to Computers and Java Objects. Background information. » important regardless of programming language. Introduction to Java

Lecture 6 Introduction to Objects and Classes

Software Design and Analysis for Engineers

MIDTERM EXAMINATION - CS130 - Spring 2005

PC204. Lecture 5 Programming Methodologies. Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved.

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

CS 32. Lecture 2: objects good?

Data types. CISC 1600/1610 Computer Science I. Class dog. Introducing: classes. Class syntax declaration. Class syntax function definitions 12/2/2015

Computer Programming

Lecture 15: Object-Oriented Programming

The University Of Michigan. EECS402 Lecture 06. Andrew M. Morgan. Savitch Ch. 6 Intro To OOP Classes Objects ADTs.

10. Abstract Data Types

Lesson Plan. Subject: OBJECT ORIENTED PROGRAMMING USING C++ :15 weeks (From January, 2018 to April,2018)

Types and Classes. I II From predefined (simple) and user-defined (composite) types via Abstract data types

STUDENT LESSON A5 Designing and Using Classes

2. The object-oriented paradigm

COMS W3101 Programming Language: C++ (Fall 2015) Ramana Isukapalli

02. Brieflydescribe the following fundamental concepts of object oriented world

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language

Unit - IV CHAPTER - 13 INTRODUCTION TO OOP WITH C++ Part 1 Choose the best answer

Introduction. A. Bellaachia Page: 1

Lecturer: William W.Y. Hsu. Programming Languages

Principles in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2014 Euiseong Seo

COMS W3101 Programming Language: C++ (Fall 2016) Ramana Isukapalli

General Concepts. Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design

OO Analysis and Design with UML 2 and UP

Anatomy of a Class Encapsulation Anatomy of a Method

Industrial Programming

What is an Object. Industrial Programming. What is a Class (cont'd) What is a Class. Lecture 4: C# Objects & Classes

Defining Classes and Methods

Lecture 10: Interfaces

COMS W3101 Programming Language: C++ (Fall 2015) Ramana Isukapalli

Agenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures

Chapter 10 :: Data Abstraction and Object Orientation

CS 170, Section /3/2009 CS170, Section 000, Fall

Programming 2. Object Oriented Programming. Daniel POP

Implementing Classes

Information System Design (IT60105)

6.096 Introduction to C++

Introduction to Objects. James Brucker

22c:111 Programming Language Concepts. Fall Types I

HANDLING NONLOCAL REFERENCES

Derived and abstract data types. TDT4205 Lecture 15

Outline CSE 142. Specification vs Implementation - Review. CSE142 Wi03 F-1. Instance Variables

University of Swaziland Department Of Computer Science Supplementary Examination JULY 2012

Review for COSC 120 8/31/2017. Review for COSC 120 Computer Systems. Review for COSC 120 Computer Structure

Transcription:

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE

LECTURE-1

Syllabus Introduction 1.1 Introduction to Object Oriented 1.2 Introduction to UML 1.3 Software Process and OOA&D 1.4 Component and CBSD 1.5 Patterns and Architecture

1.1 Introduction to Object-Oriented OO Programming (procedural V.S. OO) Basic concepts of OO

OO Programming

Designing Programs Software Development Solving Problem Descriptions of problem (Human: Requirements) Place Order Inventory Shipping Business Process Problem Space Natural Language A Gap between languages Descriptions of solution (Human: Designing Program ) Execution of program Computer System Programming Language Solution Space

Software Development Solving Problem Descriptions of problem (Human: Requirements) Descriptions of solution (Human: Designing Programs) Place Order Inventory Shipping Business Process A Gap between languages Machine Language Problem Space Natural Language Programming Language High-Level Language (Object-Oriented) e.g. C++ Java High-Level Language (Procedural) e.g. C, BASIC Assembly Language Execution of program Computer System Solution Space

Procedural Programming This programming paradigm is essentially an abstraction of machine /assembly language. Program is organized around procedures. Focus on data structures, algorithms and sequencing of steps Programs = Algorithm + Data Structure An algorithm is a set of instructions for solving a problem A data structure is a construct used to organize data in a specific way. Most computer languages, from early examples like FORTRAN and ALGOL to more recent languages like C and Ada, have been imperative or procedural.

Procedural Programming - Example Writing a program to handle bank accounts Customer can open different type of accounts, such as cash account, check account and Loan account. For each account, customer can deposit, withdraw or transfer. How to write this program with C?

Procedural Programming - Example Programs = Algorithm + Data Structure Data Structure: Bank Account Struct account { char name; int accountid; float balance; float interestytd; char accounttype; }; Procedure 1: Deposit() {...} Procedure 1: Withdraw() {...} Procedure 1: Transfer() {...} A procedural programming language usually consists of : A collection of variables, each of which at any stage contains a certain value (a number, a character, a string of characters, etc) A collection of statements that change the values of these variables. The building-block of this type program is the procedure or function.

Procedural Programming - Disadvantages Procedures and data are clearly separated. Transformation of concepts between analysis & implementation. Design models are a long step from implementation. Procedures are often hard to reuse. Programs are often hard to extend and maintain. Data a gap Procedure Analysis a gap Design NJ Hudson river NY NJ Hudson river NY

Object-Oriented Programming: OOP A design and programming technique Some terminology: object - usually a person, place or thing (a noun) method - an action performed by an object (a verb) type or class - a category of similar objects (such as automobiles) Objects have both data and methods Objects of the same class have the same data elements and methods Objects send and receive messages to invoke actions

Object-Oriented Programming - Example Writing a program to handle bank accounts Customer can open different type of accounts, such as cash account, check account and Loan account. For each account, customer can deposit, withdraw or transfer. How to write this program with C++ or Java?

Object-Oriented Programming - Example Object-Oriented approach combine the accounts (data) with the operations on the accounts to objects. A new kind of data type: BankAccount class C++ code: Class BankAccount { private: float balance; float interestytd;char * owner; int account_number; public: void Deposit (float amount) {...} float WithDraw (float amount) { } bool Transfer (BankAccount & to, float amount) { } };

Object-Oriented Programming - Example The building-block of this type program is class or objects.

What Is Object Technology? Object Technology A set of principles guiding software construction together with languages, databases, and other tools that support those principles. (Object Technology - A Manager s Guide, Taylor, 1997)

The History of Object Technology Major object technology milestones Simula C ++ The UML 1967 Late 1980s 1996 1972 1991 2000+ Smalltalk Java???