System Analysis and Design

Similar documents
CISC 322 Software Architecture

Object Oriented System Development

Database Design. 2-3 Entity Relationship Modeling and ERDs. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Systems Analysis and Design in a Changing World, Fourth Edition

Model Driven Development Unified Modeling Language (UML)

3.0 Object-Oriented Modeling Using UML

Unified Modeling Language (UML)

Unit Wise Questions. Unit-1 Concepts

Software Development Methodologies

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Programming Language Constructs as Basis for Software Architectures

Unit-1 INTRODUCTION 1.1 CATEGORIES OF INFORMATION SYSTEMS SYLLABUS:

Software Development. Modular Design and Algorithm Analysis

CHAPTER 1. Objects, UML, and Java

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Modeling Databases Using UML

Getting a Quick Start with RUP

UNIT-I Introduction of Object Oriented Modeling

TTool Training. I. Introduction to UML

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

Object Oriented Analysis And Design Tutorial

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

History of object-oriented approaches

Lecture 34 SDLC Phases and UML Diagrams

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

UML. By Somenath Mukhopadhyay.

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

OBJECT ORIENTED ANALYSIS AND DESIGN

1 OBJECT-ORIENTED ANALYSIS

Lecture 13 Introduction to Software Architecture

What is a Model? Copyright hebley & Associates

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

Software Engineering from a

i219 Software Design Methodology 1. Overview of software design methodology Kazuhiro Ogata (JAIST) Outline of lecture

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

ACRONYMS AND GLOSSARY

Unified Modeling Language (UML)

Object-Oriented Systems Development: Using the Unified Modeling Language

Experiment no 4 Study of Class Diagram in Rational Rose

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

Rational Software White paper

Managing Change and Complexity

CSC Advanced Object Oriented Programming, Spring Overview

Design and Evolution of an Agent-Based CASE System for OOAD

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Presenter: Dong hyun Park

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

WORKING WITH PIVOT TABLES

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

Software Development Methodologies

Session 1b: Overview of systems analysis methodology

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

UML Primer. -Elango Sundaram

On behalf of ASE crew, I welcome you onboard. We will cover this journey in roughly 50 minutes.

Software Engineering Lab Manual

Introduction. Object Orientated Analysis and Design. Benjamin Kenwright

Answer: D. Answer: B. Answer: B

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Chapter 1: Principles of Programming and Software Engineering

Chapter 2, lecture 1, Modeling with UML

OO Analysis and Design with UML 2 and UP

BDSA Introduction to OOAD. Jakob E. Bardram

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN

Intro to DB CHAPTER 6

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Systems Analysis & Design

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

UML part I. UML part I 1/41

Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur

Introduction to UML. Danang Wahyu utomo

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Chapter 5. The Database Life Cycle. Class 04: Topic 3.1: The Database Life Cycle

How and Why to Use the Unified Modeling Language. among software components, architectural-based

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE. Speaking the Language of OO

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Copyright 2016 Ramez Elmasr and Shamkant B. Navathei

1 Introduction. 1.1 Introduction

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Object-Oriented Analysis and Design Using UML

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III

UML-Based Conceptual Modeling of Pattern-Bases

The Web Service Sample

Architectural Blueprint

Ch t 8 Chapter 8. System Models

CT41 (ALCCS) SOFTWARE ENGINEERING JUN 2015

For many companies, information systems cost 40 percent of overall costs.

Introduction to the UML

Module Definition Form (MDF)

Simply Java Programming: An Application Driven, Tutorial

Arguments for Open Structure Execution Services

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad

JOURNAL OF OBJECT TECHNOLOGY

Transcription:

System Analysis and Design 1

Introduction to Software Engineering Building Software is a complex exercise. Software is produced in several stages. Each stage attempts to deal with a different aspect of the system being developed 2 We had learnt that Software building is a complex exercise and every complex activity require some discipline to handle the complexity. This discipline is Software Engineering. The Software Engineering is a discipline that attempts to handle the complexity incurred during software development process and in turn to produce a reliable and productive software system with minimal errors. As I told you that Software Engineering comprises of multiple stages and yes, it is required too, to develop a reliable software system. By the end of this lesson you will be able to appreciate the initial two stages of Software Engineering namely Analysis and Design. Analysis: Analysis produces a specification of what a system does. The intention is to provide a clear definition of the inputs to, and outputs from, the system, and of the relationship between the two. This stage produces an analysis document. Design: Design produces a specification of how the input-output relationships specified in the Analysis document are obtained. That is, design is the blueprint of the proposed solution to problem at hand. 2

Introduction to SSAD and OOAD In Software Engineering there are two popular methods to model analysis and design problems: Structured Systems Analysis and Design. (SSAD). Object-Oriented Analysis and Design. (OOAD) A method is a specific set of formal tools and techniques used to model a problem. 3 Following are the popular analysis and design methods. SSAD : In SSAD, the system is viewed as being composed of two components, functionality and data, each of which is modeled more or less separately. Functionality are modeled using a technique called process modeling. Data is modeled using a technique called data modeling. Since SSAD models functionality and data separately, we say that it follows a function/data methodology It is more suitable for data intensive projects OOAD : In the last few years, a new methodology has emerged which is in a sense an amalgamation of process-oriented and data-oriented methods. This is called an object-oriented methodology. This methodology is more suitable for projects with complex business logic Now is the time to delve deep into these two methodologies. 3

SSAD Now, we will see with the help of a case study how, after gathering requirements from the client, SSAD is used to : Structure the problem (System Analysis). Arrive at system design (System Design). 4 Case study. The protagonist in our case study is a trainee who takes courses, writes exams, and is graded at the end of the training period. An information system has to be built which computes each trainee s overall class rank whenever requested, using data about his/her performance in the exams conducted so far. 4

System Analysis SSAD The analysis stage produces a structured requirements specification consisting of the following deliverables: A process model consisting of a set of data flow diagrams. A set of process specifications. A data model consisting of an entity-relationship diagram. A data-dictionary. 5 Now let us explore these four terminologies through our case study and some diagrams: 5

Process Model USER emp# Compute rank rank EMPLOYEES 6 Here you are watching a data flow diagram which is depicting the process model. DFDs are created to depict the flow of application i.e. they depict the functionality of the system and eventually lead to Program design. Here in this diagram, Compute Rank is a process which is taking emp# as input from the user and calculating rank and simultaneously it is contacting the table employee as well. 6

Process Specification Process Compute-rank begin for each employee do find all courses taken by employee; for each course taken do find the marks obtained, and the course weight; find the weighted sum WS of the marks obtained in all courses sort employee# in increasing order of WS; output position of emp# in sorted list; end. 7 Here you are watching a Process Specification. The process is named as Compute-rank and it is simply depicting the algorithm of the process. Process Specification is used to specify all the processes which are depicted in DFDs. 7

Data Model EMPLOYEE takes COURSE 8 Here you are watching a E-R diagram which is depicting the data model. E-R diagrams are created to depict the entities and the relationship between them and this eventually leads to database design. These entities are nothing but the data which we have gathered. Here in this diagram, Employee and course are two entities and takes is a relationship. 8

Data Dictionary COURSE = course# + course-name + weight + description course-name = *name of a course, of course * EMPLOYEE = emp# + name + address + (telephone#) EMPLOYEES = {EMPLOYEE + {COURSE + mark}} mark = * mark obtained by a trainee in a test * rank = * rank of a student in a batch, across courses * weight = a number between 0 and 1 indicating relative degree of importance of a course 9 Here you are watching a Data Dictionary. Data Dictionary is a repository that contains descriptions of all the data objects consumed or produced by the software. Each entry in data dictionary signifies the attributes of entities in the E-R diagram. 9

System Design SSAD The design stage in SSAD produces : A database design. A program design. 10 Now let us explore these two terminologies: Database design: The database design is arrived at by applying data modeling techniques to the ER diagram produced during analysis. Program design: The program design consists of : a) structure chart: The structure chart shows the overall architecture of the system, in terms of the various constituent programs (as blackboxes) and their calling structure and parameters. b) program specifications: The program specifications contain the algorithms to generate the required outputs from the given inputs as specified in the analysis document. Note that the process specifications do not specify the algorithms; they merely establish the input-output relationships in the system., as specified by the user. 10

OOAD World is made up of Objects. Analyzing and Designing objects is close to the real world. 11 OOAD stands for Object Oriented Analysis and Designing. World is made up of Objects. So if we analyze and design our programming problems in object scenario than we are close to the real world modeling. Although the concepts underlying object orientation as a programming language go back two decades, it s only in the last few years that Object Oriented Analysis (OOA) and Object Oriented Design (OOD) methods have begun to emerge. 11

OOAD vs. SSAD Advantages of OOAD are Bringing Order to chaos Easy to Handle very Complex projects Driving principles: maintainability, extensibility reusability interoperability quality 12 OOAD has several obvious advantages over SSAD as OOAD is more close to the real world because it is based upon the object. Where SSAD fails after a certain level of complexity, OOAD comes out with flying colors and handle the complexity in a robust and dependable manner. OOAD is supported by various principles like maintainability, extensibility, reusability, interoperability and quality. 12

Constituents of OOAD Consists of : Methodology Step by step procedure of arriving at systems engineering, analysis and design for a problem Notation Graphical representation of design Tool to draw OOAD Diagrams 13 The example of these three constituents is given on the next slide. 13

Examples Methodology Rational Unified Process Notation Unified Modeling Language Tool Rational Rose 14 14

Techniques used for OOAD Fusion Jacobson Rumbaugh Booch Rational Unified Process (RUP)/ Objectory with Unified Modeling Language (UML) 15 There are so many techniques, respective notations and tools to do Object Oriented Analysis and Designing. Few important ones are listed above. 15

Summary What is Systems Engineering? What is Analysis and Designing? What is SSAD and how to perform analysis and designing in SSAD? What is OOAD and how it is an step over SSAD? What are different OOAD techniques? 16 16

Thank You! 17 17