Meltem Özturan

Similar documents
Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis & Design

Managing the development and purchase of information systems (Part 2)

Chapter 2: The Database Development Process

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Introduction to System Analysis and Design

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

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

*ANSWERS * **********************************

Structured Analysis and Design

Chapter 1: Introduction to Systems Analysis

(c) Addison Wesley Chapter 3. ! Interviewing customers and domain experts. ! Questionnaires. ! Observation. ! Study of documents and software systems

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

Requirements Engineering Process

The Development of Information Systems

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

System Development Life Cycle Methods/Approaches/Models

Systems Analysis and Design

COMMUNICATION SYSTEM FOR CSE DEPARTMENT

PPSC Competitive Exam for the Post of System Analyst

CS487 Midterm Exam Summer 2005

Major Topics. Prototyping and Rapid Application Development

1. i. What are the 3 major components of a information system and show their relationship input output

Module - 3. System Development Models and System Analysis and Design

Object-Oriented Systems. Development: Using the Unified Modeling Language

Identify the guidelines for system development. Discuss the purpose of the activities performed in the analysis phase

Organizing Database Project Work. (Chapter 4)

Organizing Database Project Work

Answer: D. Answer: B. Answer: B

Chapter 4 Objectives

Oracle Data Modeling and Relational Database Design

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

Chapter 12. Systems Design. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

SE310 Analysis and Design of Software Systems

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller

Discovering Computers Living in a Digital World

Objectives. Connecting with Computer Science 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 4 Certificate in IT INFORMATION SYSTEMS

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

Database Environment. Pearson Education 2009

Chapter 1: The Database Environment

Managing Change and Complexity

C H A P T E R SYSTEM DESIGN

Agile Development

Langara College Spring archived

Simply Java Programming: An Application Driven, Tutorial

Work with design rules that can be applied to check and enforce the integrity and consistency of your

Langara College Spring archived

Detailed Design. Java Problem Repository & Education Platform JPREP

Chapter 7: Software Engineering. Copyright 2015 Pearson Education, Inc.

Dilbert Scott Adams. CSc 233 Spring 2012

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

History of object-oriented approaches

UNIT 3 PROCESS OF SYSTEM DEVELOPMENT

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Software Development Process Models

CSC Advanced Object Oriented Programming, Spring Overview

Testing in the Agile World

What is an object? An object has both data and operations

Structured Systems Analysis and Design

Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

User-Centered Development

Object-Oriented Systems Analysis and Design Using UML

Oracle Data Modelling & Database Design Course Content:35-40hours

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

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

Abstract class Audit trail Class diagram Balancing Acceptance testing Closed-ended questions Baseline modules Action stubs Cohesion Activation

Unit 6 - Software Design and Development LESSON 7 CODE STRUCTURES

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

Best Practices for Collecting User Requirements

Step 1 - Learning & Discovery

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

1. WHAT AREAS OF LEARNING DOES THIS ASSESSMENT ADDRESS? 2. WHY IS THE COMPLETION OF THIS ASSESSMENT IMPORTANT?

White Paper. Rose PowerBuilder Link

MAM4P MANAGEMENT INFORMATION SYSTEM. Unit : I - V

KINGS COLLEGE OF ENGINEERING

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2

A Framework for Converting Classical Design to Reusable Design

SM 3511 Interface Design. Institutionalizing interface design

What is a prototype?

FACETs. Technical Report 05/19/2010

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University

350 Index 2005 GOAL/QPC

Comparative analyses for the performance of Rational Rose and Visio in software engineering teaching

Rapid Application Development [RAD]

Human Computer Interaction - An Introduction

Architectural Blueprint

SOFTWARE LIFE-CYCLE MODELS 2.1

B Nagaraju

Level 5 Diploma in Computing

USING DATA MODEL PATTERNS FOR RAPID APPLICATIONS DEVELOPMENT

QUARK AUTHOR THE SMART CONTENT TOOL. INFO SHEET Quark Author

Unit 1 Introduction to Software Engineering

Meltem Özturan

1: Software Development and.net. An approach to building software

Solved Question Paper June 2017

Transcription:

Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 1

The systems development life cycle (SDLC) provides an overall framework for the process of system development, but the developer relies on many more concepts for help, including methodologies, models, tools, and techniques leading to different approaches. (Methodologies) Methodologies Comprehensive guidelines to follow for completing every activity in the system development life cycle, including specific models, tools and techniques May contain instructions about how to use models, tools and techniques We will examine a number of different methodologies for system development 2

(Models) Models Model: A representation of some important aspect of the real world (abstraction) Models used in system development include representations of inputs, outputs, processes, data, objects, object interactions, locations, networks, and devices etc. Most models are graphical diagrams and charts Models of system components Flow chart, Data flow diagram (DFD), Entity-relationship diagram (ERD), Structure chart, Use case diagram, Class diagram, etc. Models to manage the development process PERT chart, Gantt chart, Organizational hierarchy chart, etc. (Tools) Tools Tool: Supportive software that helps create models or other components required in the project Examples of tools Project management application Drawing/graphics application Word processor/text editor Computer-aided system engineering (CASE) tools Integrated development environment (IDE) Database management application Reverse-engineering tool Code generator tool 3

(Techniques) Techniques Technique: a collection of guidelines that help the analyst complete a system development activity or task Examples of techniques Strategic planning techniques Project management techniques User interviewing techniques Data-modeling techniques Relational database design techniques Structured analysis technique Structured programming technique Software-testing techniques (e.g. usability testing) Object-oriented analysis and design techniques Relationship among the components of a methodology 4

Approaches Structured Approach Computer-Aided Software Engineering Prototyping Joint Application Design Rapid Application Development Extreme Programming Object-Oriented Approach (Structured Approach) Uses the traditional methodology consists of planning, analysis, design and implementation phases for system development. Approach is made up of: 1. Structured analysis 2. Structured design 3. Structured programming Approach is process centered 5

(Structured Approach) Weaknesses of the Structured Approach Techniques address some but not all of the activities of analysis and design Critics want a more comprehensive set of techniques Many thought data modeling using structure chart and ER diagram were more important than modeling processes (using dataflow diagrams) However, the structured approach overall still made processes rather than data the central focus Many felt a strategic planning technique needed to be included as well 6

(Computer-Aided Software Engineering) A system development methodology that focuses on strategic planning, data modeling, and automated tools CASE tools provide automated support for some portion of the systems development process. Reverse Engineering refers to the process of creating design specifications for a system or program module from program code and data definitions. Reengineering is similar to Reverse Engineering but also includes analysis features that alters an existing system in an effort to improve its quality or performance (Prototyping) An iterative process of systems development in which requirements are converted to a working system that is continually revised through close collaboration between analyst and users. A prototype can be developed with visual development tools, with the query, screen, and report design tools of a database management system; and with case tools. Advantages: Involves users in analysis and design Capture requirements in concrete, rather than verbal or abstract, form 7

(Joint Application Design - JAD) A structured process in which users, managers and analyst work together for several days in a series of intensive meetings to specify or review system requirements. Group members are more likely to develop a shared understanding of what the information system is supposed to do. JAD can be substituted for personal interviews at any appropriate juncture during the SDLC. (Rapid Application Development - RAD) A systems development methodology created to radically decrease the time needed to design and implement information systems. RAD relies on extensive user involvement, JAD sessions, prototyping, integrated CASE tools, and code generators. Follows the traditional SDLC but the phases are shortened and combined with each other to produce a more streamlined development technique. 8

(extreme Programming) Extreme Programming (XP) is a software development approch that takes good software development practices and pushes them to extreme lengths. Key emphases of XP are its use of two-person programming teams, and having a customer on-site during the development process. Communication, simplicity, courage and feedback are the four values of XP. Coding, testing, listening and designing are the four activities of XP. (Object-Oriented (OO) Approach) Views information systems as collections of interacting objects that work together to accomplish tasks Focus on things of interest and how they behave Approach is made up of: 1. OO analysis 2. OO design 3. OO programming Key benefits of the OO Approach are naturalness and reuse 9

(SDLC Variations) Depending on the methodology analysts encounter many variations of SDLC in practice Based on: Phases Iteration Emphasis on people Speed of development (SDLC Variations - Phases) There are variations due to the number of phases and/or namings Waterfall Model of SDLC Satzinger et al (2002) Fig 3-13 10

(SDLC Variations - Iteration) Process of looping through the same development activities multipletimes Satzinger et al (2002) Fig 3-17 Satzinger et al (2002) Fig 3-15 (SDLC Variations Emphasis on People) Human activity must be studied in detail as well as technical aspects 11

(SDLC Variations Speed of Development) Try to speed up activities in each phase RAD Rapid Application Development JAD Joint Application Development Prototyping Extreme Programming 12