OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS BTS430 Systems Analysis and Design using UML.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
Chapter 2: Approaches to System Development
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 2 Approaches to System Development
Systems Analysis and Design in a Changing World, 6th Edition
Approaches to Systems Development
Ch 3 System Development Environment
Agile development By Sam Chamberlain. First a bit of history..
Systems development life cycle & development methodologies
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fifth Edition
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 1 The Systems Development Environment
Approaches to System Development Chapter 3. Methodologies, Models, Tools and Techniques A system development methodology –provides guidelines to follow.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Chapter 1 The Systems Development Environment
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Introduction to Information System Development.
Introduction To System Analysis and design
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
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.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 8 - Approaches to System Development.
Introduction To System Analysis and Design
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
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.
The Systems Development Life Cycle
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, 6th Edition
Software Design Process
System Development 1 u Systems development life cycle (SDLC) l Provides overall framework for managing system development process u Two main approaches.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
PRJ566 Project Planning & Management Software Architecture.
Data Structures Using C++ 2E
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
© 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.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Systems Analysis and Design in a Changing World, 6th Edition
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
Fundamentals of Information Systems, Sixth Edition
Chapter 1: Introduction to Systems Analysis and Design
Concepts used for Analysis and Design
Software Development Life cycle
CSE 303 – Software Design and Architecture
Introduction To System Analysis and Design PART 2
Object Oriented Analysis and Design
Systems development life cycle (SDLC)
Systems Analysis and Design in a Changing World, 6th Edition
Presentation transcript:

OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS BTS430 Systems Analysis and Design using UML

2 SDLC: Software (or Systems) Development Life Cycle Projects are developed according to a definite methodology called the SDLC o organizes the activities of a project o Interactive and Incremental o followed by everyone involved in software development

3 What is a methodology? A collection of comprehensive guidelines to follow for completing every SDLC activity Examples of methodologies: Structured (Traditional), Object-oriented

4 SDLC Methodologies Structured  Worked well for centralized processing applications and procedural languages Object Oriented  Based on the interaction that happens between ‘objects’  Real world objects are modeled by corresponding programming objects. Objects have state, behaviour and identity.

5 The Phases of the SDLC: Software (or Systems) Development Life Cycle The Phases of the SDLC for both the Structured and the OO methodologies are similar  Project Planning Phase  Analysis Phase: understanding business needs  Design Phase: conceptualizing computer-system solutions  Implementation Phase: coding, testing and installation  Support Phase

Theory of the SDLC: Software (or Systems) Development Life Cycle Theory of the SDLC is covered in the Systems courses :  Project Planning Phase (Principles taught in BTS330 and BTS70)  Analysis Phase (Principles taught in BTS330)  Design Phase (Principles taught in BTS430 and BTS530)  Implementation Phase  (Principles taught in programming courses and in BTS530 & 630)  Support Phase

SDLC used for the development of the Capstone Project You will develop your capstone project in teams using the SDLC  Project Planning Phase (BTR490)  Analysis Phase (BTR490)  Design Phase (BTS530)  Implementation Phase (BTS630)  Support Phase (to be negotiated with client)

Aids to Assist in Analysis and Design Methodologies  Comprehensive guidelines to follow for completing every SDLC activity  Collection of techniques  Examples: Structured, OO Models  Representation of an important aspect of the real world  Diagrams and charts  Project planning aids

9 What is a technique? Collection of guidelines that help the Developer complete a system development activity or task within a phase Step-by-step instructions General advice

10 Techniques Techniques are used to complete specific system development activities  Project planning techniques  Systems analysis techniques  Systems design techniques  System construction and implementation techniques  System support techniques Example: Rational Unified ProcessRational Unified Process

11 Models Representation of an important aspect of the real world Examples  Diagrams and charts  Project planning aids: MS Project  The collection of the diagrams that are developed and drawn in Rational Rose

Some Models Used in System Development

Rational Rose Showing OO Diagrams

Object-Oriented Analysis & Design Object-oriented analysis  Defines all of the types of objects that do the work of the system Object-oriented design  Shows how objects interact  Defines all additional object types needed to communicate with people and devices in the system  Refines each type of object for implementation in a specific language and environment

15 Why the move to Object-oriented Methodology? Software Development is too expensive  Poor Quality  Late Delivery  Poor Productivity  Too much person-power needed  Fragile systems  Legacy Systems  User Interfaces not state of the art

16 Why the move to Object-oriented Methodology? Software Developers are being asked to o Develop more sophisticated systems o Tackle more complex systems o Produce more reliable and malleable systems o Shorten the delivery cycle o Reduce costs

17 Failures in Software Development Some common causes for Failure:  Deadlines that cannot be met  Budgets that have been exceeded  Solutions that don’t work  Systems too complex to maintain  Customer’s requirements not fully understood or captured correctly  Customers continually change their requirements  Customers are not committed to the project

18 How does the Object-oriented SDLC help to overcome these problems in Software Development? The system under development is refined and transformed through analysis, design, code and test phases – details are added in successive iterations (changes and improvements are introduced as needed) and incremental releases of software modules are delivered. System design – developing information systems using UML by Leszek A. Maciaszek (page 5, 2001)

19 Object-oriented SDLC Iterative Development

20 Object Oriented Software Development Methodology Allows for reusability or sharing of code Reduces the development time for an application

21 SDLC Variations Developers encounter many variations of SDLC in practice. Based on:variations  Phases  Iterations  Emphasis on people  Speed of development BUT you have to understand the basic methodology before you can vary it

Object-Oriented Approach Views information systems as collections of interacting objects that work together to accomplish tasks  Objects interact with each other in order to carry out the logic in scenarios in use cases  Classes define the behaviour of the objects and the attributes (properties) of the objects

Object-Oriented Approach to Systems