Chapter 7: Software Engineering



Similar documents
Assuming the Role of Systems Analyst & Analysis Alternatives

Karunya University Dept. of Information Technology

Chapter 6: Programming Languages

5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

How To Understand Software Engineering

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Software Engineering Question Bank

Software Development: The Waterfall Model

TIM 50 - Business Information Systems

Software Process Models. Xin Feng

Object-Oriented Systems Analysis and Design

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

IT3205: Fundamentals of Software Engineering (Compulsory)

2. Analysis, Design and Implementation

Chapter 8 Approaches to System Development

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: FUNDAMENTALS OF SOFTWARE DEVELOPMENT (Code: )

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1

(BA122) Software Engineer s Workshop (SEW)

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

2. Analysis, Design and Implementation

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

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

Design Document Version 0.0

Chapter 1 The Systems Development Environment

n Assignment 4 n Due Thursday 2/19 n Business paper draft n Due Tuesday 2/24 n Database Assignment 2 posted n Due Thursday 2/26

Foundations of Business Intelligence: Databases and Information Management

SAULTCOLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

BS Computer Science ( )

Chapter 3. Technology review Introduction

An Introduction to Software Engineering

CS6403-SOFTWARE ENGINEERING UNIT-I PART-A

IV. Software Lifecycles

CS314: Course Summary

Chapter 1 System Development Environment

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

General Problem Solving Model. Software Development Methodology. Chapter 2A

An Introduction to Software Engineering

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

How to Write a Software Process Procedures and Policy Manual for YOUR COMPANY

Software Paradigms (Lesson 1) Introduction & Procedural Programming Paradigm

What is a life cycle model?

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

Technical Writing - Software Engineering Life Cycle Review

Contents. Section 4 Information Systems in Organisations 195. Section 5 Information: Policy, Strategy and Systems 287

Unit I. Introduction

Software Development with Agile Methods

International Journal of Advance Research in Computer Science and Management Studies

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

Chakra Vs Spiral Model - A Practical Approach

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

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

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville

Chapter 13: Program Development and Programming Languages

Introduction to Computing. Lectured by: Dr. Pham Tran Vu

IF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type

Object Oriented Programming. Risk Management

IT2404 Systems Analysis and Design (Compulsory)

Systems Analysis and Design

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED CONCEPTUALIZATION MODEL LANGUAGE SPECIFICATIONS

CHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING

A Case study based Software Engineering Education using Open Source Tools

Software Life Cycle. Management of what to do in what order

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Analysis / Design. Traditional Development. Process models. Common Methodologies. Common Approach. Analysis: DFD. Traditional Software Development 1

Software Development Life Cycle (SDLC)

LECTURE 1. SYSTEMS DEVELOPMENT

Agile Software Development Methodologies and Its Quality Assurance

COURSE TITLE: (OLS 207) INFORMATION SYSTEMS ANALYSIS, DESIGN AND EVALUATION

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

Data Modeling Basics

Test Cases Design for Software Database Provisioning Development

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville

The traditional project management uses conventional methods in software project management process.

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Introduction to Systems Analysis and Design

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

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

CMSC 435: Software Engineering Course overview. Topics covered today

Masters of Science in Software & Information Systems

Topics covered. An Introduction to Software Engineering. FAQs about software engineering Professional and ethical responsibility

Software Design Document (SDD) Template

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1

Object-Oriented Software Engineering

A Review of an MVC Framework based Software Development

What is BPM? Software tools enabling BPM

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change?

Sistemi ICT per il Business Networking

EFFECTIVE SOFTWARE PROJECT MANAGEMENT

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

1. Software Engineering Overview

Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase

Object Oriented Design

Agile Software Engineering Practice to Improve Project Success

Transcription:

Chapter 7: Software Engineering Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 7: Software Engineering 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 7.3 Software Engineering Methodologies 7.4 Modularity 7.5 Tools of the Trade 7.6 Testing 77D 7.7 Documentation ti 7.8 Software Ownership and Liability Copyright 2012 Pearson Education, Inc. 0-2 1

The Software Engineering Discipline Distinct from other engineering fields Prefabricated components Metrics Practitioners versus Theoreticians Professional Organizations: ACM, IEEE, etc. Codes of professional ethics Standards Copyright 2012 Pearson Education, Inc. 0-3 Computer Aided Software Engineering (CASE) tools Project planning Project management Documentation Prototyping and simulation Interface design Programming Copyright 2012 Pearson Education, Inc. 0-4 2

Figure 7.1 The software life cycle Copyright 2012 Pearson Education, Inc. 0-5 Figure 7.2 The development phase of the software life cycle Copyright 2012 Pearson Education, Inc. 0-6 3

Analysis Stage Requirements Application oriented Specifications Technically oriented Software requirements document Copyright 2012 Pearson Education, Inc. 0-7 Design Stage Methodologies and tools (discussed later) Human interface (psychology and ergonomics) Copyright 2012 Pearson Education, Inc. 0-8 4

Implementation Stage Create system from design Write programs Create data files Develop databases Role of software analyst versus programmer Copyright 2012 Pearson Education, Inc. 0-9 Testing Stage Validation testing Confirm that system meets specifications Defect testing Find bugs Copyright 2012 Pearson Education, Inc. 0-10 5

Software Engineering Methodologies Waterfall Model Incremental Model Prototyping (Evolutionary vs. Throwaway) Open-source Development Extreme Programming Copyright 2012 Pearson Education, Inc. 0-11 Modularity Procedures -- Imperative paradigm Structure charts Objects -- Object-oriented paradigm Collaboration diagrams Components -- Component architecture Copyright 2012 Pearson Education, Inc. 0-12 6

Figure 7.3 A simple structure chart Copyright 2012 Pearson Education, Inc. 0-13 Figure 7.4 The structure of PlayerClass and its instances Copyright 2012 Pearson Education, Inc. 0-14 7

Figure 7.5 The interaction between objects resulting from PlayerA s serve Copyright 2012 Pearson Education, Inc. 0-15 Figure 7.6 A structure chart including data coupling Copyright 2012 Pearson Education, Inc. 0-16 8

Coupling versus Cohesion Coupling Control coupling Data coupling Cohesion Logical cohesion Functional cohesion Copyright 2012 Pearson Education, Inc. 0-17 Figure 7.7 Logical and functional cohesion within an object Copyright 2012 Pearson Education, Inc. 0-18 9

Tools of the Trade Data Flow Diagram Entity-Relationship Diagram One-to-one relation One-to-many relation Many-to-many relation Data Dictionary Copyright 2012 Pearson Education, Inc. 0-19 Figure 7.8 A simple dataflow diagram Copyright 2012 Pearson Education, Inc. 0-20 10

Figure 7.9 A simple use case diagram Copyright 2012 Pearson Education, Inc. 0-21 Figure 7.10 A simple class diagram Copyright 2012 Pearson Education, Inc. 0-22 11

Unified Modeling Language Use Case Diagram Use cases Actors Class Diagram Copyright 2012 Pearson Education, Inc. 0-23 Figure 7.11 One-to-one, one-to-many, and many-to-many relationships between entities of types X and Y Copyright 2012 Pearson Education, Inc. 0-24 12

Figure 7.12 A class diagram depicting generalizations Copyright 2012 Pearson Education, Inc. 0-25 Figure 7.13 A sequence diagram depicting a generic volley Copyright 2012 Pearson Education, Inc. 0-26 13

Structured Walkthoughs Theatrical experiment Class-responsibility-collaboration cards Copyright 2012 Pearson Education, Inc. 0-27 Design Patterns Well designed templates for solving recurring problems Examples: Adapter pattern: Used to adapter a module s interface to current needs Decorator pattern: Used to control the complexity involved when many different combinations of the same activities are required Inspired by the work of Christopher Alexander in architecture Copyright 2012 Pearson Education, Inc. 0-28 14

Software Testing Strategies Glass-box testing Pareto principle Basis path testing Black-box testing Boundary value analysis Redundancy testing Beta testing Copyright 2012 Pearson Education, Inc. 0-29 Documentation User Documentation Printed book for all customers On-line help modules System Documentation Source code Design documents Technical Documentation For installing, customizing, updating, etc. Copyright 2012 Pearson Education, Inc. 0-30 15

Software Ownership Copyright Allow a product to be released while retaining ownership of intellectual property Asserted in all works: Specifications Source code Final product Copyright 2012 Pearson Education, Inc. 0-31 Software Ownership (continued) Software License A legal agreement that grants the user certain permissions without transferring ownership Patents Must demonstrate that it is new, usable, and not obvious to others with similar backgrounds Process is expensive and time-consuming Copyright 2012 Pearson Education, Inc. 0-32 16