1. 2  Have a basic understanding of the fundamental principles of object-oriented software development.  Understand a selection of the design patterns.

Slides:



Advertisements
Similar presentations
Agile Modeling Emitzá Guzmán Agile Modeling.
Advertisements

SE205 Software Engineering
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Development Life-Cycle Models
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Systems Analysis and Design in a Changing World, 6th Edition
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Agile Project Management with Scrum
Object-Oriented Analysis and Design
Copyright 2012 Ethicsoft Technologies.1 Introduction to Agile Model Driven Development (AMDD)
Copyright Scott W. Ambler1 Introduction to Agile Model Driven Development (AMDD) Scott W. Ambler Senior Consultant, Ambysoft Inc.
Agile
Agile Modelling in Software Engineering Audrey Nemeth, Vladimir Borisov.
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
COMP 350: Object Oriented Analysis and Design Lecture 2
An Agile View of Process
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Development Process
Agile Software Development What is Agile? And How are we implementing Agile?
Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
Chapter 4 Agile Development
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
Agile Modeling Theory. 2 Agile Modeling (AM) AM is a chaordic, practices-based process for modeling and documentation AM is a collection of practices.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 8 - Approaches to System Development.
Object-Oriented Analysis and Design An Introduction.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
CPSC 371 John D. McGregor Session 32 This is it..
CS3100 Software Project Management Agile Approaches.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agile febrian | erlien | beny | ragnar | billy. SLDC Methodologies.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Class Diagrams, MVC and Design Patterns CS153P Session 4.
Agile Development GROUP 8 Agnes Fitria Utami Erni Hanna Septiani Novie Ratna Sari Lianto
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Software Engineering Process
Iterative and Agile Development
THE BOOCH METHODOLOGY.
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Copyright Scott W. Ambler1 Introduction to Agile Model Driven ( Senior Consultant, Inc.
Agile Software Development
Rosa María Torres de Paz
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Agile Development – a new way of software development?
Chapter 5: New and Emerging Process Methodologies
System Development Methods
Presentation transcript:

1

2

 Have a basic understanding of the fundamental principles of object-oriented software development.  Understand a selection of the design patterns of Gamma et al.  Understand the basics of UML 2.0 and of Use Case Maps  Practice Agile OO Development via a team project 3

4

Requirements Models Requirements Models Requirements Capture Analysis Design Analysis Models Analysis Models Design Models Design Models Implementation Models Implementation Models Test Models Test Models Requirements Doc. Use Cases Domain Objects Objects -structure -scenario -behavior Objects -structure -scenario -behavior Code Test Plan, Test Cases Test Drivers & Results Implement Testing 5

 A development process defines the set of models that are to be used by designers and the order in which these models are used ◦ Each model must have a well-defined role in the process ◦ When defining the process, the models must be chosen based on the domain concepts that need to be modeled:  Is OO relevant to the problem at hand?  e.g., OO is particularly well suited for event-driven systems  Is software evolution a concern or not?  Is software quality a concern or not? 6

Requirements Capture Analysis Design Implement Testing Activities carried out one after the other as steps “The Big Bang approach to software development” “The Big Bang approach to software development” 7

Requirements Capture Analysis Design Implement Testing The Spiral Model 8 Can have macro and micro iterations but needs to converge

 Traceability is required to achieve convergence: ◦ We must document the continuity that must exist between the work- products of different activities. ◦ In turn, continuity enables completeness and consistency checks.  Within a particular activity, the work-products must be consistent: ◦ e.g., the structural, scenario and behavior models must be consistent  For example, if an interaction diagram shows an object receiving a message, then the FSM of this object must reflect this possibility  Work-products must also be complete with respect to the current requirements. 9

Requirements Models Requirements Models Requirements Capture Analysis Design Implement Test Analysis Models Analysis Models Design Models Design Models Implementation Models Implementation Models Test Models Test Models Requirements Models Requirements Models Requirements Models Requirements Models Analysis Models Analysis Models Analysis Models Analysis Models Design Models Design Models Design Models Design Models Implementation Models Implementation Models Implementation Models Implementation Models Test Models Test Models Test Models Test Models Intra-iteration Traceability Inter-iteration Traceability 10

Problem Description Use Case 1Use Case 2Use Case 3 MSCs UCMs FSMs and/or code Inter-scenario relationships Reqs Is it traceable?

The Agile Manifesto–a statement of values Process and tools Individuals and interactions over Following a plan Responding to change over Source: Comprehensive documentation Working software over Contract negotiation Customer collaboration over

Some Core Principles ◦ Assume Simplicity ◦ Expect Incremental Change ◦ Enabling the Next Effort is Your Secondary Goal ◦ Model With a Purpose ◦ Use Multiple Models ◦ Maximize Stakeholder Investment ◦ Value Quality first ◦ Get Rapid Feedback ◦ Software Is Your Primary Goal Some Core Practices ◦ Active Stakeholder Participation ◦ Apply the Right Artifact(s) ◦ Collective Ownership ◦ Create Several Models in Parallel ◦ Create Simple Content ◦ Depict Models Simply ◦ Display Models Publicly ◦ Model in Small Increments ◦ Model With Others ◦ Prove it With Code ◦ Use the Simplest Tools