INFO415 Approaches to System Development: Part 2

Slides:



Advertisements
Similar presentations
Chapter 2: Approaches to System Development
Advertisements

Chapter 2 Approaches to System Development
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Traditional Approach to Design
Chapter 10 The Traditional Approach to Design
Chapter 9: The Traditional Approach to Design Chapter 10 Systems Analysis and Design in a Changing World, 3 rd Edition.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Copyright Irwin/McGraw-Hill Software Design Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Software Design Deriving a solution which satisfies software requirements.
© Farhan Mir 2008 IMS MIS Development BBA (IT) 6 th (Lectures ) (Information System Development Methodologies) Course Lecturer: Farhan Mir.
CSCE 121, Sec 200, 507, 508 Software Engineering Fall 2010 Prof. Jennifer L. Welch.
Introduction To System Analysis and Design
© Copyright 2011 John Wiley & Sons, Inc.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 1 Program Design
1 Software, Programmings. 2 Types of Software Figure 9.1 Shakeel Ahmad.
Lesson-21Process Modeling Define systems modeling and differentiate between logical and physical system models. Define process modeling and explain its.
SYSTEMS ANALYSIS. Chapter Five Systems Analysis Define systems analysis Describe the preliminary investigation, problem analysis, requirements analysis,
Approaches to System Development Chapter 3. Methodologies, Models, Tools and Techniques A system development methodology –provides guidelines to follow.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 6: The Traditional Approach to Requirements
Introduction To System Analysis and design
PROCESS MODELING Chapter 8 - Process Modeling
2 Approaches to Requierements Engineering Reference: Systems Analysis and Design in a Changing World, 3 rd Edition, chapter 2 and chapter 6.
Chapter 10 Architectural Design
The Design Discipline.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Chapter 7 Structuring System Process Requirements
Topic 1: Approaches to System Development
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Two Approaches to System Development
Introduction To System Analysis and Design
INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1. Information System 2.
Chapter 9 Moving to Design
10 ITK261 The traditional approach to design Reading: Chapter 10 Oct 9, 11.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Systems Analysis and Design in a Changing World, 3rd Edition
Systems analysis and design, 6th edition Dennis, wixom, and roth
The Systems Development Life Cycle
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Midterm Review Information System Design. Topics Covered Chpt 8: Process Modeling Chpt 9: Feasibility Analysis Chpt 10: Systems Design Chpt 12: Database.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
Learners Support Publications Object Oriented Programming.
System Development 1 u Systems development life cycle (SDLC) l Provides overall framework for managing system development process u Two main approaches.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
1 Introduction to Design. 2 Outline Basics of design Design approaches.
Systems Design.  Application Design  User Interface Design  Database Design.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
ITEC 4010: Systems Analysis and Design II. Lecture 3 System Development Part II Review Professor Peter Khaiter.
Systems Analysis and Design in a Changing World, Fourth Edition
Object Oriented Analysis and Design
Systems development life cycle (SDLC)
Presentation transcript:

INFO415 Approaches to System Development: Part 2

Two Approaches to System Development Traditional Structured Approach vs. Object Oriented Approach Both are widely used today. Older, established organizations: lean toward the traditional approach Newer organizations, or those with heavy emphasis on the Web, moving toward Object Oriented approach Approaches are not mutually exclusive!!

Structured Approach Structured system development has 3 components Structured programming Structured design Structured analysis Collectively referred to as structured analysis and design technique (SADT) The approach evolved over many years (60s to 80s) in order above. Why this order?

Structured Programming Improves computer program quality Allows other programmers to easily read and modify the code Each program module has one beginning and one ending Three programming constructs

Three Structured Programming Constructs

Top-Down Programming Divides complex programs into hierarchy of modules Module at top controls execution by “calling” lower level modules Modular programming Similar to top-down programming One program calls others to work as single system

Structured Design Developed in response to increasing complexity of applications Developed to provide guidelines What the set of programs should be What each program should accomplish How programs should be organized into a hierarchy Main principles of program modules Loosely coupled - independent Highly cohesive - one clear task

Structured Analysis Emerged in the 1980s Helps developer define what the system needs to do (processing requirements) Defines: Events that trigger system functions System functions Data to store and use Inputs and outputs How functions work together Data Flow Diagrams (DFDs) and Entity Relationship Diagrams (ERDs) are mostly important and commonly used models from Structured Analysis

Data Flow Diagrams Data Flow Diagrams (DFDs) model what the system needs to do and what data must be stored Shows inputs, processes, outputs and data stores Start at high level and drill down – “functional decomposition”

Entity Relationship Diagrams Entity Relationship Diagram (ERD) models the data that must be maintained within the system. Entities: ‘things’ that the system must maintain information about Relationships: how the entities are related to each other Entities correspond to data stores on DFD diagrams

What is common between these diagrams?

Weaknesses of Structured Approach Evolved over time – many variations, lack of cohesion between models Data more of an afterthought – focus is on function Some issues from transitioning from analysis to design – different set of models In response, Information Engineering (IE) approach has emerged

Information Engineering Approach System development methodology that focuses on strategic planning, data modeling, and automated tools More rigorous and complete than the structured approach Basic idea: data/information is a corporate resource that does not change very quickly. Focus on data first; processes that use data second Models generated are similar to the structured approach.

Structured Approach vs Information Engineering The structured approach is a model-driven, process-centered but data sensitive technique. Information engineering (IE) is a model-driven and data-centered, but process-sensitive technique. Conversion Notes We played down the methodology coverage in this edition. Several reviewers felt it was too much, too soon. In some books, information engineering is considered a “structured technique” as is structured analysis. We cannot argue this. Both methods use the same diagrammatic tools to model a system. Information engineering is more complex and comprehensive than the oversimplified presentation in this edition’s chapter. But we have found few organizations that still practice pure IE. But many organizations still practice data-driven analysis and design.

Object-Oriented Approach Views information systems as collections of interacting objects that work together to accomplish tasks Objects - things in the computer system that can respond to messages An object is a type of thing (person, order, product, button or pull-down menu) No processes, programs, data entities, or files Object-oriented languages include C++ and Java Object Oriented approach consists of: Object-oriented analysis Object-oriented design Object-oriented programming

Object-Oriented Approach to Systems

Object-Oriented Analysis Defines all of the types of objects that do the work of the system Shows how objects interact Class: A collection of similar objects (Customer) Class Diagram: Produced during object-oriented analysis to show all classes of objects in the system and how they relate to each other.

Object-Oriented Design and Programming Defines all additional object types needed to communicate with people and devices in the system Refines each type of object for implementation within a specific language (e.g., Java or C++) Object-oriented Programming: Writing statements in programming language to define what each object does

Benefits of the Object-Oriented Approach Naturalness Reuse Example

Traditional vs. Object-Oriented Approach As part of a project, defined the following requirements related to customer information: The information we need to maintain for customer includes: name, address, and credit limit and current A/R balance We need the ability to add new customers over time We need to be able to delete inactive customers from the system We need to be able to raise/lower customer credit limits over time. We need to be able to view current information about the customer on demand.

Traditional vs. Object Oriented Approach Traditional Approach (structured/IE) Object Oriented Approach Query Customer Program “table” “programs” Customer ID Name Address Credit Limit Current Balance createCust findCust updateCust deleteCust Customer Customer Table Customer ID Name Address Credit Limit Current Balance Add New Customer Program Delete Customer Program “methods” Update Credit Limit Program “object”