COSC Week 3. J anuary 19, This week
|
|
- Camron Caldwell
- 5 years ago
- Views:
Transcription
1 COSC Week 3. J anuary 19, This week Read chapters 2 & 16 of the text Attend your tutorial S how a partial solution to assignment #1 to your TA including some test cases Continue working on Assignment #1 1
2 Learning Objectives To learn about the software life cycle To learn how to discover new classes and methods To understand the use of CRC cards for class discovery To learn how to use object-oriented design to build complex programs Cost of Error Correction Cost of correcting errors grows with the size of the software Large projects cannot be done without advanced planning 1 in every 4 large software projects fails because of lack of planning 2
3 Cost of Correcting Errors As it happens :-) 3
4 Software Development S oftware development is Plan, Build, Deploy Plan is analyze, specify and design Build is code, debug and unit test Deploy is integration test, learn and maintain Software Development Process A formal process which identifies and describes various phases and provides guidelines for carrying out the phases The process consist of five phases Analysis Design Implementation Testing Deployment 4
5 Goals of Analysis To understand the problem To decide what the system is supposed to do To decide what the system is NOT supposed to do To prompt relevant questions about the system Goals of Design To develop a plan on how to implement the system To define the architecture of the system To decompose the software system into modules: classes to decide what each module should do, and to decide how modules should interact 5
6 Goals of Implementation To write and compile code to implement modules (classes) To finalize classes with all details added To verify that classes behave according to their specification (unit testing) Testing: Goals of Testing and Deployment To verify that the system behaves as required Deployment: To install it and use it for the intended purpose 6
7 Software Development Process S everal models have been used in practice Waterfall Model: formal process from 1970 s The S piral Model: Proposed by Boehm in 1988 Extreme Programming Proposed by Kent Beck on 1999 Waterfall Model (source: OOSC by Meyer) 7
8 Problems with Waterfall Approach is rigid cannot start the next phase before completing earlier phases Postpones detection and handling of risks to later phases. Risks include: Architectural- do subsystems work together? Requirements change- not what I wanted :-( Assumptions- client, analyst, designer, tester can make implicit incorrect assumption Iterative Models Iterative models reduce the risk by exposing them early on Waterfall model is followed within each iteration Each iteration adds more functionality to earlier products S piral Model and Extreme Programming are iterative approach 8
9 The Spiral Model Extreme Programming Development methodology that strives for simplicity by removing formal structure and focusing on best practices Realistic planning Customers make business decisions Programmers make technical decisions 9
10 Extreme Programming S mall releases Release a useful system quickly Release updates on a short cycle Pair programming Two programmers write code on the same computer Extreme Programming Continuous integration Build the entire system and test it whenever a task is complete Testing Programmers and customers write test cases Test continuously 10
11 Objec t-oriented Des ign Discover classes Determine responsibilities of each class Describe the relationships among the classes Discovering Classes A class represents some useful concept In most cases class represents an ADT Find classes by looking for nouns in the task description Define the behavior for each class Find methods by looking for verbs in the task description 11
12 CRC Card S tands for classes, responsibilities, collaborators Use an index card for each class Pick the class that should be responsible for each method (verb) Write the responsibility onto the class card Indicate what other classes are needed to fulfill the responsibility - the collaborators A CRC Card 12
13 Relations hips Between Classes Inheritance Association Dependency "Is-a" Relations hip The "is-a" relationship is inheritance; use extends o a circle is an ellipse o a car is a vehicle 13
14 "Has-a" Relations hip The "has-a" relationship is association; use an instance variable o a tire has a circle as its boundary o a car has a set of tires Us es Relations hip The "uses" relationship is dependency o an Applet uses a Graphics object 14
15 "is-a" and "has-a"example class Car extends Vehicle //inheritance "is-a" {... private Tire[] tires; //association "has-a" } Association and Dependenc y One class is associated with another if you can navigate from its objects to objects of the other class One class depends on another if it comes into contact with the other class in some way. Association is a stronger form of dependency 15
16 UML Notation for Inheritanc e and Association UML Relations hip Symbols 16
17 Five-Part Development Process Gather requirements Use CRC cards to find classes, responsibilities, and collaborators Use UML diagrams to record class relationships Use javadoc to document method behavior Implement your program Printing an Invoice - Requirements Print billing address, all line items, amount due Line item contains description, unit price, quantity ordered, total price 17
18 INVOICE Sample Invoic e S am's S mall Appliances 100 Main S treet Anytown, CA Description Price Qty Total Toaster Hair dryer Car vacuum Amount Due: $ Printing an Invoice - CRC Cards Discover classes Nouns are possible classes Invoice Price Address Item Product Description Quantity Total AmountDue 18
19 Printing an Invoice - CRC Cards Classes after a process of elimination Invoice Address Item Product CRC Cards for Printing Invoic e 19
20 CRC Cards for Printing Invoic e CRC Cards for Printing Invoic e 20
21 CRC Cards for Printing Invoic e Printing an Invoice - UML Diagrams The relationship between Invoice classes 21
22 Printing an Invoice - Method Doc umentation Use javadoc documentation comments to record the behavior of the classes Leave the body of the methods blank Run the javadoc utility to obtain a formatted version of the documentation in HTML format Method Doc umentation class /** Describes an invoice for a set of purchased products. */ class Invoice { /** Adds a charge for a product to this param aproduct the product that the customer param quantity the quantity of the product */ public void add(produc t aproduc t, int quantity) { } 22
23 /** Formats the invoic return the formatted invoic e */ public String format() { } } /** Computes the total amount Return the amount due */ public double getamountdue() { } Method Documentation - class /** Describes a quantity an article to purchase and its price. */ Class Item { /** Computes the total cost of this Return the total price */ public double gettotalpric e() { } 23
24 /** */ Formats this Return a formatted string of this item public String format() { } } Method Doc umentation - class /** Describes a product with a description and a price */ class Product { /** Gets the product Return the description */ public String getdes cription() { } /** Gets the product Return the unit price */ public double getpric e() { } } 24
25 Method Doc umentation - class /** Describes a mailing address. */ Class Address { /** Formats the Return the address as a string with 3 lines */ public S tring format() { } } The Class Documentation in the HTML Format 25
26 Printing an Invoice - Implementation The UML diagram will give instance variables o Look for associated classes o They yield instance variables Implementation Invoice is associated with Address and Item It will have Address and Item instance variables 26
27 Implementation An Invoice has one Address. o Declare one Address instance variable. Implementation An Invoice has multiple Items. o Use an ArrayList to hold Items. private ArrayList items 27
28 File Invoic etes t.java 01: import java.util.vector; 02: 03: /** 04: This program tests the invoice classes by printing 05: a sample invoice. 06: */ 07: public class InvoiceTest 08: { 09: public static void main(s tring[] args) 10: { 11: Address samsaddress 12: = new Address("S am's S mall Appliances", 13: "100 Main S treet", "Anytown", "CA", "98765"); 14: 15: Invoice samsinvoice = new Invoice(samsAddress); 16: samsinvoice.add(new Product("Toaster", 29.95), 3); 17: samsinvoice.add(new Product("Hair dryer", 24.95), 1); 18: samsinvoice.add(new Product("Car vacuum", 19.99), 2); 19: 20: S ystem.out.println(samsinvoice.format()); 21: } 22: } 28
29 File Invoic e.java 01: import java.util.arraylist; 02: 03: /** 04: Describes an invoice for a set of purchased products. 05: */ 06: class Invoice 07: { 08: /** 09: Constructs an invoice. param anaddress the billing address 11: */ 12: public Invoice(Address anaddress) 13: { 14: items = new ArrayList(); 15: billingaddress = anaddress; 16: } 17: 18: /** 19: Adds a charge for a product to this invoice. param aproduct the product that the customer ordered param quantity the quantity of the product 22: */ 23: public void add(product aproduct, int quantity) 24: { 25: Item anitem = new Item(aProduct, quantity); 26: items.add(anitem); 27: } 28: 29: /** 30: Formats the invoice. return the formatted invoice 32: */ 33: public S tring format() 34: { 35: S tring r = " I N V O I C E\n\n" 36: + billingaddress.format() 37: + "\n\ndescription Price Qty Total\n"; 29
30 38: for (int i = 0; i < items.size(); i++) 39: { 40: Item nextitem = (Item)items.get(i); 41: r = r + nextitem.format() + "\n"; 42: } 43: 44: r = r + "\namount DUE: $" + getamountdue(); 45: 46: return r; 47: } 48: 49: /** 50: Computes the total amount due. return the amount due 52: */ 53: public double getamountdue() 54: { 55: double amountdue = 0; 56: for (int i = 0; i < items.size(); i++) 57: { 58: Item nextitem = (Item)items.get(i); 59: amountdue = amountdue + nextitem.gettotalprice(); 60: } 61: return amountdue; 62: } 63: 64: private Address billingaddress; 65: private ArrayList items; 66: } 30
31 File Item.java 01: /** 02: Describes a quantity an article to purchase and its price. 03: */ 04: class Item 05: { 06: /** 07: Constructs an item from the product and quantity param aproduct the product param aquantity the item quantity 10: */ 11: public Item(Product aproduct, int aquantity) 12: { 13: theproduct = aproduct; 14: quantity = aquantity; 15: } 16: 17: /** 18: Computes the total cost of this item. return the total price 20: */ 21: public double gettotalprice() 22: { 23: return theproduct.getprice() * quantity; 24: } 25: 26: /** 27: Formats this item. return a formatted string of this item 29: */ 30: public S tring format() 31: { 32: final int COLUMN_WIDTH = 30; 33: S tring description = theproduct.getdescription(); 34: 35: S tring r = description; 36: 37: //pad with spaces to fill column 31
32 38: 39: int pad = COLUMN_WIDTH - description.length(); 40: for (int i = 1; i <= pad; i++) 41: r = r + " "; 42: 43: r = r + theproduct.getprice() 44: + " " + quantity 45: + " " + gettotalprice(); 46: 47: return r; 48: } 49: 50: private int quantity; 51: private Product theproduct; 52: } File Produc t.java 01: /** 02: Describes a product with a description and a price 03: */ 04: class Product 05: { 06: /** 07: Constructs a product from a description and a price. param adescription the product description param aprice the product price 10: */ 11: public Product(S tring adescription, double aprice) 12: { 13: description = adescription; 14: price = aprice; 15: } 16: 17: /** 32
33 18: Gets the product description. return the description 20: */ 21: public S tring getdescription() 22: { 23: return description; 24: } 25: 26: /** 27: Gets the product price. return the unit price 29: */ 30: public double getprice() 31: { 32: return price; 33: } 34: 35: private S tring description; 36: private double price; 37: } File Addres s.java 01: /** 02: Describes a mailing address. 03: */ 04: class Address 05: { 06: /** 07: Constructs a mailing address. param aname the recipient name param as treet the street param acity the city param as tate the 2-letter state code param azip the ZIP postal code 13: */ 14: public Address(S tring aname, S tring as treet, 15: S tring acity, S tring as tate, S tring azip) 16: { 17: name = aname; 18: street = as treet; 33
34 19: city = acity; 20: state = as tate; 21: zip = azip; 22: } 23: 24: /** 25: Formats the address. return the address as a string with 3 lines 27: */ 28: public S tring format() 29: { 30: return name + "\n" + street + "\n" 31: + city + ", " + state + " " + zip; 32: } 33: 34: private S tring name; 35: private S tring street; 36: private S tring city; 37: private S tring state; 38: private S tring zip; 39: } Summary S lides are on the web Work on assignment 1 S how partial solution to TA this week Assignment due next week Do the reading Chapter 2 & 16 of the text 34
Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams
Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts Software methodologies Extreme Programming Object-Oriented Design CRC Cards - UML class diagrams Analysis Design Implementation Software
More informationNo SVN checkout today. Object-Oriented Design
No SVN checkout today Object-Oriented Design Software development methods Object-oriented design with CRC cards LayoutManagers for Java GUIs BallWorlds work time Analysis Design Implementation Software
More informationObject-Oriented Design
Software and Programming I Object-Oriented Design Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Discovering classes and methods Relationships between classes An object-oriented
More informationThe software lifecycle and its documents
The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes
More informationObject-Oriented Software Engineering. Chapter 2: Review of Object Orientation
Object-Oriented Software Engineering Chapter 2: Review of Object Orientation 2.1 What is Object Orientation? Procedural paradigm: Software is organized around the notion of procedures Procedural abstraction
More informationCS487 Midterm Exam Summer 2005
1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 2: Review of Object Orientation 2.1 What is Object Orientation? Procedural paradigm: Software is organized
More informationChapter 2: The Object-Oriented Design Process
Chapter 2: The Object-Oriented Design Process In this chapter, we will learn the development of software based on object-oriented design methodology. Chapter Topics From Problem to Code The Object and
More information5 Object Oriented Analysis
5 Object Oriented Analysis 5.1 What is OOA? 5.2 Analysis Techniques 5.3 Booch's Criteria for Quality Classes 5.4 Project Management and Iterative OOAD 1 5.1 What is OOA? How to get understanding of what
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationChapter 1: Principles of Programming and Software Engineering
Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without
More informationObject-Oriented Programming in Java. Topic : Objects and Classes (cont) Object Oriented Design
Electrical and Computer Engineering Object-Oriented in Java Topic : Objects and Classes (cont) Object Oriented Maj Joel Young Joel.Young@afit.edu 11-Sep-03 Maj Joel Young Using Class Instances Accessing
More informationThe Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL
The Unified Modeling Language Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL UML: requirement VS. Design models Identify 2 All the classes or things Elementary business process Necessary step to carry out
More informationChapter 10 Object-Oriented Design Principles
Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis
More informationCSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak
CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams Emina Torlak emina@cs.washington.edu Outline Designing classes Overview of UML UML class diagrams
More informationCS 251 Intermediate Programming Methods and Classes
CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationDownload FirstOODesignPractice from SVN. A Software Engineering Technique: (Class Diagrams)
Download FirstOODesignPractice from SVN A Software Engineering Technique: (Class Diagrams) public class TicTacToe { private final int rows; private final int columns; private String[][] board; /** * Constructs
More informationAP COMPUTER SCIENCE AB 2006 SCORING GUIDELINES
AP COMPUTER SCIENCE AB 2006 SCORING GUIDELINES Question 2: Packs & Bundles (Design) Part A: Pack 3 1/2 points +1/2 class Pack implements Product +1/2 declare both private fields (int and Product) +1 constructor
More informationModule Contact: Dr Taoyang Wu, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 2016-17 PROGRAMMING FOR NON-SPECIALISTS CMP-5020B Time allowed: 2 hours Section A (Attempt all questions: 80 marks) Section
More informationProject #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.
Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:
More informationProject 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently.
Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple movie data system. Milestones: 1. Use
More informationChapter 1: Programming Principles
Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key
More information26. Object-Oriented Design. Java. Summer 2008 Instructor: Dr. Masoud Yaghini
26. Object-Oriented Design Java Summer 2008 Instructor: Dr. Masoud Yaghini Object-Oriented Design In the preceding chapters you learned the concepts of object-oriented programming, such as objects, classes,
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 10 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Time Project Planning Non-agile Agile Refactoring Contents Basic Principles
More informationCh 11 Software Development
COSC 1P03 Ch 11 Software Development Introduction to Data Structures 9-10.1 COSC 1P03 Software Development Phases Analysis problem statement requirements specification system analysts inputs and outputs
More informationObject-Oriented Analysis Phase
Object-Oriented Analysis Phase Specification phase for Object-Oriented paradigm Semiformal Technique Natural part of OOA is the graphical notation associated with the technique Learning to use OOA has
More informationObject-Oriented Analysis Phase
Object-Oriented Analysis Phase Specification phase for Object-Oriented paradigm Semiformal Technique Natural part of OOA is the graphical notation associated with the technique Learning to use OOA has
More informationSoftware Development. Modular Design and Algorithm Analysis
Software Development Modular Design and Algorithm Analysis Functional Decomposition Functional Decomposition in computer science, also known as factoring, refers to the process by which a complex problem
More informationProgress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development
Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationIntroduction to Extreme Programming
Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Robert Martin, Object Mentor Ron Jeffries,et.al. 12/3/2003 Slide Content by Wake/Metsker 1
More informationCS 152 Computer Programming Fundamentals Coding Standards
CS 152 Computer Programming Fundamentals Coding Standards Brooke Chenoweth University of New Mexico Fall 2018 CS-152 Coding Standards All projects and labs must follow the great and hallowed CS-152 coding
More informationThe requirements engineering process
3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process
More informationEECS 211 Lab 8. Inheritance Winter Getting the code. Inheritance. General Idea. An Example
EECS 211 Lab 8 Inheritance Winter 2018 In this week s lab, we will be going over inheritance, and doing some more practice with classes. If you have any lingering questions during the lab, don t hesitate
More informationFinal Exam CISC 475/675 Fall 2004
True or False [2 pts each]: Final Exam CISC 475/675 Fall 2004 1. (True/False) All software development processes contain at least separate planning, testing, and documentation phases. 2. (True/False) The
More informationRequirements and Design Overview
Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions
More informationWeek 9 Implementation
Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is
More informationDefining Classes and Methods
Defining Classes and Methods Chapter 5 Modified by James O Reilly Class and Method Definitions OOP- Object Oriented Programming Big Ideas: Group data and related functions (methods) into Objects (Encapsulation)
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationÄriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel
Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Enn Õunapuu enn.ounapuu@ttu.ee What is a domain model? A domain model captures the most important types of objects in the context
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
More informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 14 Array Wrap-Up Outline Problem: How can I store information in arrays without complicated array management? The Java language supports ArrayLists
More informationCSC Advanced Object Oriented Programming, Spring Overview
CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationCOULEUR NATURE ACCOUNT APPLICATION
ACCOUNT APPLICATION APPLICATION FORMS Please fill in the application forms and send us your first order. FORM 1: ACCOUNT INFORMATION REQUIRED FORM 2: TAX ID FORM 3: CREDIT CARD AUTHORIZATION FORM 4: ACKNOWLEDGEMENT
More informationCS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class
CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount
More informationThis tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.
i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give
More informationObject- Oriented Analysis, Design and Programming
Object- Oriented Analysis, Design and Programming Medialogy, Semester 4 Monday 19 April 2010 9.00 12.00 You have 3 hours to complete this examination. Neither written material nor electronic equipment
More informationDefining Classes and Methods. Objectives. Objectives 6/27/2014. Chapter 5
Defining Classes and Methods Chapter 5 Objectives Describe concepts of class, class object Create class objects Define a Java class, its methods Describe use of parameters in a method Use modifiers public,
More informationObject-Oriented Analysis and Design Using UML (OO-226)
Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,
More informationInput Space Partitioning
Input Space Partitioning Instructor : Ali Sharifara CSE 5321/4321 Summer 2017 CSE 5321/4321, Ali Sharifara, UTA 1 Input Space Partitioning Introduction Equivalence Partitioning Boundary-Value Analysis
More informationObject-Oriented and Classical Software Engineering
Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide
More informationProgramming Project 5: NYPD Motor Vehicle Collisions Analysis
: NYPD Motor Vehicle Collisions Analysis Due date: Dec. 7, 11:55PM EST. You may discuss any of the assignments with your classmates and tutors (or anyone else) but all work for all assignments must be
More informationCS112 Lecture: Defining Instantiable Classes
CS112 Lecture: Defining Instantiable Classes Last revised 2/3/05 Objectives: 1. To describe the process of defining an instantiable class 2. To discuss public and private visibility modifiers. Materials:
More informationCSE 1325 Project Description
CSE 1325 Summer 2016 Object-Oriented and Event-driven Programming (Using Java) Instructor: Soumyava Das Project III Assigned On: 7/12/2016 Due on: 7/25/2016 (before 11:59pm) Submit by: Blackboard (1 folder
More informationModeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram
Modeling with UML A language or notation intended for analyzing, describing and documenting all aspects of the object-oriented software system. UML uses graphical notations to express the design of software
More informationRequirements Gathering using Object- Oriented Models UML Class Diagram. Reference: https://www.tutorialspoint.com/uml/uml_class_diagram.
Requirements Gathering using Object- Oriented Models UML Class Diagram Reference: https://www.tutorialspoint.com/uml/uml_class_diagram.htm Class Diagram The class diagram is a static diagram. It represents
More informationDesigning applications. Main concepts to be covered
Designing applications 4.0 Main concepts to be covered Discovering classes CRC cards Designing interfaces Patterns 2 1 Analysis and design A large and complex area. The verb/noun method is suitable for
More informationCSC207 Week 3. Larry Zhang
CSC207 Week 3 Larry Zhang 1 Announcements Readings will be posted before the lecture Lab 1 marks available in your repo 1 point for creating the correct project. 1 point for creating the correct classes.
More informationLecture Chapter 2 Software Development
Lecture Chapter 2 Software Development Large Software Projects Software Design o Team of programmers o Cost effective development Organization Communication Problem Solving Analysis of the problem Multiple
More informationCOMPUTER PROGRAMMING (ECE 431) TUTORIAL 9
COMPUTER PROGRAMMING (ECE 431) TUTORIAL 9 1. What is object oriented programming (OOP)? How is it differs from the traditional programming? 2. What is a class? How a class is different from a structure?
More informationCSSE 220 Day 19. Object-Oriented Design Files & Exceptions. Check out FilesAndExceptions from SVN
CSSE 220 Day 19 Object-Oriented Design Files & Exceptions Check out FilesAndExceptions from SVN A practical technique OBJECT-ORIENTED DESIGN Object-Oriented Design We won t use full-scale, formal methodologies
More informationSoftware Testing. Overview
Software Testing Overview Software is NOT simply programming! Complex development process required Domain of Software Engineering Top Down software development popular The WaterFall model... November 28,
More informationObjectives. Connecting with Computer Science 2
Objectives Learn how software engineering is used to create applications Learn some of the different software engineering process models Understand what a design document is and how it should be used during
More information1: Introduction to Object (1)
1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language
More informationPART A : MULTIPLE CHOICE Circle the letter of the best answer (1 mark each)
PART A : MULTIPLE CHOICE Circle the letter of the best answer (1 mark each) 1. An example of a narrowing conversion is a) double to long b) long to integer c) float to long d) integer to long 2. The key
More informationDesigning Classes. Appendix D. Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall
Designing Classes Appendix D Slides by Steve Armstrong LeTourneau University Longview, TX 2007, Prentice Hall Chapter Contents Encapsulation Specifying Methods Java Interfaces Writing an Interface Implementing
More informationNATIONAL ACCOUNTS PROGRAM BENEFITS: INFORMATION AND ASSISTANCE:
NATIONAL ACCOUNTS The Goodyear National Accounts program is designed to deliverfleet business to your outlet. There are more than 1,000 National Account customers with milions of vehicles offering consumer
More information3 Getting Started with Objects
3 Getting Started with Objects If you are an experienced IDE user, you may be able to do this tutorial without having done the previous tutorial, Getting Started. However, at some point you should read
More informationBSc. (Hons.) Software Engineering. Examinations for / Semester 2
BSc. (Hons.) Software Engineering Cohort: BSE/04/PT Examinations for 2005-2006 / Semester 2 MODULE: OBJECT ORIENTED PROGRAMMING MODULE CODE: BISE050 Duration: 2 Hours Reading Time: 5 Minutes Instructions
More informationCMPS 134: Computer Science I Fall 2011 Test #1 October 5 Name Dr. McCloskey
CMPS 134: Computer Science I Fall 2011 Test #1 October 5 Name Dr. McCloskey 1. For each statement, circle the response (or write its letter on the underscore) that best completes that statement. (i) is
More informationObject Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay
Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements
More informationCSE 142 Wi04 Midterm 2 Sample Solution Page 1 of 8
CSE 142 Wi04 Midterm 2 Sample Solution Page 1 of 8 Question 1. (6 points) Complete the definition of method printtriangle(n) below so that when it is executed it will print on System.out an upside down
More informationChapter 9. Software Testing
Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 5 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Contents From Requirements to Design: CRC Cards Class Diagrams I Sequence Diagrams
More informationMIS2502: Data Analytics Relational Data Modeling - 1. JaeHwuen Jung
MIS2502: Data Analytics Relational Data Modeling - 1 JaeHwuen Jung jaejung@temple.edu http://community.mis.temple.edu/jaejung Where we are Now we re here Data entry Transactional Database Data extraction
More informationUSER GUIDE Deployment
2011 USER GUIDE Deployment This article will provide instructions on how to deploy your Code On Time application to a server. Our examples use the Northwind sample database and a Windows Virtual Private
More informationInf1-OOP. Encapsulation and Collections. Perdita Stevens, adapting earlier version by Ewan Klein. March 2, School of Informatics
Inf1-OOP Encapsulation and Collections Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics March 2, 2015 Encapsulation Accessing Data Immutability Enhanced for loop Collections
More informationOutline of Unified Process
Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,
More informationChapter 6 Lab Classes and Objects
Lab Objectives Chapter 6 Lab Classes and Objects Be able to declare a new class Be able to write a constructor Be able to write instance methods that return a value Be able to write instance methods that
More informationActivities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects
Activities Common to Software Projects Software Life Cycle Mark van den Brand Requirements and specification Domain analysis Defining the problem Requirements gathering Obtaining input from as many sources
More informationDefining Classes and Methods
Defining Classes and Methods Chapter 5 Objects and References: Outline Variables of a Class Type Defining an equals Method for a Class Boolean-Valued Methods Parameters of a Class Type Variables of a Class
More information6.092: Introduction to Java. 6: Design, Debugging, Interfaces
6.092: Introduction to Java 6: Design, Debugging, Interfaces Assignment 5: main() Programs start at a main() method, but many classes can have main() public class SimpleDraw { /*... stuff... */ public
More informationADF Mobile Code Corner
ADF Mobile Code Corner m05. Caching WS queried data local for create, read, update with refresh from DB and offline capabilities Abstract: The current version of ADF Mobile supports three ADF data controls:
More informationInheritance and Interfaces
Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical
More informationCorrectness of specifications. Correctness. Correctness of specifications (2) Example of a Correctness Proof. Testing versus Correctness Proofs
CS 390 Lecture 17 Correctness A product is correct if it satisfies its output specifications when operated under permitted conditions Correctness of specifications Incorrect specification for a sort (Figure
More informationChapter 6 Lab Classes and Objects
Gaddis_516907_Java 4/10/07 2:10 PM Page 51 Chapter 6 Lab Classes and Objects Objectives Be able to declare a new class Be able to write a constructor Be able to write instance methods that return a value
More informationCPSC 211 MIDTERM PRACTICE EXERCISES
CPSC 211 MIDTERM PRACTICE EXERCISES Note: These questions are intended to help you practice and review the course material. Do not consider these questions as typical midterm questions; in particular,
More informationINTRODUCTION TO SOFTWARE SYSTEMS (COMP1110/COMP1140/COMP1510/COMP6710)
Important notice: This document is a sample exam. The final exam will differ from this exam in numerous ways. The purpose of this sample exam is to provide students with access to an exam written in a
More informationObject Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay
Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements
More informationUnified Modeling Language
jonas.kvarnstrom@liu.se 2015 Unified Modeling Language A Brief Introduction History In the early 1990s, three common OO modeling approaches James Rumbaugh's Object-modeling technique (OMT) 2 Grady Booch's
More informationOpen Closed Principle (OCP)
Open Closed Principle (OCP) Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhán Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/ SOLID Class Design Principles
More informationQUIZ #5 - Solutions (5pts each)
CS 435 Spring 2014 SOFTWARE ENGINEERING Department of Computer Science Name QUIZ #5 - Solutions (5pts each) 1. The best reason for using Independent software test teams is that a. software developers do
More informationSOFTWARE LIFE-CYCLE MODELS 2.1
SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed
More informationCS 351 Design of Large Programs Coding Standards
CS 351 Design of Large Programs Coding Standards Brooke Chenoweth University of New Mexico Spring 2018 CS-351 Coding Standards All projects and labs must follow the great and hallowed CS-351 coding standards.
More informationPatterns and Testing
and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 11 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap I Software Development Processes (cont.) I Project Planning I Design
More information