Java: Learning to Program with Robots. Chapter 11: Building Quality Software
|
|
|
- Myra Murphy
- 9 years ago
- Views:
Transcription
1 Java: Learning to Program with Robots Chapter 11: Building Quality Software
2 Chapter Objectives After studying this chapter, you should be able to: Identify characteristics of quality software, both from the users and programmers perspectives Follow a development process that promotes quality as you develop your programs Avoid common pitfalls in designing object-oriented programs Include defensive programming measures to make errors more likely to expose themselves so they can be fixed Explain characteristics of quality user interfaces and describe an iterative methodology for developing them
3 11.2: Using a Development Environment Define the Requirements Describe the desired system Refine the Design Refine requirements Add new scenarios Walk through new scenarios Design the Architecture Identify classes and methods Create CRC cards List scenarios Walk through scenarios Develop a class diagram Evaluate with Users Choose a Set of Scenarios Implement the Scenarios Choose one scenario Write tests for that scenario Write code to pass tests Refactor Requirements: What the program must do. Architecture: A description of the most important classes and how they relate to each other. Scenario: A specific task a user may want to perform with the program.
4 Case Study 1: Defining Requirements (1/2) A program is required to help with selling tickets in a concert hall. The program must show a list of upcoming concerts and a list of existing patrons. New concerts may be added to the list of concerts. Concerts may also be deleted. Similarly, patrons may be added to or deleted from the list of patrons. When a particular concert is identified, the program must display the tickets that are still available for that concert. The user should then be able to select a patron from the patron list and one or more tickets to sell to the patron. A patron s past ticket purchases are kept for marketing purposes. Tickets are divided into three groups for pricing. Gold is the most expensive, followed by Silver, and finally Bronze. When a concert is entered into the system, the prices for Gold, Silver, and Bronze tickets are specified. Tickets are labeled with numbers for rows (1 15) and letters for seats (A T). Information must be saved in a file so the program can be stopped and restarted. A possible user interface is sketched on the next slide.
5 Case Study 1: Defining Requirements (2/2)
6 Case Study 1: Designing the Architecture Designing the architecture consists of five tasks: Identify the most important classes and methods for the program using an analysis of the nouns and verbs in the requirements. Summarize the responsibilities and collaborators for each class on index cards. List scenarios in which the software will be used. Walk through the scenarios using the index cards to further develop the responsibilities and collaborators. Develop a class diagram based on the responsibilities and collaborators listed on the index cards. The result is a class diagram used to guide implementation.
7 CS1: Identify Classes and Methods The program sells tickets. The program shows a list of upcoming concerts. The program shows a list of existing patrons. The program adds new concerts (to the list of concerts). The program adds patrons (to the list of patrons). The (user, patron?) identifies a concert. The program displays available tickets (for an identified concert). The user selects a patron from the patron list. The user selects one or more tickets. A patron has past ticket purchases (kept for marketing purposes). Tickets have a price group (Gold, Silver, Bronze). Concerts have prices for Gold, Silver, and Bronze tickets. Tickets have a row number (1..15). Tickets have a seat letter (A..T). The program saves information to a file.
8 CS 1: Create CRC Cards CRC (Class-Responsibilities-Collaborators) Cards are usually 4 x6 index cards summarize one class s responsibilities and collaborators are an inexpensive (in materials and time to develop) precursor to the class diagram ConcertHall Responsibilities Collaborators sell tickets ConcertList add a concert to list of concerts PatronList add a patron to list of patrons save information to a file
9 11.2.3: Iterative Development Define the Requirements Describe the desired system Refine the Design Refine requirements Add new scenarios Walk through new scenario s Design the Architecture Identify classes and methods Create CRC cards List scenarios Walk through scenarios Develop a class diagram Choose a Set of Scenarios Implement the Scenarios Evaluate with Users Choose one scenario Write tests for that scenario Write code to pass tests Refactor
10 11.3.1: Rules of Thumb for Quality Code Document classes and methods. Avoid nested loops. Keep methods short. Make helper methods private. Put duplicated code in a helper method. Make instance variables private. Write powerful constructors. Keep data and processing together. Write immutable classes. Delegate work to helper classes.
11 11.3.2: Managing Complexity (1/2) Many of these rules of thumb (heuristics) relate to four features that have been long recognized as crucial to quality code: Encapsulation: Grouping data and related services into a class. Cohesion: The extent to which each class models a single, welldefined abstraction and each method implements a single, welldefined task. Information Hiding: Hiding and protecting the details of a class s operation from others. Coupling: The extent to which interactions and dependencies between classes are minimized. Instance variable detail Interaction Method detail
12 11.3.2: Managing Complexity (2/2)
13 11.3.2: Encapsulation
14 11.3.2: Cohesion
15 11.3.2: Information Hiding
16 11.3.2: Coupling
17 11.4: Programming Defensively Exceptions Immediately alert programmers to things that have gone wrong, including helpful information for debugging the program. Design by Contract Write down exactly what a method expects of its caller and what it will do in return (a contract for the method). Assertions Specify what should be true at critical points in your code. To the extent that it s possible, check that the assertions actually are true. If they aren t, throw an exception.
18 Case Study 2: Refactoring a Program The Pharmacy program is poorly written and ignores many of the rules of thumb discussed earlier. As a result, its encapsulation, cohesion, information hiding, and coupling are all very poor. Refactor the program. Refactoring does not change the program s functionality. It changes its internal structure so that it has higher quality from a programmer s perspective.
19 User Testing and Evaluation Design Prototyping : Iterative User Interface Design (1/2)
20 11.5.1: Iterative User Interface Design (2/2) The five E s of User Interface Evaluation: Effective: The completeness and accuracy with which users achieve their goals. Efficient: The speed and accuracy with which users can complete their tasks. Engaging: The degree to which the tone and style of the interface makes the product pleasant or satisfying to use. Error Tolerant: How well the design prevents errors or helps with recovery from those that do occur. Easy to Learn: How well the product supports both initial orientation and deepening understanding of its capabilities.
21 11.5.2: User Interface Design Principles Well-designed user interfaces are: Controlled by the user: Give the user as much control over the process as is consistent with the user s knowledge and skill level. Responsive: Give the users constant feedback, and give it fast enough so the user can work at full speed without waiting for the computer. Understandable: Some of the techniques for understandable interfaces include consistency, good visual structure, and information recognition rather than recall. Forgiving: Prevent as many mistakes as possible; make it easy to correct the mistakes that do happen.
22 Concept Map is enhanced by using an iterative development process software quality repeatedly defines designs nouns and verbs implements and evaluates scenarios requirements the architecture walk thro ughs is improved by use help discover refine CRC cards defines record important classes and methods classes, responsibilities and collaborators encapsulation is improved by can be evaluated from proactively responding to exceptions weak coupling high cohesion information hiding can be evaluated from a user's perspective a programmer's perspective of quality includes includes includes testable programs understandable programs maintainable programs
23 Summary We have learned: that software quality involves understandability, testability, and maintainability. that a development process featuring iteration helps lead to quality software. how to use the specification s nouns and verbs to design a program. how to create CRC cards and use them in a walk-through. rules of thumb that provide guidance in implementing quality software. that strong encapsulation, high cohesion, information hiding, and weak coupling help manage software complexity. how to use exceptions, assertions, and design by contract. that iteration, prototyping, and evaluation have strong roles in developing quality user interfaces.
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Fourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Iteration Advantages: bringing testing into the development life
DATA RECOVERY SOLUTIONS EXPERT DATA RECOVERY SOLUTIONS FOR ALL DATA LOSS SCENARIOS.
Announcements. Project status demo in class
Web Design cs465 Announcements Project status demo in class Why? You will likely be involved in Web design You have many of the skills necessary Understand similarities and differences between GUI design
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013
D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013 The purpose of these questions is to establish that the students understand the basic ideas that underpin the course. The answers
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
Test-Driven Development
Test-Driven Development An Introduction Mattias Ståhlberg [email protected] Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.
Engineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 [email protected] Spring 2014 (elicitation)
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
The Rules 1. One level of indentation per method 2. Don t use the ELSE keyword 3. Wrap all primitives and Strings
Object Calisthenics 9 steps to better software design today, by Jeff Bay http://www.xpteam.com/jeff/writings/objectcalisthenics.rtf http://www.pragprog.com/titles/twa/thoughtworks-anthology We ve all seen
Programming and Software Development (PSD)
Programming and Software Development (PSD) Course Descriptions Fundamentals of Information Systems Technology This course is a survey of computer technologies. This course may include computer history,
Taxi Service Coding Policy. Version 1.2
Taxi Service Coding Policy Version 1.2 Revision History Date Version Description Author 2012-10-31 1.0 Initial version Karlo Zanki 2012-11-18 1.1 Added a section relative to Java/Android Fabio Kruger 2013-01-02
Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda
Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or
Testing Rails. by Josh Steiner. thoughtbot
Testing Rails by Josh Steiner thoughtbot Testing Rails Josh Steiner April 10, 2015 Contents thoughtbot Books iii Contact us................................ iii Introduction 1 Why test?.................................
Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
Development Methodologies
Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller [email protected] Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies
Software Design. Software Design. Software design is the process that adds implementation details to the requirements.
Software Design Software Design Software design is the process that adds implementation details to the requirements. It produces a design specification that can be mapped onto a program. It may take several
CSC408H Lecture Notes
CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other
Efficient BPMN: from Anti-Patterns to Best Practices
Efficient BPMN: from Anti-Patterns to Best Practices Architecture Made Simple Kristina Bigelienė, No Magic Europe About Speaker Kristina Bigelienė [email protected] Solution Architect for
(Refer Slide Time 00:56)
Software Engineering Prof.N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-12 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue
Week 2 Practical Objects and Turtles
Week 2 Practical Objects and Turtles Aims and Objectives Your aim in this practical is: to practise the creation and use of objects in Java By the end of this practical you should be able to: create objects
Use Case Modeling. Software Development Life Cycle Training. Use Case Modeling. Set A: Requirements Analysis Part 3: Use Case Modeling
Software Development Life Cycle Training Set A: Requirements Analysis Part 3: Use Case Modeling Use Case Modeling There are several ways to capture and organize software system requirements. The first
Software Process for QA
Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called
Agile Modeling: A Brief Overview
Agile Modeling: A Brief Overview Scott W. Ambler President, Ronin International [email protected] Abstract: Agile Modeling (AM) is a practice-based methodology for effective modeling of software-based
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0
The following applies to all exams: Once exam vouchers are purchased you have up to one year from the date of purchase to use it. Each voucher is valid for one exam and may only be used at an Authorized
Programming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
SOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
CS314: Course Summary
CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need
Object-Oriented Design. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C.
Object-Oriented Design CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion Elements of Good Object-Oriented Design Idea: Capture the complexity of
Axiomatic design of software systems
Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the
AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities
AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities The classroom is set up like a traditional classroom on the left side of the room. This is where I will conduct my
SOFTWARE DESIGN TECHNIQUES. Nagalaxmi Telkar CSCI 5828 Presentation Slides
SOFTWARE DESIGN TECHNIQUES Nagalaxmi Telkar CSCI 5828 Presentation Slides CONTENTS Introduction Software Design Life Cycle Software Design Process Tackling Design Problems Architectural Design Abstract
Outline. Lecture 13: Web Usability. Top Ten Web Design Mistakes. Web Usability Principles Usability Evaluations
Lecture 13: Web Usability Outline Web Usability Principles Usability Evaluations Wendy Liu CSC309F Fall 2007 1 2 What Makes Web Application Development Hard? Target audience can be difficult to define
Object Oriented Analysis and Design and Software Development Process Phases
Object Oriented Analysis and Design and Software Development Process Phases 28 pages Why object oriented? Because of growing complexity! How do we deal with it? 1. Divide and conquer 2. Iterate and increment
Agile.NET Development Test-driven Development using NUnit
Agile.NET Development Test-driven Development using NUnit Jason Gorman Test-driven Development Drive the design and construction of your code on unit test at a time Write a test that the system currently
1992-2010 by Pearson Education, Inc. All Rights Reserved.
Key benefit of object-oriented programming is that the software is more understandable better organized and easier to maintain, modify and debug Significant because perhaps as much as 80 percent of software
Software Service Engineering Architect s Dream or Developer s Nightmare?
Software Service Engineering Architect s Dream or Developer s Nightmare? Gregor Hohpe Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043 [email protected] Abstract. Architectural principles such
VISION FOR LEARNING AND DEVELOPMENT
VISION FOR LEARNING AND DEVELOPMENT As a Council we will strive for excellence in our approach to developing our employees. We will: Value our employees and their impact on Cardiff Council s ability to
So we thought we knew money
So we thought we knew money Ying Hu Sam Peng Here at Custom House Global Foreign Exchange, we have built and are continuing to evolve a system that processes online foreign exchange transactions. Currency,
eclips Design Packet Middle School and High School NASA Real World: Mathematics (Grades 6-8) NASA Launchpad (Grades 9-12) Educational Product
eclips Middle School and High School Design Packet Educational Product Educators & Students Grades 6-12 NP-2009-12-229-LaRC NASA Real World: Mathematics (Grades 6-8) NASA Launchpad (Grades 9-12) www.nasa.gov/education/nasaeclips
Object Classes: Notes on designing Shopping Cart
Object Classes: Notes on designing Shopping Cart Additions for Garfield HS AP CS to supplement: Building Java Programs, by Stuart Reges and Marty Stepp (http://www.buildingjavaprograms.com/ ). (March 2013,
4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.
4. Multiagent Systems Design Part 2: Multiagent Syste ems (SMA-UPC) https://kemlg.upc.edu The PROMETHEUS methodology. Javier Vázquez-Salceda SMA-UPC Methodological Extensions to Object-Oriented Approaches
COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4
COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution
PROJECT REPORT ON PAYROLL SYSTEM
PROJECT REPORT ON PAYROLL SYSTEM BY ASMAU SANI MOHAMMED (905017) HAMMAN W. SAMUEL (905061) MALACHY KHANOBA (905109) OSAETIN EVBUOMA (905076) SOFTWARE ENGINEERING I (SEN 261), SPRING 2007 SUBMITTED TO PROFESSOR
1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN
1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1.1 INTRODUCTION Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. In this dynamic
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. [email protected] www.coveros.
Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. [email protected] www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery
Software Life Cycle. Management of what to do in what order
Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance
Chapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011
Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences
Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model
Software Design Design (I) Software Design is a process through which requirements are translated into a representation of software. Peter Lo CS213 Peter Lo 2005 1 CS213 Peter Lo 2005 2 Relationships between
Intro to Human Centered Service Design Thinking
Intro to Human Centered Service Design Thinking thinkjarcollective.com Adapted from ideo.org DESIGN A BETTER COMMUTE DISCOVER Human-centered design begins with in-depth interviews and qualitative research.
Crime Scene Search and Processing
Objective: Crime Scene Search and Processing Crime scene search scenarios involve significant teamwork. Each team member should be assigned a specific duty during the crime scene processing. Explorers
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
Software Requirements Specification
Software Requirements Specification Version 1.1 March 7, 2013 Prepared by Group Name: The Constructors Alex Hamstra 4506291 [email protected] Jared Roesch 4826574 [email protected] Kyle Jorgensen
Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao
Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated
Refactoring BPMN Models: From Bad Smells to Best Practices and Patterns
Refactoring BPMN Models: From Bad Smells to Best Practices and Patterns INTRODUCTION Darius Silingas and Edita Mileviciene, No Magic, Lithuania BPMN is already acknowledged as a de facto standard for business
CHAPTER 11 REQUIREMENTS
Lecture Software Engineering CHAPTER 11 REQUIREMENTS Lecture Software Engineering Topics Determining What the Client Needs Overview of the Requirements Workflow Understanding the Domain The Business Model
10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)
Slide 10..1 CHAPTER 10 Slide 10..2 Object-Oriented and Classical Software Engineering REQUIREMENTS Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach [email protected] Overview Slide 10..3
AT&T MERLIN COMMUNICATIONS SYSTEM ADMINISTRATION MANUAL: MODELS 206 AND 410 WITH FEATURE PACKAGE 1
AT&T MERLIN COMMUNICATIONS SYSTEM ADMINISTRATION MANUAL: MODELS 206 AND 410 WITH FEATURE PACKAGE 1 Table of Contents Page How to Use This Manual The MERLIN Voice Terminal Setting the Control Unit Model
Data Flow Diagrams. Outline. Some Rules for External Entities 1/25/2010. Mechanics
Data Flow Diagrams Mechanics Outline DFD symbols External entities (sources and sinks) Data Stores Data Flows Processes Types of diagrams Step by step approach Rules Some Rules for External Entities External
COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING
COMPARISON OF OBJECT-ORIENTED AND PROCEDURE-BASED COMPUTER LANGUAGES: CASE STUDY OF C++ PROGRAMMING Kuan C. Chen, Ph.D. Assistant Professor Management Information Systems School of Management Purdue University
Bob Kibbee, Map & GIS Librarian, Olin Library, [email protected]
FEASIBILITY STUDY The Group Douglas Tak-Lai Wong, [email protected] Gregor Charles Carrigan, [email protected] James Ioannidis, [email protected] Jeffery Zhang, [email protected] Talitha Lynn Forcier, [email protected]
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Object-oriented design methodologies
Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java
THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java Developing software is a very involved process, and it often requires numerous
System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches
System Design Systems design the specification of a detailed computer-based solution. Also called physical design. systems analysis emphasizes the business problem systems design emphasizes the technical
Guideline for stresstest Page 1 of 6. Stress test
Guideline for stresstest Page 1 of 6 Stress test Objective: Show unacceptable problems with high parallel load. Crash, wrong processing, slow processing. Test Procedure: Run test cases with maximum number
Examen Software Engineering 2010-2011 05/09/2011
Belangrijk: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. Elke theorie-vraag staat op 2 punten (totaal op 24). De oefening staan in totaal op 16 punten. Het geheel staat op 40 punten.
Architectural Patterns (3)
Scatter/Gather Architectural Patterns (3) Prof. Cesare Pautasso http://www.pautasso.info [email protected] @pautasso Goal: send the same message to multiple recipients which will (or may) reply to
Agile Business Process Automation
Agile Business Process Automation by David Nichols Currently there is a lot of excitement and competition in the Business Process Automation space, however, despite the plethora of BPA platforms available,
Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments.
Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments Anuraj Gupta Department of Electronics and Communication Oriental Institute
Financial Management System
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING UNIVERSITY OF NEBRASKA LINCOLN Financial Management System CSCE 156 Computer Science II Project Student 002 11/15/2013 Version 3.0 The contents of this document
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)
Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459) Class Time: 6:00 8:05 p.m. (T,Th) Venue: WSL 5 Web Site: www.pbvusd.net/mis260 Instructor Name: Terrell Tucker Office: BDC 127
Java (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
Introduction to Programming System Design. CSCI 455x (4 Units)
Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,
Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles
Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development
Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1
COMP209 Object Oriented Programming System Design Mark Hall Introduction So far we ve looked at techniques that aid in designing quality classes To implement a software system successfully requires planning,
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
Masters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
