HARDWARE ADVANCES MOORE’S LAW: COMPUTER POWER (CIRCUITS PER CHIP) DOUBLES ABOUT EVERY 18 MONTHS.

Slides:



Advertisements
Similar presentations
Chapter 1 Object-Oriented Concepts. A class consists of variables called fields together with functions called methods that act on those fields.
Advertisements

COMP 121 Week 7: Object-Oriented Design and Efficiency of Algorithms.
Ch 12: Object-Oriented Analysis
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Software Development Software Life Cycle UML Diagrams.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 1 Introduction to Object-Oriented Programming and.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
Computer Science 1620 Programming & Problem Solving.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Simulation Waiting Line. 2 Introduction Definition (informal) A model is a simplified description of an entity (an object, a system of objects) such that.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 1 Introduction to Object-Oriented Programming.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
CS 117 Section 2 + KNET Computer accounts – ed to KNET students –Change password Homework 1 Lab Tutors –In lab for next 2 weeks –Will help you with.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Software Engineering Software Development Process.
Software Development, Programming, Testing & Implementation.
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
Software Engineering 1 (Chap. 1) Object-Centered Design.
Object-oriented Design CSCI 5801: Software Engineering.
Chapter 8: Systems analysis and design
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 1 Introduction to Object-Oriented Programming and.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 1: Introduction to Object-Oriented Programming.
BCS 2143 Introduction to Object Oriented and Software Development.
Java: Chapter 1 Computer Systems Computer Programming II.
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
CompSci 105 SS 2005 Principles of Computer Science Lecture 4 Lecturer: Santokh Singh.
The Program Development Cycle
Design. Stages of Design i.Nature of the solution 1.Agreed set of objectives 2.Output design 3.Input design 4.Data Flow Diagram 5.System Flowchart 6.Data.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
CSE 219 Computer Science III Program Design Principles.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
System Analysis (Part 3) System Control and Review System Maintenance.
Domain Modeling Part2: Domain Class Diagram Chapter 4 pp part 2 1.
Systems Life Cycle. Know the elements of the system that are created Understand the need for thorough testing Be able to describe the different tests.
بسم الله الرحمن الرحيم ” اللهم أنت ربي لا إله إلا أنت خلقتني و أنا عبدك وأنا على عهدك ووعدك ما استطعت ، أعوذ بك من شر ما صنعت ، أبوء لك بنعمتك على و أبوء.
13 Step Approach to Network Design Steps A Systems Approach 8Conduct a feasibility Study 8Prepare a plan 8Understand the current system 8Design.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
C++ Basics C++ is a high-level, general purpose, object-oriented programming language.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
CS 325: Software Engineering January 27, 2015 Domain Modeling Application Domains UML Class Diagrams.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Developing an Algorithm. Simple Program Design, Fourth Edition Chapter 3 2 Objectives In this chapter you will be able to: Introduce methods of analyzing.
CSCI-383 Object-Oriented Programming & Design Lecture 10.
Chapter 17 – Object- Oriented Design. Chapter Goals To learn about the software life cycle To learn about the software life cycle To learn how to discover.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
CENG 476 Projects 2014 (10’th November 2014) 1. Projects One problem for each student One problem for each student 2.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Object-Oriented Design.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 1 Introduction to Object-Oriented Programming and.
Class Diagram Lecture # 1. Class diagram A Class Diagram is a diagram describing the structure of a system shows the system's classes Attributes operations.
ABT1/GUT1/KFT1 Task 4 Prep Diagrams for MediaManager Cynthia Lang, PE, MSChE Pubali Banerjee, PhD IT Course Mentors-Java Assessments.
بسم الله الرحمن الرحيم CPCS203: Programming II. ©The McGraw-Hill Companies, Inc. Permission required for reproduction or display., Modifications by Dr.
A CLASS CONSISTS OF VARIABLES,
Object-Oriented Concepts
DATA REQIREMENT ANALYSIS
VLSI Tarik Booker.
Input Space Partition Testing CS 4501 / 6501 Software Testing
The Object-Oriented Thought Process Chapter 1
Different Types of Testing
Lecture 2 of Computer Science II
Domain Class Diagram Chapter 4 Part 2 pp
تحليل وتصميم نظم المعلومات
OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides.
Computer Systems Key Revision Points.
Presentation transcript:

HARDWARE ADVANCES MOORE’S LAW: COMPUTER POWER (CIRCUITS PER CHIP) DOUBLES ABOUT EVERY 18 MONTHS.

SOFTWARE ENGINEERING: A SYSTEMATIC APPROACH TO THE DEVELOPMENT OF MEDIUM-TO-LARGE PROGRAMS

PRINCIPLE OF ABSTRACTION WHEN TRYING TO SOLVE A PROBLEM, SEPARATE WHAT IS TO BE DONE FROM HOW IT WILL BE DONE.

THIS GENERALIZES THE PRINCIPLE OF DATA ABSTRACTION: SEPARATE WHAT A CLASS DOES FROM HOW THE CLASS IS DEFINED.

THERE ARE TWO DELIVERABLES FOR THIS STAGE:

1. FUNCTIONAL SPECIFICATIONS EXPLICITLY DESCRIBE THE BEHAVIOR (THAT IS, INPUT AND OUTPUT) OF THE PROGRAM.

FOR EXAMPLE: TO REPLACE STRING X WITH STRING Y, THE FORM IS %X%Y%. IF THE % DELIMITER OCCURS FEWER THAN 3 TIMES, THE ERROR MESSAGE IS *** ERROR: THE DELIMITER MUST OCCUR THREE TIMES. LINE IGNORED.

2. SYSTEM TESTS ARE CREATED TO REINFORCE AN UNDERSTANDING OF THE PROBLEM AND TO PROVIDE DATA FOR TESTING THE COMPLETED PROGRAM.

System Test 2: (input in boldface) Please enter the mean arrival time: 5 Please enter the mean service time: 4 Please enter the maximum arrival time: 20 TimeEventWaiting Time 6Arrival 7 Departure0 12Arrival 17Arrival 18Departure0 19Departure1 The average waiting time was 0.3 minutes. The average queue length was 0.1 cars. The number of overflows was 0.

I. STAGE II. PROGRAM DESIGN WHAT CLASSES WILL I NEED? WHAT METHODS WILL I NEED? WHAT FIELDS WILL I NEED? SOFTWARE DEVELOPMENT LIFE CYCLE

SUPPOSE AN EXISTING CLASS HAS EVERYTHING NEEDED.

GREAT! USE THAT CLASS.

SUPPOSE AN EXISTING CLASS HAS ALMOST EVERYTHING NEEDED.

VERY GOOD! CREATE A SUBCLASS OF THAT CLASS.

SUPPOSE YOU HAVE TO START FROM SCRATCH.

1. DETERMINE RESPONSIBILITIES OF THE CLASS: WHAT THE CLASS WILL WILL PROVIDE TO USERS.

2.REFINE RESPONSIBILITIES INTO METHOD DESCRIPTIONS.

3. DECIDE WHAT FIELDS TO HAVE.

AFTER INDIVIDUAL CLASSES HAVE BEEN DESIGNED, DETERMINE CLASS-TO-CLASS RELATIONSHIP AND OBJECT-FIELD TO CLASS RELATIONSHIP

DEPENDENCY DIAGRAMS

CLASS-TO-CLASS RELATIONSHIP Employee Company HourlyEmployee Company2 USE FROM SUBCLASS TO SUPERCLASS

OBJECT-FIELD TO CLASS RELATIONSHIP: WHEN THE CALLING OBJECT IS DESTROYED, SHOULD THE OBJECTS REFERENCED BY FIELDS ALSO BE DESTROYED?

public class Employee { protected String name;

COMPOSITION: WHEN THE SPACE FOR THE CALLING OBJECT IS DEALLOCATED, THE SPACE FOR THE OBJECTS REFERENCED BY FIELDS IS ALSO DEALLOCATED. name DEPENDS ON Employee OBJECT

name  Employee

HERE IS AN EXAMPLE IN WHICH THE SPACE FOR THE OBJECT REFERENCED BY A FIELD IS NOT DEALLOCATED EVEN AFTER THE SPACE FOR THE CALLING OBJECT IS DEALLOCATED:

public class X { Y y; public Y sendIt( ) { … return y; } // method sendIt … } // class X

AGGREGATION: THE SPACE ALLOCA- TED FOR y ’S OBJECT SHOULD NOT BE DEALLOCATED WHEN THE SPACE FOR THE CALLING X OBJECT IS DEALLOCA- TED. WHY? BECAUSE THE ADDRESS OF y ’S OBJECT WAS RETURNED FROM sendIt.

AGGREGATION: THE SPACE FOR THE y ’S OBJECT DOES NOT DEPEND ON THE X OBJECT.

y  X

SOFTWARE DEVELOPMENT LIFE CYCLE STAGE III:PROGRAM IMPLEMENTATION

DEFINE THE METHODS; THEN A. CHECK FOR CORRECTNESS B. CHECK FOR EFFICIENCY

A. METHOD VALIDATION USE TESTING TO INCREASE CONFIDENCE IN THE CORRECTNESS OF A METHOD.

GROWTH RATES O(n 2 ) O(n log n) O(n) O(log n) O(1) n worstTime(n) O(2 n )

THERE ARE 9 DIVISIONS REQUIRED; floor(log ) = 9