CEN5011, Fall 19991 CEN5011 Software Engineering Dr. Yi Deng ECS359, (305) 348-3748

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS487 Software Engineering Omar Aldawud
Chapter 3 Process Models
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Rational Worldwide Software Symposium
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Iterative development and The Unified process
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Principles of Object Technology Module 1: Principles of Modeling.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
CPTE 209 Software Engineering Summary and Review.
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
Software Engineering Chapter 12 The Generic Iteration Workflow Fall 2000.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Chapter 1: Introduction to Systems Analysis and Design
Object Oriented Design and Analysis Rational Unified Process.
Chapter – 9 Checkpoints of the process
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
The Rational Unified Process 1 EECS810: Software Engineering.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Object oriented analysis and design 1 Software Development Life Cycle (SDLC)
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Software Development Framework
TK2023 Object-Oriented Software Engineering
School of Business Administration
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Process Source & Courtesy: Jing Zou.
Rational Worldwide Software Symposium
Rational Worldwide Software Symposium
Software engineering -1
Rational Worldwide Software Symposium
Presentation transcript:

CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)

CEN5011, Fall Bottom Lines of Software Project COST, TIME, QUALITY not necessarily in that order

CEN5011, Fall Unified Process A software development process - A set of activities needed to transform a user's requirements into a software system –What constitutes a software system? The CODE? Also a generic process framework that can be specialized to different types of –Application problems, –Application areas, –Organizations –Project sizes Uses UML –Relationship between design language, method and process UML an integral part of UP

CEN5011, Fall Unified Process - cont’d Is Use-Case driven –Use-Case - a piece of functionality in the system that is visible (or usable) to a user (not necessarily human user) –All use-cases made up the Use-Case Model, which replaces traditional functional specification. –Use-case model represents functional specification of the system FOR EACH USER - has important implications –Not only for requirement specification, but also drives design, implementation, testing, i.e. development process

CEN5011, Fall Unified Process - cont’d Is Architecture-Centric –What is architecture? –A view of the whole design with the important characteristics made more visible by leaving details aside –Every product has both FUNCTION and FORM; these two cases must be balanced for a success product –Use-case corresponds to function, architecture to form Relationship and interplay of use-case and architecture

CEN5011, Fall Unified Process - cont’d Is Iterative and Incremental –Issues of complexity and evolution –Issue of Risks –Issues of changing requirements, platforms, and technology –Controlled (planned) iteration vs. random iteration

CEN5011, Fall Lifecycle of Unified Process  Is a cycle with four phases and their iterations (Fig. 1.3)  Inception - seed idea of development is being matured and to warrant entering the elaboration phase. Use-case model defined  Elaboration - architecture is defined  Construction  Transition - software is turned into the hands of the user community

CEN5011, Fall Four Phases of Unified Process

CEN5011, Fall Lifecycle of Unified Process - cont’d  Each cycle results in a new release - a new product  What's in a product  Requirements, use cases, non-functional requirements, test cases, executable code, etc.  A product needs to meet the needs of all important stakeholders, who needs different elements of a product (Fig. 1.4)  Traceability between different models

CEN5011, Fall Products of Stakeholders

CEN5011, Fall Lifecycle of Unified Process - cont’d  Phases within a cycle Phase terminates by a milestone, the availability of a set of artifacts Purpose of milestone - evaluation of process and make critical decisions before work can proceed to the next phase. Concept of software baseline Typical iterations of workflow in a cycle (Fig 1.5)

CEN5011, Fall Process Workflow

CEN5011, Fall Key Elements of Software Development People - stakeholders Project - specialization of process Process - set of organized developed activities, template for project Product - outcome of project Tools - process automation

CEN5011, Fall Key Elements of Development

CEN5011, Fall People Factors that affect the effectiveness of people –Development process affect people –Project feasibility –Risk management –Team structure –Project schedule –Project understandability –Sense of accomplishment

CEN5011, Fall Projects Make the Product A project “is” a sequence of changes A project “is” a series of iterations A project follows an organization pattern –for people –for planning –for management

CEN5011, Fall Product Is More Than Code What is a software system? (fig. 2.3) –Code –Requirements, tests, sales, production, installation, operation, … –Different stakeholders sees different parts of the system A system has a collection of MODELS What is a model? –An abstraction of a system –A self-contained view of the system –The system is in the eye of beholders (or stakeholders) System development is a process of modeling building –Key: what models to build and what relationship holds between models

CEN5011, Fall Multiple Facets of System

CEN5011, Fall Process Directs Projects Software development process –Complete set of activities needed to transform users’ requirements into a consistent set of artifacts that represents a software product and, later, to transform changes in those requirements into a new, consistent set of artifacts A process is a template –In other works, a process is a definition of activities, not their execution –Process needs to be instantiated or specialized for individual projects –Should cover entire software lifecycle

CEN5011, Fall Specializing Process No universally applicable process Why? –Organizational factors: structure, culture, project organization & management, competence & skill levels, prior experience, etc. –Domain factors: application domain, e.g. mission critical v.s. word processor, real-time v.s. batch processing, user community, market competition, etc. –Lifecycle factors: time to market, expected life span, planned future releases, etc. –Technological factors: programming languages, development tools, databases, middleware, communication & distribution, etc. Bottom line: general process needs to be specialized

CEN5011, Fall Why Process? Bottom line: software development is a complex, risky, expensive and people-intensive venture Mutual understanding of roles, responsibilities, dependence, communication and coordination among developers and customers Orderly development Improved quality and predictivity of software Standardized training Repeat-ability of successful projects and continuous organizational improvement Improved productivity?

CEN5011, Fall Tools Essential to modern, complex development Tools impact process –Formalized development process involves large amount of information and coordination –Automation is essential –e.g. software configuration management tools Process drive tools –Process specifies the tool functionality –Judging feasibility of tools in terms of their support to particular process Balance process and tools –Process drives tool development, tool guides process