Object Technology and RUP. Software Economics: The Motivation for Object Technologies and Iterative Development
|
|
- Neal Jenkins
- 7 years ago
- Views:
Transcription
1 Object Technology and RUP Software Economics Why Objects? RUP - Architecture Viewpoint Large System Development Using Subsystems Software Economics: The Motivation for Object Technologies and Iterative Development - Craig Laiman Software A Risky Business Business as usual is not working. Not Compl eted 30% Source: Standish Report, 1994 Compl eted 70% All based on waterfall lifecycle. 53% cost almost 200% of original estimate. Estimated $81 billion spent on failed U.S. projects in Faulty Assumption 1: Requirements can be Fairly Accurate Applied Software Measurement, Capers Jones, Based on 6,700 systems. Creeping Req's as % of Orig Project Size in Function Points Faulty Assumption 2: Requirements are Stable The market changes constantly. Faulty Assumption 3: The Design can be Done, before Programming Ask a programmer. Requirements are incomplete and changing. The technology changes. The goals of the stakeholders change. Too many variables, unknowns, and novelties. A complete specification must be as detailed as code itself. Software is very hard. Discover Magazine, 1999: Software characterized as the most complex machine humankind builds. 1
2 Person Months Effort The Danger of Large Steps Project Size in Function Points Sobrce: Appliebd Software Measurement, Capers Jones, Based on 6,700 systems. SLOC/Person Month Productivity The Danger of Large Steps Project Size in KSLOC Source: Measures For Excellence, Putnam, Based on 1,600 systems. The Voice of Experience and Research In 1994, the DOD dropped their waterfall 2167A specification, because of abysmal failure. They now encourage an iterative process. Virtual every publication on software development process written in the last 5 years has advocated replacing a waterfall with an iterative lifecycle. The Unified Software Development Process Applying UML and Patterns Software Project Management Succeeding with Objects Object Solutions Surviving Object-oriented Projects. Therefore... Iterative Development Small steps, feedback and refinement. Iterative, incremental, time-boxed. AKA evolutionary, spiral,... A Popular Iterative Process The Rational Unified Process Iteration 1 Iteration 2... Analyze Design Code, Test, Integrate Analyze Design Code, Test, Integrate 2 weeks 2 weeks 2
3 Other Code Test Design The Cost of Change Strategic rational system development plans are based on the complete cost of a system, not solely on development costs. Randomly selected U.S. government software projects: Used but extensively reworked or later abandoned 19% The Cost of Change Used after changes 3% Used as delivered 2% Delivered but never successfully used 47% Doc Source: DP Budget, Vol. 7, No. 12, Dec Revise & Maintain Paid for but not delivered 29% Source: US Government Accounting Office. Report FGMSD The Cost of Change An AT&T study indicated that, on average, Why Object Technology? Prime software problems are Lowering the cost and time of change Increasing the ease of adaptability Fact: Object technology is especially good at Reducing the time to adapt an existing system (quicker reaction to changes in the business environment). Reducing the effort, complexity, and cost of change. Why Object Technology? What about reuse? The Corporate Use of OT, Dec 1997, Cutter Group. Prioritized reasons for adopting OT: 1. Ability to take advantage of new operating systems and tools 2. Application maintenance Note high priority 3. Cost savings 4. Development of revenue-producing applications 5. Encapsulation of existing applications 6. Improved interfaces 7. Increased productivity 8. Participation in "the future of computing" 9. Proof of ability to do OO development 10. Quick development of strategic applications 11. Software reuse Note low priority What about reuse? Why Object Technology Reuse is a good and worthy goal, but you will discover that the real power and advantage of OT is its capacity to support easily adaptable systems. Unfortunately, reuse is hard, and expert OT organizations see little of it. The issues are more organizational than technical. 3
4 Object Reuse Versus Cohesive Framework Reuse Reuse at What Level? Research shows no relationship between increased reuse and collecting a library of reusable components from prior projects. Communications of the ACM, pp June, Reuse is not usually achieved or worthwhile at the objectlevel. Focus on: The organizational factors to support reuse. Software Reuse (Griss) A culture of framework creation and use. Reuse of architecture, analysis and design patterns. Reuse at the Framework Level Where do expert OT organizations see some reuse? With frameworks. Why Object Technology? Another non-technical, but non-trivial reason is... Ability to attract and retain talented software engineers. However, effective reusable framework creation requires: Very skilled object designers/programmers. OT is the undisputed hot technology for the foreseeable future, and it is not easy to retain talent unless an IT organization is using it. Why Object Technology? Organizations usually start the adoption thinking OT will lead to shorter development time, more reuse, better productivity. Unfortunately, that does not usually happen. However, they do discover something useful and powerful... It takes complexity to manage complexity. R. Martin, Editor of C++ Report, co-author of Object- Oriented Analysis and Design, with Grady Booch. Why Object Technology? The value of OT (OOA&D, OOP) primarily lies in its ability to handle complex problems and create comprehensible, manageable systems that can scale up to increasing complexity, and that are easily adaptable if designed skillfully. Craig Larman 1. Elegantly tackle complexity & create easy adaptability. The productivity is realized in the maintenance or modification phases of 9. Productivity a system often with profoundly faster 10.Reuse changes, if the system was designed skillfully. 4
5 5
6 6
7 Object Modeling with OMG UML Tutorial Series Advanced Modeling with UML - Subsystems Karin Palmkvist, Bran Selic, Jos Warmer and Nathan Dykman UML Revision Task Force Subsystem What are Subsystems? Core Concepts Diagram Tour When to Use Subsystems Modeling Tips OMG and Contributors: Crossmeta, EDS, IBM, Enea Data, Hewlett-Packard, IntelliCorp, Kabira Technologies, Klasse Objecten, Rational Software, Telelogic, Unisys Subsystem Subsystem Example Traffic Control Subsystems are used for system decomposition Communicating subsystems constitute a system Subscription 7
8 Subsystem Core Concepts Construct Description Syntax A grouping of model elements that represents a behavioral unit in a physical system. Name Subsystem Aspects A subsystem has two aspects: An external view, showing the services provided by the subsystem An internal view, showing the realization of the subsystem There is a mapping between the two aspects Subsystem Aspects Subsystem Realization Realization elements Realization elements? A subsystem has a specification and a realization to represent the two views The subsystem realization defines the actual contents of the subsystem The subsystem realization typically consists of classes and their relationships, or a contained hierarchy of subsystems with classes as leaves Subsystem Specification Realization elements? Subsystem Specification The subsystem specification describes the services offered by the subsystem describes the externally experienced behavior of the subsystem does not reveal the internal structure of the subsystem describes the interface of the subsystem The subsystem specification defines the external view of the subsystem 8
9 Specification Techniques Use Case Approach Realization elements The Use Case approach The State Machine approach The Logical Class approach The Operation approach and combinations of these. For subsystem services used in certain sequences When the specification is to be understood by nontechnical people Use Case Approach Example Realization elements State Machine Approach Stopped Running Operator Subscription Change Digit Analysis Information Initiate Call Receive Digit and Connect Hook Signal and Disconnect Error Maintenance Exhausted For subsystems with state dependent behavior Focuses on the states of the subsystem and the transitions between them Logical Class Approach Analyzer Network Manager Number Dictionary When usage of the subsystem is perceived as manipulation of objects When the requirements are guided by a particular standard Operation Approach Operations initiateconnection ( ) dialleddigit ( ) throughconnect ( ) banswer ( ) bonhook ( ) aonhook ( ) For subsystems providing simple, atomic services When the operations are invoked independently 9
10 Mixing Techniques Complete Subsystem Notation Operations changedigitanalysisinformation (...) Operations Realization elements Initiate Call Subscription Receive Digit and Connect Hook Signal and Disconnect The complete subsystem symbol has three pre-defined compartments Each of the compartments may be optionally omitted from the diagram Subsystem Interfaces Operations and Interfaces Traffic Control Subscription «Interface» operation1( ) operation2( ) operation4( ) «realize» Operations operation1( ) : Type1 operation2( ) : Type2 «realize» «Interface» operation2( ) operation3( ) operation5( ) operation3( ) : Type3 operation4( ) : Type4 operation5( ) : Type5 Traffic Control Subscription The subsystem must support all operations in the offered interfaces «Interface» «realize» Subsystem Interfaces «realize» «Interface» An interface operation may alternatively be supported by a specification element of the subsystem Specification Realization The specification and the realization must be consistent The mapping between the specification and the realization can be expressed by: realization relationships collaborations 10
11 Realize Relationship Realize Example Operations operation1( ) : Type1 operation2( ) : Type2 operation3( ) : Type3 «realize» Realization Elements operation1( ) Operations changedigitanalysisinformation ( ) Realization elements «realize» operation4( ) : Type4 operation5( ) : Type5 Initiate Call Receive Digit and Connect changedigitanalysisinformation ( ) : Realization is particularly useful in simple mappings Subscription Hook Signal and Disconnect Collaboration A collaboration defines the roles to be played when a task is performed The roles are played by interacting instances Collaboration Notation Collaboration Role role name Sequence Diagram : : :Subscription markbusy Collaboration Diagram 2: dialleddigit 3: dialleddigit 6: banswer : Class role name role name role name dialleddigit 4: throughconnect dialleddigit : throughconnect Answer markbusy 1: markbusy 5: markbusy :Subscription A collaboration and its participants Collaboration Example Subsystem Interaction Realization elements Initiate Call Network Interface Receive Digit and Connect Coordinator Analysis Database Hook Signal and Disconnect Collaborations are useful in more complex situations 1:transmit 3:ack 4:receive 2:send
12 Communicating with Subsystems Two approaches: Open subsystem - public elements are accessed directly Closed subsystem - access via the subsystem itself Open Subsystems -B +A «import» +TC::A -C +B A subsystem is called open if its realization is used directly by the environment The specification acts as an overview of the subsystem as a requirements specification Closed Subsystems +A -B -C +B A subsystem is called closed if its realization is not directly used by the environment The specification acts as an overview of the subsystem as a requirements specification as a specification of how to use the subsystem Subsystem Instance : A subsystem instance is the runtime representation of a subsystem. Its task is to handle incoming stimuli Subsystem Inheritance A subsystem with a generalization to another subsystem inherits public and protected elements that are owned or imported by the inherited subsystem Both specification elements and realization elements are inherited Operations are also inherited Diagram Tour Subsystems can be shown in static diagrams and interaction diagrams Fork notation alternative for showing contents: Realization elements Realization elements 12
13 Diagram Tour continued Subsystems can be shown in interaction diagrams collaboration diagrams sequence diagrams Sequence Diagram When to Use Subsystems To express how a large system is decomposed into smaller parts Distributed development To express how a set of modules are composed into a large system For component based development «call» ArtStore Client «call» Component Based Development ShoppingCart Specification Elements «Interface» ShoppingCartHome create( ) findbyprimarykey( )... «Interface» ShoppingCart getitemcount( ) setitemcount( ) gettotal( ) settotal( )... Realization Elements «auxiliaryclass» HomeObject «auxiliaryclass» RemoteObject «call» «call» ShoppingCart Home ShoppingCart «focalclass» ShoppingCart Impl Context «auxiliaryclass» ContextObject An EJB component modeled using a subsystem and classes stereotyped «focalclass» or «auxiliaryclass» «auxiliaryclass» ShoppingCart DBbroker Modeling Tips Subsystem Define a subsystem for each separate part of a large system Choose specification technique depending on factors like kind of system and kind of subsystem Realize each subsystem independently, using the specification as a requirements specification
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
More informationA UML Introduction Tutorial
A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software
More informationChapter 3. Technology review. 3.1. Introduction
Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in
More informationSoftware Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe
More informationIn this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
More informationTo introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationTOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
More informationSoftware Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
More informationApplying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
More informationHow To Design Software
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies
More informationHow To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
More informationHow To Develop A Telelogic Harmony/Esw Project
White paper October 2008 The Telelogic Harmony/ESW process for realtime and embedded development. Bruce Powel Douglass, IBM Page 2 Contents 3 Overview 4 Telelogic Harmony/ESW core principles 6 Harmony/ESW
More informationChapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
More informationSoftware development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)
More informationSoftware Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
More informationCHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
More informationAnnouncements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions
Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group
More informationCSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models
CSC 492 The Practice of Software Engineering Lecture 3 University of Mount Union Software Life Cycle Models Software Life Cycle Models Every program (no matter what size) has several distinct phases that
More informationPROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: bednar@fit.vutbr.cz Supervised by:
More informationObject-oriented design methodologies
Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard
More informationBusiness Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
More informationCHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)
CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD) 1. INTRODUCTIONS RAD refers to a development life cycle designed Compare to traditional life cycle it is Faster development with higher quality
More informationIncorporating Aspects into the UML
Incorporating Aspects into the UML Mark Basch University of North Florida Department of Computer and Information Sciences Jacksonville, FL 32224-2645 (904) 620-2985 basm0001@unf.edu Arturo Sanchez University
More informationCS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
More informationA Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More information10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design
Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development
More informationIV. Software Lifecycles
IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle
More informationObject Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
More informationEngineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
More informationSoftware Life Cycle Processes
Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more
More informationMasters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
More informationTRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
More informationIntroduction to Software Paradigms & Procedural Programming Paradigm
Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,
More informationSoftware Paradigms (Lesson 1) Introduction & Procedural Programming Paradigm
Software Paradigms (Lesson 1) Introduction & Procedural Programming Paradigm Table of Contents 1 Introduction... 2 1.1 Programming Paradigm... 2 1.2 Software Design Paradigm... 3 1.2.1 Design Patterns...
More informationSyllabus M.C.A. Object Oriented Modeling and Design usung UML
I Syllabus M.C.A. (Semester IV) Object Oriented Modeling and Design usung UML INTRODUCTION An overview - Object basics - Object state and properties, Behavior, Methods, Messages. Object Oriented system
More informationIn this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice
In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities
More informationQuestions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
More informationFourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
More informationA Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
More informationSurveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
More informationComponent Based Development Methods - comparison
Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier
More informationLecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
More informationSoftware Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
More informationAnalysis and Design with UML
Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order
More informationRational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02
Rational Unified Process for Systems Engineering RUP SE1.1 A Rational Software White Paper TP 165A, 5/02 Table of Contents INTRODUCTION...1 BUSINESS MODELING...3 SYSTEM ARCHITECTURE...4 SYSTEM ARCHITECTURE
More information11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
More informationClassical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
More informationISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, rob@cl.uh.edu ABSTRACT In recent years, there has been a surge of
More informationUSING DEFECT ANALYSIS FEEDBACK FOR IMPROVING QUALITY AND PRODUCTIVITY IN ITERATIVE SOFTWARE DEVELOPMENT
USING DEFECT ANALYSIS FEEDBACK FOR IMPROVING QUALITY AND PRODUCTIVITY IN ITERATIVE SOFTWARE DEVELOPMENT Pankaj Jalote Department of Computer Science and Engineering Indian Institute of Technology Kanpur
More informationA complete software development process of a general report publication service implemented using Web Services
A complete software development process of a general report publication service implemented using Web Services Anders Nilsson & Klas Fahlberg February 1, 2008 Master s Thesis in Computing Science, 2*30
More informationSoftware Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems
Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software
More informationObjectives. The software process. Basic software process Models. Waterfall model. Software Processes
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
More informationA Review of an MVC Framework based Software Development
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
More informationAnd the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?
System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in
More informationIncreasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
More informationSoftware Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
More informationAsset Based Development
IBM Software Group Asset Based Development Grant Larsen gjlarsen@us.ibm.com November 2003 Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started Agenda Introduction
More informationCS314: Course Summary
CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need
More informationGenerating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
More informationSystematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
More informationSWEBOK Certification Program. Software Engineering Management
SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
More informationArchitecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/
Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1
More informationSoftware Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
More informationSystems Analysis and Design
Systems Analysis and Design Slides adapted from Jeffrey A. Hoffer, University of Dayton Joey F. George, Florida State University Joseph S. Valacich, Washington State University Modern Systems Analysis
More informationFundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development
Fundamentals of Information Systems, Fifth Edition Chapter 8 Systems Development Principles and Learning Objectives Effective systems development requires a team effort of stakeholders, users, managers,
More information2. Analysis, Design and Implementation
2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,
More informationwww.iacpe.com Knowledge, Certification, Networking
www.iacpe.com Knowledge, Certification, Networking Page : 1 of 95 Rev. 01- Feb 2016 IACPE No 19, Jalan Bilal Mahmood 80100 Johor Bahru Malaysia Introduction to Software Engineering The International of
More informationIntroduction. UML = Unified Modeling Language It is a standardized visual modeling language.
UML 1 Introduction UML = Unified Modeling Language It is a standardized visual modeling language. Primarily intended for modeling software systems. Also used for business modeling. UML evolved from earlier
More informationUnit 1 Learning Objectives
Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction
More informationSYSTEMS ANALYSIS DESIGN
SYSTEMS ANALYSIS DESIGN Third Edition ALAN DENNIS Indiana University BARBARA HALEY WIXOM University of Virginia ROBERTA M. ROTH University of Northern Iowa WILEY John Wiley & Sons, Inc. http://www.wiley.com/college/dennis
More informationUser experience storyboards: Building better UIs with RUP, UML, and use cases
Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements
More informationCHAPTER. Software Process Models
CHAPTER Software Process Models 4 Chapter Objectives Introduce the generic concept of software engineering process models. Discuss the three traditional process models. Waterfall Incremental Spiral Discuss
More informationSoftware Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci
Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental
More informationCore Issues Affecting Software Architecture in Enterprise Projects
Core Issues Affecting Software Architecture in Enterprise Projects Halûk Gümüşkaya Abstract In this paper we analyze the core issues affecting software architecture in enterprise projects where a large
More informationSoftware Development in the Large!
Software Development in the Large! Peter Eeles Executive IT Architect, IBM peter.eeles@uk.ibm.com IBM Rational Software Development Conference 2007 2007 IBM Corporation Agenda IBM Rational Software Development
More informationAgile Development and Software Evolution
Agile Development and Software Evolution Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Software Lifecycle Textbook view: Req's Analysis Design Construction Testing Transfer
More informationOutline. Definitions. Course schedule
SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week
More informationWhite Paper IT Methodology Overview & Context
White Paper IT Methodology Overview & Context IT Methodologies - Delivery Models From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the
More informationBasic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
More informationDesign Patterns for Complex Event Processing
Design Patterns for Complex Event Processing Adrian Paschke BioTec Center, Technical University Dresden, 01307 Dresden, Germany adrian.paschke AT biotec.tu-dresden.de ABSTRACT Currently engineering efficient
More informationChapter 3 Technology adapted
Chapter 3 Technology adapted 3.1 Introduction In developing a web enabled solution for laboratory data and document management, there are several options available for system analysis and designing, documentation
More informationHow To Understand The Software Process
Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team
More informationSystem development lifecycle waterfall model
Slide 6.1 System development lifecycle waterfall model Figure 6.1 The waterfall model of system development lifecycle Slide 6.2 The b model Figure 6.2 The b model Source: N D Birrell and M A Ould, A Practical
More informationRequirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK
IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational
More informationSOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
More informationTitle: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
More informationSoftware Development Process
Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More informationLecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.
COM 401 Software Engineering Lecture Overview Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes Prof. Dr. Halûk Gümüşkaya haluk.gumuskaya@gediz.edu.tr
More information3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
More informationAssuming the Role of Systems Analyst & Analysis Alternatives
Assuming the Role of Systems Analyst & Analysis Alternatives Nature of Analysis Systems analysis and design is a systematic approach to identifying problems, opportunities, and objectives; analyzing the
More informationChapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
More informationCS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
More informationI219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
More informationSoftware Development Challenges
Software Development Challenges Hard to develop? Why is it hard to develop software within budget and time? Quality of code When you say it s done, what do you mean? How good is the code you write? SDC-
More informationChapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World
Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify
More informationQuotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
More informationSoftware Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model
Software Design Design (I) Software Design is a process through which requirements are translated into a representation of software. Peter Lo CS213 Peter Lo 2005 1 CS213 Peter Lo 2005 2 Relationships between
More information