Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Size: px
Start display at page:

Download "Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53"

Transcription

1 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction What Is Software Engineering? Why Software Engineering? Software Life-Cycle Activities Software Development Process Software Quality Assurance Software Project Management Object-Oriented Software Engineering Object-Oriented Modeling and Design Languages Object-Oriented Development Processes Object-Oriented Development Methodologies Software Engineering and Computer Science 13 Summary 14 Further Reading 14 Chapter Review Questions 15 Exercises 15 Chapter 2 Software Process and Methodology Challenges of System Development Software Process Merits and Problems of the Waterfall Process Software Development Is a Wicked Problem Software Process Models Prototyping Process Evolutionary Process Spiral Process The Unified Process Personal Software Process Team Software Process Agile Processes Software Development Methodology Difference between Process and Methodology Benefits of a Methodology Structured Methodologies Classical OO Methodologies Agile Methods Dynamic Systems Development Method Scrum Feature Driven Development Extreme Programming Agile or Plan-Driven Overview of Process and Methodology of the Book 45 Summary 50 Further Reading 51 Chapter Review Questions 51 Exercises 51 Chapter 3 System Engineering What Is a System? What Is System Engineering? 55 vi

2 vii 3.3 System Requirements Definition Identifying Business Needs Defining System Requirements System Architectural Design System Decomposition Requirements Allocation Architectural Design Diagrams Specification of Subsystem Functions and Interfaces Subsystems Development Object-Oriented Context Diagram Usefulness of an Object-Oriented Context Diagram Collaboration of Engineering Teams System Integration, Testing, and Deployment System Configuration Management 74 Summary 76 Further Reading 76 Chapter Review Questions 76 Exercises 76 Part II Analysis and Architectural Design 79 Summary 102 Further Reading 103 Chapter Review Questions 103 Exercises 103 Chapter 5 Domain Modeling What Is Domain Modeling? Why Domain Modeling? Object-Orientation and Class Diagram Extensional and Intentional Definitions Class and Object Object and Attribute Association Multiplicity and Role Aggregation Inheritance Inheritance and Polymorphism Association Class Steps for Domain Modeling Collecting Application Domain Information Brainstorming Classifying Brainstorming Results Visualizing the Domain Model Domain Model Review Checklist Putting It Together Guidelines for Domain Modeling Applying Agile Principles Tool Support for Domain Modeling 135 Chapter 4 Software Requirements Elicitation What Is Requirements Elicitation? Importance of Requirements Elicitation Challenges of Requirements Elicitation Types of Requirement Steps for Requirements Elicitation Collecting Information Constructing Analysis Models Deriving Requirements and Constraints 92 Chapter Requirements Specification Standards Conducting Feasibility Study 97 Architectural Design Reviewing Requirements Specification Applying Agile Principles Requirements Management and Tools 101 Summary 137 Further Reading 137 Chapter Review Questions 138 Exercises What Is Architectural Design? The Importance of Architectural Design 140

3 viii Contents 6.3 Architectural Design Process Determine Architectural Design Objectives Determine System Type Applying Architectural Styles Perform Custom Architectural Design Specify Subsystem Functions and Interfaces Review the Architectural Design Architectural Style and Package Diagram Applying Software Design Principles What Are Software Design Principles? Design for Change Separation of Concerns Information Hiding High Cohesion Low Coupling Keep It Simple and Stupid Guidelines for Architectural Design Architectural Design and Design Patterns Applying Agile Principles 167 Summary 168 Further Reading 168 Chapter Review Questions 169 Exercises 169 Part III Modeling and Design of Interactive Systems 171 Chapter 7 Deriving Use Cases from Requirements What Is An Actor? What Is a Use Case? Business Process, Operation, and Action Steps for Deriving Use Cases from Requirements Identifying Use Cases Specifying Use Case Scopes Visualizing Use Case Contexts Reviewing Use Case Specifications Allocating the Use Cases to Iterations Guidelines for Use Case Derivation Applying Agile Principles Tool Support for Use Case Modeling 196 Summary 198 Further Reading 198 Chapter Review Questions 199 Exercises 199 Chapter 8 Actor-System Interaction Modeling What Is Actor-System Interaction Modeling? Importance of Actor-System Interaction Modeling Steps for Actor-System Interaction Modeling Initializing a Two-Column Table Specifying Actor-System Interaction Steps Reviewing Actor-System Interaction Specifications Specifying Alternative Flows Using User Interface Prototypes Do Not Show Exception Handling Use Case Precondition and Postcondition Including Other Use Cases Continuing with Other Use Cases Commonly Seen Problems Applying Agile Principles 213 Summary 214 Further Reading 214 Chapter Review Questions 215 Exercises 215 Chapter 9 Object Interaction Modeling What Is Object Interaction Modeling? UML Sequence Diagram Notions and Notations Representing Instances of a Class Sequence Diagrams Illustrated 220

4 ix Sequence Diagram for Analysis and Design Using the Notations Correctly Steps for Object Interaction Modeling Collecting Information About Business Processes Identifying Nontrivial Steps Writing Scenarios for Nontrivial Steps Constructing Scenario Tables Scenarios: How to Write Them Deriving Sequence Diagrams from Scenario Tables Object Interaction Modeling Review Checklist Applying Agile Principles Tool Support for Object Interaction Modeling 248 Summary 249 Further Reading 249 Chapter Review Questions 249 Exercises 249 Chapter 10 Applying Responsibility-Assignment Patterns What Are Design Patterns? Why Design Patterns? Situation-Specific and Responsibility-Assignment Patterns Pattern Specification The Controller Pattern A Motivating Example What Is a Controller? Applying the Controller Pattern Types of Controller Keeping Track of Use Case State Bloated Controller Comparing Different Designs When Does One Apply the Controller Pattern? Guidelines for Using Controller The Expert Pattern The Information Expert Applying the Expert Pattern Expert Pattern Involving More Than One Object When Does One Apply the Expert Pattern? Guidelines for Using Expert The Creator Pattern What Is a Creator? Applying the Creator Pattern Benefits of the Creator Pattern When Does One Apply the Creator Pattern? 273 Summary 273 Further Reading 274 Chapter Review Questions 274 Exercises 275 Chapter 11 Deriving a Design Class Diagram What Is a Design Class Diagram? Usefulness of a Design Class Diagram Steps for Deriving a Design Class Diagram Identifying Classes Identifying Methods Identifying Attributes Relationships between Classes Identifying Relationships Design Class Diagram Review Checklist Organize Classes with Package Diagram Applying Agile Principles Tool Support for Design Class Diagram 292 Summary 292 Further Reading 292 Chapter Review Questions 292 Exercises 292 Chapter 12 User Interface Design What Is User Interface Design? Why Is User Interface Design Important? 295

5 x Contents 12.3 Graphical User Interface Widgets Container Widgets Input, Output, and Information Presentation Widgets Guidelines for Using GUI Widgets User Interface Design Process Case Study: User Interface Design for a Diagram Editor Identifying Major System Displays Producing a Draft Layout Design Specifying Interaction Behavior Constructing a Prototype Evaluating the User Interface Design with Users User Interface Design Review Checklist Designing User Support Capabilities Guidelines for User Interface Design Applying Agile Principles Tool Support for User Interface Design 314 Summary 315 Further Reading 315 Chapter Review Questions 315 Exercises 315 Part IV Modeling and Design of Other Types of Systems 317 Chapter 13 Object State Modeling for Event-Driven Systems What Is Object State Modeling? Why Object State Modeling? Basic Definitions Steps for Object State Modeling Collecting and Classifying State Behavior Information Constructing a Domain Model to Show the Context Constructing State Transition Tables Usefulness of the State Transition Table Converting State Transition Table to Analysis State Diagram Converting Analysis State Diagram to Design State Diagram State Modeling Review Checklists The State Pattern Conventional Approaches What Is State Pattern? Applying State Pattern Real-Time Systems Modeling and Design The Transformational Schema Timed State Machine Interrupt Handling Applying Agile Principles Tool Support for Object State Modeling 345 Summary 345 Further Reading 346 Chapter Review Questions 346 Exercises 346 Chapter 14 Activity Modeling for Transformational Systems What Is Activity Modeling? Why Activity Modeling? Activity Modeling: Technical Background Flowchart Petri Net Data Flow Diagram UML Activity Diagram Steps for Activity Modeling Identifying Activities and Workflows Producing a Preliminary Activity Diagram Introducing Branching, Forking, and Joining 362

6 xi Refining Complex Activities Activity Modeling Review Checklist Relationships to Other Diagrams Applying Agile Principles Tool Support for Activity Modeling 365 Summary 365 Further Reading 365 Chapter Review Questions 366 Exercises 366 Chapter 15 Modeling and Design of Rule-Based Systems What Is a Decision Table? Usefulness of Decision Table Systematic Decision Table Construction Progressive Decision Table Construction Checking for Desired Properties Decision Table Consolidation Generating Code from a Decision Table Applying the Interpreter Pattern Defining a Business Rule Grammar Representing Rules in a Class Diagram Constructing a Parser and a Variable Look Up Context Interpreting Business Rules Updating Rules Dynamically Merits of the Interpretation Approach Using a Decision Table in Test-Driven Development Decision Trees Applying Agile Principles 380 Summary 381 Further Reading 382 Chapter Review Questions 382 Exercises 382 Part V Applying Situation-Specific Patterns 385 Chapter 16 Applying Patterns to Design a State Diagram Editor Process for Applying Patterns Case Study: State Diagram Editor Working with Complex Structures Representing Recursive Whole-Part Structures Providing Layout Choices with Strategy Accessing Complex Structures with Iterator Analyzing Complex Structures with Visitor Storing and Restoring Object State with Memento Creating and Constructing Complex Objects Creating Families of Products Building Large Complex Objects Reusing Objects with Flyweight Designing Graphical User Interface and Display Keeping Track of Editing States Responding to Editing Events Converting One Interface to Another Providing Context-Dependent Help Enhancing Display Capability with a Decorator Applying Agile Principles 423 Summary 424 Further Reading 424 Chapter Review Questions 425 Exercises 425

7 xii Contents Chapter 17 Applying Patterns to Design a Persistence Framework Problems with Direct Database Access Hiding Persistence Storage with Bridge Encapsulating Database Requests as Commands Hiding Network Access with Remote Proxy Sharing Common Code with Template Method Retrieving Different Objects with Factory Method Reducing Number of Classes with Prototype Applying Agile Principles 447 Summary 447 Further Reading 448 Chapter Review Questions 448 Exercises 448 Part VI Implementation and Quality Assurance 449 Chapter 18 Implementation Considerations Coding Standards What Are Coding Standards? Why Coding Standards? Code Review Checklist Guidelines for Practicing Coding Standards Organizing the Implementation Artifacts Generating Code from Design Implementing Classes and Interfaces From Sequence Diagram to Method Code Skeleton Implementing Association Relationships Assigning Implementation Work to Team Members Pair Programming Test-Driven Development Test-Driven Development Workflow Merits of Test-Driven Development Potential Problems Applying Agile Principles Tool Support for Implementation 467 Summary 467 Further Reading 468 Chapter Review Questions 468 Exercises 468 Chapter 19 Software Quality Assurance Benefits of Software Quality Assurance Software Quality Attributes Quality Measurements and Metrics Usefulness of Quality Measurements and Metrics Conventional Quality Metrics Reusing Conventional Metrics for Object-Oriented Software Object-Oriented Quality Metrics Software Verification and Validation Techniques Inspection Walkthrough Peer Review Verification and Validation in the Life Cycle Software Quality Assurance Functions Definition of Processes and Standards Quality Management Process Improvement 495

8 xiii 19.7 Applying Agile Principles Tool Support for SQA 499 Summary 499 Further Reading 499 Chapter Review Questions 499 Exercises 499 Chapter 20 Software Testing What Is Software Testing? Why Software Testing? Conventional Black-Box Testing Functional Testing: An Example Equivalence Partitioning Boundary Value Analysis Cause-Effect Analysis Conventional White-Box Testing Basis Path Testing Cyclomatic Complexity Flow Graph Test Coverage Criteria Testing Loops Data Flow Testing Coverage Criteria for Data Flow Testing Interprocedural Data Flow Testing Test Coverage A Generic Software Testing Process Object-Oriented Software Testing Use Case--Based Testing Object State Testing with ClassBench Testing Class Hierarchy Testing Exception-Handling Capabilities Testing Web Applications Object-Oriented Model for Web Application Testing Static Analysis Using the Object-Oriented Model Test Case Generation Using the Object-Oriented Model Web Application Testing with HttpUnit Testing for Nonfunctional Requirements Performance and Stress Testings Testing for Security Testing User Interface Software Testing in the Life Cycle Regression Testing When to Stop Testing? Applying Agile Principles Tool Support for Testing 534 Summary 535 Further Reading 535 Chapter Review Questions 535 Exercises 535 Part VII Maintenance and Configuration Management 537 Chapter 21 Software Maintenance What Is Software Maintenance? Factors That Mandate Change Lehman s Laws of System Evolution Types of Software Maintenance Software Maintenance Process and Activities Maintenance Process Models Program Understanding Change Identification and Analysis Configuration Change Control Change Implementation, Testing, and Delivery Reverse-Engineering Reverse-Engineering Workflow Usefulness of Reverse-Engineering Reverse-Engineering: A Case Study 549

9 xiv Contents 21.7 Software Reengineering Objectives of Reengineering Software Reengineering Process Software Reengineering: A Case Study Patterns for Software Maintenance Simplifying Client Interface with Facade Simplifying Component Interaction with Mediator Other Patterns for Software Maintenance Applying Agile Principles Tool Support for Software Maintenance 557 Summary 560 Further Reading 560 Chapter Review Questions 560 Exercises 561 Chapter 22 Part VIII Project Management and Software Security 575 Chapter 23 Software Project Management Project Organization Project Format Team Structure Effort Estimation Methods The Function Point Method The COCOMO II Model The Delphi Estimation Method Agile Estimation Project Planning and Scheduling PERT Chart Gantt Chart and Staff Allocation Agile Planning Risk Management Risk Identification Risk Analysis and Prioritizing Risk Management Planning Risk Resolution and Monitoring Process Improvement Applying Agile Principles Tool Support for Project Management 602 Summary 603 Further Reading 603 Chapter Review Questions 604 Exercises 604 Software Configuration Management The Baselines of a Software Life Cycle What Is Software Configuration Management? Why Software Configuration Management? Software Configuration Management Functions Software Configuration Identification Software Configuration Change Control Software Configuration Auditing Software Configuration Status Chapter Accounting Configuration Management in an Agile Project Software Configuration Management Software Security 606 Tools 570 Summary 572 Further Reading 573 Chapter Review Questions 573 Exercises What Is Software Security? Security Requirements Secure Software Design Principles Secure Software Design Patterns Seven Best Practices of Software Security Risk Analysis with an Attack Tree 613

10 xv 24.7 Software Security in the Life Cycle Security in the Planning Phase Security in the Iterative Phase Applying Agile Principles Tool Support for Software Security 628 Summary 629 Further Reading 629 Chapter Review Questions 630 Exercises 630 Appendices A Personal Software Process: Estimation, Planning, and Quality Assurance 631 A.1 Effort Estimation in PSP 631 A.2 Software Quality Assurance in PSP 632 A.3 Design and Quality 633 B Java Technologies 634 B.1 Getting Started with Database Connectivity 634 B.1.1 What Is Database Connectivity? 634 B.1.2 Setting Up Data Sources 634 B.1.3 Accessing Databases from a Program 635 B.2 Getting Started with Swing 636 B.2.1 Creating Main Window with JFrame 637 B.2.2 Using Layout Managers to Arrange Components 638 B.2.3 Processing Button Events with Action Listener 640 B.2.4 Implementing Drawing Capabilities 640 B.3 Getting Started with Java Server Pages 642 B.3.1 What Are Java Server Pages? 642 B.3.2 JSP Workflow 642 B.3.3 Installing a Web Server with a JSP Container 643 B.3.4 Using Java Server Pages 643 C Software Tools 647 C.1 NetBeans 647 C.2 Using JUnit 648 C.3 Running JUnit in NetBeans 652 C.4 The Emma Coverage Tool 652 C.5 The Cobertura Coverage Tool 653 C.6 Web Application Testing with HttpUnit 655 C.6.1 Configure an IDE to Use HttpUnit 655 C.6.2 Implementing Test Cases in HttpUnit 655 C.7 Using CVS and Subversion in NetBeans 656 C.7.1 Creating a CVS Remote Repository 656 C.7.2 Setting Up Subversion in NetBeans 658 C.7.3 Checking Out Files from a Repository 659 C.7.4 Editing Sources and Viewing Changes 661 C.7.5 Viewing File Status 662 C.7.6 Comparing File Revisions 662 C.7.7 Merging Changes from Repository 662 C.7.8 Resolving Conflicts 663 C.7.9 Updating Local Copies 663 C.7.10 Committing Local Files to a Repository 663 C.7.11 Importing Files into a Repository 664 D Project Descriptions 665 D.1 Car Rental System 665 D.2 National Trade Show Service System 666 D.3 Study Abroad Management System 667 D.4 UML Class Diagram Editor 669 D.5 Radio Communication Simulator 670 D.6 Object State Testing Environment 672 References 675 Index 682

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York Software Project Management A Process-Driven Approach Ashfaque Ahmed CRC Press Taylor Si Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business

More information

SOFTWARE TESTING. Yogesh Singh MM CAMBRIDGE UNIVERSITY PRESS

SOFTWARE TESTING. Yogesh Singh MM CAMBRIDGE UNIVERSITY PRESS SOFTWARE TESTING Yogesh Singh MM CAMBRIDGE UNIVERSITY PRESS Contents List of Figures List of Tables Preface Acknowledgements xi xv xxi xxiii 1. Introduction 1 1.1 Some Software Failures 1 1.1.1 The Explosion

More information

Karunya University Dept. of Information Technology

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

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

What is a life cycle model?

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

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Integrity 10. Curriculum Guide

Integrity 10. Curriculum Guide Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training

More information

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24 Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes

More information

REQUIREMENTS ANALYSIS AND SYSTEM DESIGN

REQUIREMENTS ANALYSIS AND SYSTEM DESIGN REQUIREMENTS ANALYSIS AND SYSTEM DESIGN third edition LESZEKA. MACIASZEK ADDISON-WESLEY An imprint of Pearson Education Harlow, England London New York Boston San Francisco Toronto Sydney Singapore Hong

More information

Requirements Engineering

Requirements Engineering Murali Chemuturi Requirements Engineering and Management for Software Development Projects Foreword by Tom Gilb ^ Springer Contents 1 Introduction to Requirements Engineering and Management... 1 1.1 What

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Abstraction and Information Hiding

Abstraction and Information Hiding 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 information

Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business

Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business Software Engineering Design Theory and Practice Carlos E. Otero CRC Press Taylor & Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business AN

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

IT3205: Fundamentals of Software Engineering (Compulsory) INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

The Unified Software Development Process

The Unified Software Development Process The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Certified Software Quality Engineer (CSQE) Body of Knowledge

Certified Software Quality Engineer (CSQE) Body of Knowledge Certified Software Quality Engineer (CSQE) Body of Knowledge The topics in this Body of Knowledge include additional detail in the form of subtext explanations and the cognitive level at which the questions

More information

Software Engineering. So#ware Processes

Software Engineering. So#ware Processes Software Engineering So#ware Processes 1 The software process A structured set of activities required to develop a software system. Many different software processes but all involve: Specification defining

More information

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

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 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document

More information

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

SOFTWARE ENGINEERING INTERVIEW QUESTIONS SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering

More information

CONTENTS Preface xv 1 Introduction

CONTENTS Preface xv 1 Introduction Preface xv 1 Introduction 1 1.1 Introduction to Software Project Management, 1 1.2 Objectives of This Chapter, 2 1.3 Why Managing and Leading Software Projects Is Difficult, 2 1.3.1 Software Complexity,

More information

SOFTWARE TESTING. A Craftsmcm's Approach THIRD EDITION. Paul C. Jorgensen. Auerbach Publications. Taylor &. Francis Croup. Boca Raton New York

SOFTWARE TESTING. A Craftsmcm's Approach THIRD EDITION. Paul C. Jorgensen. Auerbach Publications. Taylor &. Francis Croup. Boca Raton New York SOFTWARE TESTING A Craftsmcm's Approach THIRD EDITION Paul C. Jorgensen A Auerbach Publications Taylor &. Francis Croup Boca Raton New York Auerbach Publications is an imprint of the Taylor & Francis Group,

More information

SYSTEMS ANALYSIS DESIGN

SYSTEMS ANALYSIS DESIGN SYSTEMS ANALYSIS DESIGN Third Edition ALAN DENNIS Indiana University BARBARA HALEY WIXOM University of Virginia ROBERTA M. ROTH University of Northern Iowa WILEY John Wiley & Sons, Inc. http://www.wiley.com/college/dennis

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating

More information

CSE 5324: Software Engineering I (Analysis, Design, Creation)

CSE 5324: Software Engineering I (Analysis, Design, Creation) CSE 5324: Software Engineering I (Analysis, Design, Creation) Review Preview Brooks Book Chapter New stuff What is important What is next... Last class(es): Software Engineering is... Introduction, Terms,

More information

Agile Database Techniques: Effective Strategies for the Agile Software Developer HDT822 Four Days

Agile Database Techniques: Effective Strategies for the Agile Software Developer HDT822 Four Days Four Days Prerequisites Students should have experience designing databases and data warehouses. Knowledge of Agile design techniques is helpful. Who Should Attend This course is targeted at database designers,

More information

An Introduction to Design Patterns

An Introduction to Design Patterns An Introduction to Design Patterns 1. Introduction The philosophy behind design patterns is to document the experiences of software developers in designing software systems and reuse solutions found to

More information

CSCI222. Revision Questions. 1. Characterize walkthroughs and reviews ( inspections ) and their use in the software development process.

CSCI222. Revision Questions. 1. Characterize walkthroughs and reviews ( inspections ) and their use in the software development process. CSCI222 Revision Questions 1. Characterize walkthroughs and reviews ( inspections ) and their use in the software development process. 2. Describe the roles of participants and the proper organization

More information

Information Science 1

Information Science 1 Topics covered Information Science 1 Terms and concepts from Week 05 The software development process Program'Development /Algorithms'and'Problem'Solving/'' ' software software life cycle life-cycle models

More information

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. 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

More information

ARIS Design Platform Getting Started with BPM

ARIS Design Platform Getting Started with BPM Rob Davis and Eric Brabander ARIS Design Platform Getting Started with BPM 4y Springer Contents Acknowledgements Foreword xvii xix Chapter 1 An Introduction to BPM 1 1.1 Brief History of Business Process

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

QUESTION BANK. Dhulapally, Secunderabad Class : IT III. Subject: OBJECT ORIENTED ANALYSIS AND DESIGN GROUP - A (SHORT ANSWER QUESTIONS)

QUESTION BANK. Dhulapally, Secunderabad Class : IT III. Subject: OBJECT ORIENTED ANALYSIS AND DESIGN GROUP - A (SHORT ANSWER QUESTIONS) St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-500 014 Subject: OBJECT ORIENTED ANALYSIS AND DESIGN Class : IT III QUESTION BANK GROUP - A (SHORT ANSWER QUESTIONS) UNIT I 1. Define UML. 2. Explain

More information

Robust Object Oriented System Analysis

Robust Object Oriented System Analysis Robust Object Oriented System Analysis Dr Jie Zhao, Dunstan Thomas Consulting Summary Uses cases are widely accepted as the best approach to capturing system requirements, in particular, functional requirements.

More information

MLR Institute of Technology

MLR Institute of Technology MLR Institute of Technology Dundigal, Hyderabad - 500 043 COMPUTER SCIENCE AND ENGINEERING QUESTION BANK Title OBJECT ORIENTED ANALYSIS AND DESIGN Code 56028 Regulation R09 Structure Lectures Tutorials

More information

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES ii iii x xiv CHAPTER 1: INTRODUCTION 1 1.0 Background 1 1.1 Research Motivation 4 1.2 Research Objectives 5 1.3 Project Scope 6

More information

PESIT Bangalore South Campus. Department of MCA SOFTWARE ENGINEERING

PESIT Bangalore South Campus. Department of MCA SOFTWARE ENGINEERING PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs

More information

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Jack Greenfield Keith Short WILEY Wiley Publishing, Inc. Preface Acknowledgments Foreword Parti Introduction to

More information

(BA122) Software Engineer s Workshop (SEW)

(BA122) Software Engineer s Workshop (SEW) Training for the Business Analyst (BA122) Software Engineer s Workshop (SEW) Duration: 4 days CDUs (Continuing Development Units): 28 Description: A practical workshop covering the role of the Business-Systems

More information

Software Engineering Question Bank

Software Engineering Question Bank Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step

More information

Software Requirements, Third Edition

Software Requirements, Third Edition j Microsoft Software Requirements, Third Edition Karl Wiegers and Joy Beatty Contents Introduction Acknowledgments xxv xxxi PART I SOFTWARE REQUIREMENTS: WHAT, WHY, AND WHO Chapter 1 The essential software

More information

RUP Design Workflow. Michael Fourman Cs2 Software Engineering

RUP Design Workflow. Michael Fourman Cs2 Software Engineering RUP Design Workflow Michael Fourman Introduction Design architecture that can meet all requirements Understand non-functional requirements and constraints related to technologies Identify subsystems (overall

More information

The Software. Audit Guide. ASQ Quality Press. Milwaukee, Wisconsin. John W. Helgeson

The Software. Audit Guide. ASQ Quality Press. Milwaukee, Wisconsin. John W. Helgeson The Software Audit Guide John W. Helgeson ASQ Quality Press Milwaukee, Wisconsin Contents Preface Acknowledgments xv Xlx Part I Audit Fundamentals 1 Chapter 1 Introduction 3 1.1 Definitions 7 1.2 Process

More information

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 14

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 14 Course Page - Page 1 of 14 Solution Architecture Training: SA Practitioner's Guide (Extended) BSP-2325 Length: 4 days Price: $ 2,995.00 Course Description The course covers stakeholder identification,

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities

More information

Java Application Developer Certificate Program Competencies

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

More information

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK Software Engineering Modern Approaches SECOND EDITION Eric J. Braude Boston University, Metropolitan College Michael E. Bernstein Boston University, Metropolitan College TECHNISCHE INFORM ATIONSBIBLIOTHEK

More information

Obj ect-oriented Construction Handbook

Obj ect-oriented Construction Handbook Obj ect-oriented Construction Handbook Developing Application-Oriented Software with the Tools & Materials Approach Heinz Züllighoven IT'Workplace Solutions, Inc., and LJniversity of Hamburg, Germany as

More information

Screen Design : Navigation, Windows, Controls, Text,

Screen Design : Navigation, Windows, Controls, Text, Overview Introduction Fundamentals of GUIs - methods - Some examples Screen : Navigation, Windows, Controls, Text, Evaluating GUI Performance 1 Fundamentals of GUI What kind of application? - Simple or

More information

Programming and Software Development CTAG Alignments

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

More information

Information system for production and mounting of plastic windows

Information system for production and mounting of plastic windows Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917

More information

Agile Software Development

Agile Software Development Agile Software Development Principles, Patterns, and Practices Robert Cecil Martin Alan Apt Series Prentice «: : Hall Pearson Education, Inc. Upper Saddle River, New Jersey 07458 Foreword Preface About

More information

SOFTWARE DEVELOPMENT PLAN

SOFTWARE DEVELOPMENT PLAN SOFTWARE DEVELOPMENT PLAN This document outline is based on the IEEE Standard 1058.1-1987 for Software Project Management Plans. This is the controlling document for managing a software project, and it

More information

Nigel Beacham Department of Computing Science L3 INTRODUCING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN

Nigel Beacham Department of Computing Science L3 INTRODUCING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN Nigel Beacham Department of Computing Science L3 INTRODUCING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN WHERE ARE WE NOW? Software development paradigms The Unified Process (UP) paradigm UP phases and

More information

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI? 2 What the CMMI* is Not 3 What are Standards? Preface Acknowledgements xi xiii 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards? 3 2. Summaryof CMMI-SW 5 The CMM*-SW 5 CMMI--SW Continuous

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Unit 1 Learning Objectives

Unit 1 Learning Objectives Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction

More information

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Sub Code : CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year : ME CSE / I Year

More information

Software Process and Models

Software Process and Models Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for

More information

Connecting with Computer Science, 2e. Chapter 13 Software Engineering

Connecting with Computer Science, 2e. Chapter 13 Software Engineering Connecting with Computer Science, 2e Chapter 13 Software Engineering Objectives In this chapter you will: Learn how software engineering is used to create applications Learn some software engineering process

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad Title Code Regulation INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 INFORMATION TECHNOLOGY QUESTION BANK OBJECT ORIENTED ANALYSIS AND DESIGN A60524 R13 Structure Lectures

More information

INTRODUCTION ABOUT L5 LAB There are 36 systems (Compaq Presario) installed in this Lab. Their configurations are as follows:

INTRODUCTION ABOUT L5 LAB There are 36 systems (Compaq Presario) installed in this Lab. Their configurations are as follows: CHALAPATHI INSTITUTE OF ENGINEERING &TECHNOLOGY CHALAPATHI NAGAR LAM,GUNTUR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING INTRODUCTION ABOUT L5 LAB There are 36 systems (Compaq Presario) installed in

More information

Body of Knowledge General Knowledge (16 questions) Quality principles Benefits of software quality Organizational and process benchmarking

Body of Knowledge General Knowledge (16 questions) Quality principles Benefits of software quality Organizational and process benchmarking Body of Knowledge The following is an outline of topics that constitute the Body of Knowledge for Software Quality Engineer. This new BOK started with the exams on December 6, 2008. The topics in this

More information

Computing Concepts with Java Essentials

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

More information

A Case study based Software Engineering Education using Open Source Tools

A Case study based Software Engineering Education using Open Source Tools A Case study based Software Engineering Education using Open Source Tools Sowmya B J Dept. of CSE M. S. Ramaiah Institute of Technology sowmyabj@msrit.edu Srinidhi Hiriyannaiah Dept. of CSE M.S. Ramaiah

More information

Certified Software Quality Engineer (CSQE) Body of Knowledge

Certified Software Quality Engineer (CSQE) Body of Knowledge Certified Software Quality Engineer (CSQE) Body of Knowledge The topics in this Body of Knowledge include additional detail in the form of subtext explanations and the cognitive level at which the questions

More information

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle Database Project Lifecycle Philippe Bonnet, 2006 2 Software Engineering The implementation of a database application is a significant engineering endeavor The project must complete On time On budget The

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

TNM090 Software Engineering. Software Engineering

TNM090 Software Engineering. Software Engineering TNM090 Software Engineering Software Engineering Software Engineering Not programming => Software system development customer/producer negotiations budget and time constraints quality and feature requirements

More information

BCS Certificate in Systems Development Essentials Syllabus

BCS Certificate in Systems Development Essentials Syllabus BCS Certificate in Systems Development Essentials Syllabus Version 2.4 March 2015 Change History Any changes made to the syllabus shall be clearly documented with a change history log. This shall include

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

feature model-driven development Test-Driven Modeling for Model-Driven Development

feature model-driven development Test-Driven Modeling for Model-Driven Development feature model-driven development Test-Driven Modeling for Model-Driven Development Yuefeng Zhang, Motorola Extreme Programming is a code-centric, lightweight software development process. 1 3 One of XP

More information

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

SOMA, RUP and RMC: the right combination for Service Oriented Architecture SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational keith_mantell@uk.ibm.com March

More information

Software Engineering and Scientific Computing

Software Engineering and Scientific Computing Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de

More information

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development

More information

Real Time Embedded Software Development Using Agile Technology An Experience Report

Real Time Embedded Software Development Using Agile Technology An Experience Report Real Time Embedded Software Development Using Agile Technology An Experience Report Vincent Rivas Joseph N Frisina BAE SYSTEMS Information and Electronic Systems Integration Inc CNIR Agile Development

More information

Rational Unified Process Process Description and Workflows

Rational Unified Process Process Description and Workflows Rational Unified Process Process Description and Workflows Mike Fourman Describing Processes The RUP uses four elements to describe processes: Workers describe a role, some people have many roles. Activities

More information

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT Mar 31, 2014 Japan Aerospace Exploration Agency This is an English translation of JERG-2-610. Whenever there is anything ambiguous in this document, the original

More information

Object-Oriented Design Guidelines

Object-Oriented Design Guidelines Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

Thesis seminar THE7TF007

Thesis seminar THE7TF007 BIT The thesis is a system work 1 -(14) Thesis seminar The Thesis is a System Work Kirsti Jalasoja BIT The thesis is a system work 2 -(14) 1 Different types of theses 2 System development models 3 Development

More information

Maps between the 2016 CSQE BOK and the previous BOK

Maps between the 2016 CSQE BOK and the previous BOK Maps between the 2016 CSQE BOK and the previous BOK The Certified Software Quality Engineer (CSQE) body of knowledge (BOK) has recently undergone an update so that the most current knowledge areas are

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2101 Software Engineering Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 00 30 60 100 40 100 4 Rationale Software

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Design of Enterprise Systems

Design of Enterprise Systems Design of Enterprise Systems Theory, Architecture, and Methods Ronald E. Giachetti CRC Press Taylor &. Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group, an

More information

Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II)

Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) 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

More information

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997 1 Swirl Multiplayer Gaming Simplified CS4512 Systems Analysis and Design Assignment 1 2010 Marque Browne 0814547 Manuel Honegger - 0837997 Kieran O' Brien 0866946 2 BLANK MARKING SCHEME 3 TABLE OF CONTENTS

More information

Object Oriented Analysis and Design and Software Development Process Phases

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

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

A UML Introduction Tutorial

A UML Introduction Tutorial A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software

More information

I. General Knowledge, Conduct, and Ethics (16 Questions)

I. General Knowledge, Conduct, and Ethics (16 Questions) Certified Software Quality Engineer (CSQE) Body of Knowledge The topics in this Body of Knowledge include additional detail in the form of subtext explanations and the cognitive level at which the questions

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

WebSphere Business Modeler

WebSphere Business Modeler Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration

More information

Object Oriented System Development with VB.NET

Object Oriented System Development with VB.NET Chapter 1 Object Oriented System Development with Objectives In this chapter, you will: Learn about OO development and Understand object-oriented concepts Recognize the benefits of OO development Preview

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK TABLE OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF ABBREVIATIONS LIST OF SYMBOLS LIST OF APPENDICES

More information

Determining What the Client Needs. Requirements. Determining What the Client Needs (Cont.) Determining What the Client Needs (Cont.

Determining What the Client Needs. Requirements. Determining What the Client Needs (Cont.) Determining What the Client Needs (Cont. Requirements Xiaojun Qi Determining What the Client Needs Misconception We must determine what the client wants The real objective of the requirements workflow is to determine what software the client

More information