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



Similar documents
Karunya University Dept. of Information Technology

Design methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD)

Vragen en opdracht. Complexity. Modularity. Intra-modular complexity measures

CS6403-SOFTWARE ENGINEERING UNIT-I PART-A

(BA122) Software Engineer s Workshop (SEW)

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

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

Architectural Design Structured Design. Xin Feng

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

Software Design Document (SDD) Template

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

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

Investigate Requirements for Software Solutions

Java Programming (10155)

How To Understand Software Engineering

Chapter 7: Software Engineering

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION

PERANCANGAN SISTEM INFORMASI

SYSTEMS ANALYSIS AND DESIGN COURSE OUTLINE

Chapter 8 Approaches to System Development

TYPICAL QUESTIONS & ANSWERS

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

Test Specification. Introduction

Process Models and Metrics

Requirements Document for the Banking System. Lecture # 40

Software Engineering Question Bank

Chapter 3 Technology adapted

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Introduction to Computers and Programming. Testing

CS 451 Software Engineering Winter 2009

Software Testing Strategies and Techniques

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS

Chapter 11: Integrationand System Testing

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

Software Testing. Quality & Testing. Software Testing

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process

Chap 4. Using Metrics To Manage Software Risks

LAB 3: Introduction to Domain Modeling and Class Diagram

Example Use Case Specification:

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

Hybrid Development Methodology for Client-Server Applications


Chapter 11, Testing, Part 2: Integration and System Testing

Enable Location-based Services with a Tracking Framework

THE BCS PROFESSIONAL EXAMINATIONS Certificate in IT. October Examiners Report. Information Systems

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Systems Analysis Process Modeling (DFD) 1 of 10. Analysis 003

Software testing. Objectives

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

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

CSTE Mock Test - Part III Questions Along with Answers

Entity / Activity Table for Causeway Cash Receipts System

Chapter 11: Integration- and System Testing


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

The Crossroads of Accounting & IT

Software Testing Interview Questions

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

IT3205: Fundamentals of Software Engineering (Compulsory)

MSc Information Technology - E521

Programming and Software Development CTAG Alignments

Iterative Design and Testing within the Software Development Life Cycle

Construction Principles and Design Patterns. Flyweight, Bridge, Builder

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Quiz Examination in Software Engineering Theory

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

From Data Modeling to Data Dictionary Written Date : January 20, 2014

The Elective Part of the NSS ICT Curriculum D. Software Development

Levels of Software Testing. Functional Testing

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces


Why Data Flow Diagrams?

Object Oriented Software Models

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

How To Develop Software

Baseline Code Analysis Using McCabe IQ

50 Computer Science MI-SG-FLD050-02

Engineering Process Software Qualities Software Architectural Design

Project Report On Online Sales Order Management System

INTEGRATED STAFF ATTENDANCE SYSTEM (ISAS) WEE PEK LING

BCA 421- Java. Tilak Maharashtra University. Bachelor of Computer Applications (BCA) 1. The Genesis of Java

Case Study: ATM machine I. Amalia Foka CEID - University of Patras Object Oriented Programming II (C++) Fall

International Journal of Advanced Research in Computer Science and Software Engineering

Project Report s Synopsis On behalf of

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

SAS System and SAS Program Validation Techniques Sy Truong, Meta-Xceed, Inc., San Jose, CA

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2

Example Software Development Process.

Visionet IT Modernization Empowering Change

A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses

Settlement Agent Frequently Asked Questions

Software Engineering. How does software fail? Terminology CS / COE 1530

How To Design An Information System

DEPARTMENT OF INFORMATION SCIENCE. INFO221 Application Software Development COURSE OUTLINE

Transcription:

Analysis / Design Traditional Development requirements gathering WHAT? HOW? requirements analysis coding Ali Doğru METU 66 Process models Usually Waterfall derivatives Data and Function based models Dataflow / Entity-Relation / Structure Diagrams (DFD ERD Structure Chart) RDBMs, supporting CASE tools Common Methodologies Big organizations have their own Known methodologies: Yourdon Jackson SSADM SDM, SADT, DSSD... Ali Doğru METU 67 Ali Doğru METU 68 Common Approach Analysis: DFD Analysis: DFD, ERD, Data Dictionary Design DFD, Tables, Normalization, PSL/PDL Data -> Structure -> Function Transform Analysis Procedural language + SQL External Entity Process Data store Data User Password info info Ali Doğru METU 69 Ali Doğru METU 70 Traditional Software Development

DFD: Context Diagram System DFD: Level info user Card info Money System Account info Central bank database card info verified process transaction updated info Report Updated info money process output result current cash Ali Doğru METU 7 Ali Doğru METU 7 Entity Relationship Diagrams An Example ERD school private Entity has N full inheritance room Property new Relation <plurality> classroom laboratory office <plurality> Ali Doğru METU 7 blackboard floor capacity Ali Doğru METU SquareFeet 74 A Data Dictionary Example Analysis to Design Name Description Format Date Status Process School Floor Name of the school Attribute of the room entitiy: material Text Text (hardwood, carpet) 9/5/0 9/6/0 cancelled Active Data dictionary interface Structural Capacity Attribute of the laboratory entity Integer 9/6/0 Active State diagram Has Relation: st entity owns the nd 9/6/0 active Control specification Data Ali Doğru METU 75 Ali Doğru METU 76 Traditional Software Development

Modular Complexity Complexity: C(p+p) > C(p) + C(p) Functional Dependency: Cohesion Coupling depth A System and its Modules System Output fan = a b c d e f g Input fan = h i j k Ali Doğru METU 77 width input flow Transform: Transform Flow access valid Transform flow banking Output flow type Input flow Valid Transaction Flow valid flow Transaction flow Account banking ç flow 4 Flow information op/. Flow money transfer transfer information First Step in Transform Transaction flow: first step Transform flow example Input transaction flow example Input Output Balance Report generation Money transfer Ali Doğru METU 8 Ali Doğru METU 8 Traditional Software Development

Input Control Check Check Password Transaction flow: second step Prepare Balance Control Prepare Transaction flow Money transfer Procedural Specification: PDL Do Read If (invalid ) go to beginning Ask for type If ( type == deposit) then {Deposit(); go to beginning} Ask for If (invalid ) go to beginning If ( type == ) then {Balance(); go to beginning} If (insufficient ) then go to beginning If ( type == money transfer) then {Transfer(); go to beginning} If ( type == money transfer) then {Transfer(); go to beginning} Else Withdraw() While (continuous) Ali Doğru METU 84 Test Plan Test cases Testing techniques Testing strategies Testing Unit Test Integration Test System Test V&V α & β Black box Testing Techniques White box Exhaustive testing: prohibitive complexity Basis path testing: manageable: Cyclomatic complexity = # decision points + N n -N e + # Loops in a planar flow-graph? Ali Doğru METU 85 Ali Doğru METU 86 A = While B <> A do {} If C > A {} D = C Else if D> C {} D = A End while {4} If D > {5} D = A B = A {6} Basis path testing 4 5 6 Cyc.Comp=9-6+ = 5 Top-down Bottom-up Sandwich Testing Strategies stub driver Ali Doğru METU 88 4 Traditional Software Development 4

Object Oriented Approaches Object Oriented Approaches - II Programming languages: raising abstraction Languages in 80s, methodologies later A modeling that is closer to human mind than to machines Very similar OO modeling languages Consistent development media from analysis to coding Meanwhile maturing of SE; incorporating non OO techniques Ali Doğru METU 89 Entities should be modeled with their s Supports reuse and modularity Complexity is attempted to be addressed by generalization and specialization mechanisms Details to come soon Ali Doğru METU 90 Newly Developing Concepts Component Technologies Design Patterns Architectural Frameworks No methodological support yet! Domain orientation Ali Doğru METU 9 5 Traditional Software Development 5