Software Engineering: Analysis and Design - CSE3308

Slides:



Advertisements
Similar presentations
1 Soft Systems Methodology systems thinking systems thinking systems thinking systems thinking systems thinking systems thinking.
Advertisements

Laboratorium Sistem Informasi
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Soft Systems Methodology
Introduction to Soft Systems Methodology
Soft Systems Methodology
SSM - 1 Soft Systems Methodology SSM Elena Losseva MBA 731 November 12, 2007.
Introduction to Soft Systems Methodology. The Vision SSM Models Use Cases Activity Models Dynamic Models Object Models Programs Databases Business Computing.
Analytical methods for Information Systems Professionals
Introduction To System Analysis and Design
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Analytical methods for IS professionals ISYS3015 Qualitative research methods Data collection.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
CS 425/625 Software Engineering System Models
Lecture 13 Revision IMS Systems Analysis and Design.
Public Services Information Management 7. Soft Systems Methodology.
Fundamentals of Information Systems, Second Edition
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Chapter 1 Assuming the Role of the Systems Analyst
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Lecture Nine Database Planning, Design, and Administration
CSE Software Engineering: Analysis and Design, 2003Lecture 3B.1 Software Engineering: Analysis and Design - CSE3308 What is Analysis and Design?
Programming and Languages Chapter Competencies (Page 1 of 2) Describe the six steps of programming Discuss design tools including top-down design,
© 2005 Prentice Hall2-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
socio-organizational issues and stakeholder requirements
COM332 – SA3 WISDM & SSM. Web development approaches –Focused on the user interface and in particular the look and feel of a web site –Failed to address.
Software Development Process
Systems Thinking, Rich Mapping and Conceptual Models.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
CB1004 Modelling Business Systems 71 Modelling Business Systems 7 Systems Methods.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
The Program Development Cycle
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Requirements. Terminology: Requirements XYZ Requirements gathering (also known as “requirements elicitation”) : what is to be accomplished, how the system.
Computing Essentials 2014 Programming and Languages © 2014 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
1 Introduction to Software Engineering Lecture 1.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Programming and Languages
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Design Process
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lecture 3 : Hard Systems Modelling UFCE8V-20-3 Information Systems Development SHAPE Hong Kong 2010/11.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
M253 Team Work in Distributed Environments Week (3) By Dr. Dina Tbaishat.
Chapter 1 Assuming the Role of the Systems Analyst.
 System Requirement Specification and System Planning.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Public Services Information Management
What is a system? A collection of components organized to accomplish a specific function or set of functions. [IEEE STD ]
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction To software engineering
Introduction to Software Engineering
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Stakeholder Management
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Presentation transcript:

Software Engineering: Analysis and Design - CSE3308 CSE3308/CSC3080/DMS/2000/3 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 What is Analysis and Design?

Lecture Outline Defining Analysis and Design Why do Analysis and Design? Types of Analysis and Design

Definitions Many different definitions of the difference between analysis and design In the past there was common agreement Was viewed as follows: Description of the Problem Description of the Solution Essential Model Implementation Model Role of the Analyst Role of the Designer

Definitions (2) Structured Analysis and Structured Design Different Tools used to develop system often different teams used to do analysis and design Clear distinction between tasks Leads to the Analysis/Design Wall

Definitions (3) With newer development methods, the divide between analysis and design breaks down the concept of seamlessness that an essential model is very difficult to develop without reference to the implementation issues the increasing emphasis on requirements analysis Some commentators see only Requirements Analysis High-level Design Low-level Design The debate rages on!

Definitions (4) Systems Analysis Systems Design Process of defining a problem, gathering the requirements and developing an analysis model representing those requirements Describing the problem the system means to solve Systems Design Process by which the analysis model is transformed into a model which is capable of being implemented Describing the solution to the problem

Why do analysis and design? Add formality Reduce errors Improve communication between participants Get the requirements right! Can be a factor of 100 in the cost of fixing analysis and design errors from analysis phase to maintenance phase Generate documentation

Cost of Analysis/Design Errors

Source of Errors

Types of Analysis/Design Top-down Analysis and Design Structured Analysis SADT Object-Oriented Analysis and Design Object Modeling Technique (OMT) Booch OOA&D Unified Modeling Language (UML) OPEN/Mentor (Australian based) Brian Henderson-Sellars and Object-Oriented Pty. Ltd. Data-Driven Analysis and Design Jackson System Design Warnier-Orr Method Soft Systems Methodology

Data-driven Analysis and Design Structure of system is driven by mapping system inputs to outputs Software structure can be directly derived from the data structure More concentration on timing and scheduling than in Structured Analysis and Design (specifically Jackson System Design) Both methods have been extensively used but have only a very small market share

Soft Systems Methodology (SSM) Developed by Peter Checkland Aims to represent the multiple perspectives that users have of a system

Soft Systems Methodology vs. Hard Systems Engineering (1) “Hard” systems engineers are used to producing a well-defined system to achieve clearly stated objectives In many real situations, things are less clear: “See what you can do to help us” (Marketing director of textile business) “Make me a plan” (Owner of small carpet-making business) “Try to improve the project” (Director of British Aircraft Corporation, with reference to the Concorde project)

Soft Systems Methodology vs. Hard Systems Engineering (2) The traditional activity of “Hard” systems engineers is “how-oriented”: How can this need be met? (design) This assumes that what to do is already defined SSM endeavours to address the question: What is needed? (requirements analysis) SSM is a system of enquiry. Several notional systems which might be relevant are: defined and modeled compared with the perceived problem situation used to articulate a debate about change, which takes in both “whats” and “hows”

Naming Relevant Systems System names must be written such that a model of the system can be built. These names are known as root definitions. A root definition expresses the core purpose of a purposeful activity system. The core purpose is always expressed as a transformation T of entity “input” into some new form of that entity “output” input Transformation process output

CATWOE Well-formulated root definitions should be prepared by consciously considering each of the following elements: C - Customers: the victims/beneficiaries of T A - Actors: those who would do T T - Transformation process: the conversion of input to output W - Weltanschauung: the worldview which makes this T meaningful in context O - Owners: those who could stop T E - Environmental constraints: elements outside the system which it takes as given

Root definition A full root definition’s core transformation T would be: “a system to do X by Y in order to achieve Z” where T is the means Y, Z is related to O’s longer term aims Y should be an arguably appropriate means for doing X It is generally useful to write root definitions with the XYZ formula in mind

“The Three Es” Any transformation T of input to output can be judged successful or unsuccessful on three criteria: Efficacy Does the means work? Efficiency amount of output divided by amount of resources used Effectiveness is T meeting the longer term aim? Also mention Ethicality and Elegance

Root Definition

Root definition (2)

Rich Pictures

Types of Analysis in SSM Role Analysis Social System Analysis Political System Analysis SSM provides tools to integrate the three types of analysis Problems with integrating results of the analysis with design/implementation of an information system Soft Systems Methodology In Action by Peter Checkland and Jim Scholes Hargrave Library 003 C514S