A comparison of BON and Hodge-Mock. oriented software development methodologies

Size: px
Start display at page:

Download "A comparison of BON and Hodge-Mock. oriented software development methodologies"

Transcription

1 A comparison of BON and Hodge-Mock software development methodologies December 2012 Abbas Naderi Afooshteh Sharif University of Technology 1. Introduction This whitepaper intends to provide a comparison between two object oriented software development methodologies based on a criteria introduced in the next section. Better Object Notation (BON) was coined by Jean-Marc Nerson and Kim Waldén at 1989 to act as a substitute for the UML. It was renamed Business Object Notation later at 1993 and still maintains its practices at its official homepage, Hodge-Mock on the other hand, was crafted to satisfy the needs of industry for an air traffic control system, then generalized and published as a paper on March Both methodologies claim to provide best practices of software development methodologies of their time, though many of these claims are proven wrong in practice. The document is composed of three main sections; in the first section, the criteria of comparison is described. The second section describes each methodology briefly, then summarizes its strengths and weaknesses. Last section provides a comparison of the two in an easily graspable approach. 2. Criteria The criteria described below is used as the framework of assessment for software development methodologies. It consists of 11 statements and is based on the paper by Ramsin et all [3]. I. Clarity, rationality, accuracy and consistency of definition II. III. Coverage of the generic development lifecycle activities (Analysis, Design, Implementation, Test, Maintenance) Support for umbrella activities, especially including: A. Risk Management B. Project management C. Quality assurance IV. Seamlessness and smoothness of transition between phases, stages and activities V. Basis in the requirements (functional and non-functional) VI. Testability and tangibility of artifacts, and traceability to requirements VII. Encouragement of active user involvement VIII.Practicability and practicality IX. Manageability of complexity X. Extensibility, configurability, flexibility, scalability

2 XI. Application Scope These criteria are refenreced by their respective roman numbers frequently in the rest of this document. 3. Business Object Notation (BON) Nerson introduced BON as an alternative for UML which intended to be more traceable and have smoother transition between phases [2]. Due to relatively young nature of object oriented methodologies at the time of it's writing, many existing approaches lacked smoothness of transition (IV) and traceability of artifacts to requirements and to former phase artifacts (VI). Despite its name, BON is not just a notation. It includes well described processes for most of the SDLC (II). The rest of this section describes key features of BON as described in the late paper. (a) Analysis BON emphasizes clearly on looking for classes instead of detecting processes in the existing organization, which was the common habit of analysits in structural programming days. It suggests looking for Data Abstractions to become classes and attach services to themselves, instead of looking for services to later attract data. It also encourages clustering classes based on three gouping criteria; subsystems, abstraction levels and end user standpoint (coupling of classes). Clustering is a key feature of BON and helps a great deal in code reuse and in modeing complex systems. For this purpose, a cluster chart is drawn, showing classes in clusters and their definitions and roles. To achieve this smoothly (IV), the suggested approach is to start with a general cluster, then divide it by refactoring classes based on the triple criteria mentioned above. Figure 1: BON Cluster Chart BON is inspired by CRC for having collaborative requirement gathering and object charts in analysis phase (V). Then a dynamic model is required depicting parts of system behavior, and a static model which shows structure of the system. External events are listed so that boundary classes could be marked by tracing external events (events that are not predicted by the system). They are categorized as either a class, or as an input to a class. Internal events are also defined as timerelated stimuli which can be relative or absolute. The object communication protocl is then derived from them. The dynamic model is mostly based on these events and ensures that objects can successfully reach each other.

3 Figure 2: BON Event Chart Figure 3: BON Class Chart Then Class Chart is sketched from intial list of classes in a table with 3 columns, in native textual descriptions. First column holds the question, the information that other classes can ask this one. Second column lists commands, the services this class can provide to others. Third is constraints, the knowledge that the class maintains. In the class chart table, on top of the 3 columns, type of the class and its behavioral resemblance is mentioned for later genspec operations. Class relationships are then classified as either inheritance or client-supplier forms. In the client-supplier form, association and aggregation are the available relationships. (b) Design At first design step, generalization and adding of solution domain classes to the

4 system is performed concurrently. Then class charts which were vague representation of classes are turned into class descriptions, more formal and including almost any structural information a class can hold. Class descriptions also define input/output of methods and their pre/post conditions. Then the behavior resemblance of class charts is turned into inheritance relationships. At this step, indexing takes place, which is commenting, versioning and listing of sources for a class. This is done for code reuse in other projects - which BON puts great value in - and indexes are kept in a repository. Figure 4: BON Class Description A class description hold class features, and entries from class chart columns become comments to these features. Questions are turned into attributes, commands into methods (called procedures in BON) and constraints become assertions and class invariants. It is important to note that BON was loosely coupled with Eiffel programming language, which supported class invariance built-in. Many common object oriented programming languages of today and the BON era lacked this feature, so BON suggests replacing them with some sorts of assertions if not available in the language. Figure 5: BON Indexing Static model which includes class structures and Dynamic model which depics communication protocols between classes are derived afterwards. These models can be big - specially static models - as they include all the classes of the system, and Nerson depics only a subset of the example system's static model in his paper, without describing how to hold such a huge diagram for a vaster system.

5 Figure 6: BON Static and Dynamic Model Notations Then object creation chart is drawn, determining which class is responsible to instantiate objects of other classes. Figure 7: BON Object Creation Table BON classifies data structures into three different types : storage, traversing and access method. It claims that by mixing these three, all sorts of complex data structures could be formed. (c) Generalization The methodology contains an important step before beginning of development. It's intent is to maximumize future reuse of the software, but is only suggested if a large software house is developing the software and there are good chances of reusing software components. The process is done by first designing an initial version of the system, then making specializations from first version and then abstracting high level features to higher level classes. These different layers of genspec operations would have

6 to maintain the interface so that minimum change is required through the software. Finally clusters are more generalized for furthur reuse of a whole cluster in another system. (d) Tools BON - as well as many early 2000s methodologies - considers CASE tools one of the greatest assets in a methodology and it's modeling techniques are inspired by O* and OOSA. It claims scalability via the clustering technique, allowing for a divide and conquer approach to analysis and design, though clustering is done by different approaches and could introduce inconsistencies. The method also claims high reverse engineerability, due to its object oriented nature. BON requires through documentation to maintain traceability, and requires all texts and diagrams to be well documented and traced to each other. Systematic design, is what it claims class invariants achieve. They maintain the order and balance of the whole system by enforcing the intraobject states. Management of components are made easy by the indexing process in BON, this makes for better reuse and maintenance. (e) Development BON does not address development, testing, maintenance and other phases of the SDLC. This is mostly due to the nature of industry at the time of the writing, many companies were already employing mature object oriented development processes, and they only lacked standardized analysis and design phases. 4. Hodge-Mock Hodge-Mock is another noteworthy object oriented software development methodology introduced in early It intended to be used as a guideline for developing a large-scale air traffic control system over a period of few years, thus has enterprise level analysis and design in consideration [3]. Like BON, Hodge-Mock was introduced in an era of industry's heavy use of object oriented programming languages without a proper documentation notation, so it only addresses Analysis and Design. Similar to BON, Hodge-Mock claims that it focuses on Traceability and Transition between phases (IV). It names itself a framework, not a methodology and claims it supports full development lifecycle, though only analysis and design are described. (a) Introduction Hodge-Mock is inspired by many techniques (as it calls them). It categorizes techniques as functional, structural and object-oriented and is based on objectoriented techniques. It also assumes that object orientation is the solution to every software problem, which is plausible considering the peak of object-orientation at its time. The methodology was born to address diversities in object oriented design and implementation methods of its time, and employs many techniques and notations, namely Ward (and Nerson), Coad Yourdon, Booch, Bailin, McMenamin and Palmer (the latter not being object oriented), and tries to unify their strengths.

7 Since it targets an ATC system, reducing development risks are emphasized. Hodge-Mock tries to address 4 commong object oriented problems in earlier works: lack of clear and consistent guidelines on phase lack of guidelines for transision and showing traceability lack of automated tools support lack of practical experienced object oriented staff As with other seminal methods, Hodge- Mock claims it is iterative and cyclic at the same time and supports both systematic (information) view of the system and behavioral (interactive) view. It also relies heavily on CASE tools to check consistency of models on either views. This methodology synthesizes many notations and techniques continually, and its documents and models are refined and enhanced in each phase to ensure traceability. (b) Analysis First step is identifying objects of problem domain by answering the question "what is present within the system and its domain". This task is broken down into 4 stages, namely requirement analysis, information analysis, event analysis and Client Server diagrams, which are performed concurrently. Requirement analysis tries to fix ambiguities and deficiencies in requirement statement. It clarifies constraints such as performance from customer perspective. It also answers the questions "what do I need to know about the problem domain?" and "what and who are sources of information on the problem domain?" and refines requirement statement of the contract. Information analysis, defines data and information of the system which are then turned into objects and their attributes. First ERD diagram is drawn, then ERD is converted into objects by answering "what object does this data element best describe?". Some of the entities are turned into objects and some are made into attributes. Object Relational Diagram (ORD) is then drawn which depics objects, their attributes, sub objects and behavors. Then these objects are grouped into subjects. Afterwards, Object Description (OD) is created, which is a textual description of objects. OCR (Object Cross Reference) is the next model, a table which describes all objects and the services they provide for each other. It is ideal that OCR be generated from OD via CASE tools. Finally inheritance is observed and ID diagram is drawn. Event analysis involes defining behavor of the objects within the system. In this stage, system is considered a stimulusresponse machine which reacts to external stimuli. This part also validates the models derived in other parts of analysis. A list of system activities known as fundamental activities is generated, and custodial activities are added to it. Then System Behavior Scripts (SBS) table is generated. SBD (system behavior diagram) is a state machine derived from SBS, which shows externally visible states of the system.

8 Figure 8: Hodge-Mock ID (Inheritance Diagram) Some new data elements might be added to the system in event analysis, since external stimuli require some data elements to hold and achive state. The others are validated through stimuli navigation. Finally a client server diagram (CSD) is drawn, which shows objects in details and how they interact with each other. These four stages are not only done concurrently, they are done in a cyclic manner until the analysis is deemed complete. Hodge-Mock requires the analysis to be done rigorously and contain precise information, as it is seamlessly transformed into the design. Figure 9: Hodge-Mock SBD The analysis phase does not consider the solution domain, thus storage and processing is considered unlimited. Also the evaluation stage is necessary after a few operations, to ensure that things are going in the way they are intended to go (via customer agreement). (c) System Design System design phase defines detailed behavor and interactions of the system. Hodge-Mock claims that system design phase still assumes unlimited computing and storage powers, but also requires the phase to clarify how the system works (e.g to keep the data in linked lists) which is an inconsistency (I). Additional objects are added to the system and existing objects are refined in this phase. OID (object interaction diagram) is drawn, which is derived closely from CSD but contains more details. Then OBD (object behavior diagram) is derived from OBS onsly for objects that are complex and have inner-states themselves. This diagram is somewhat similar

9 to SBD, but depics object level behavior instead of system level. OD and OCR are refined in a way that OD defines services now, and OCR represent parameters of each service in columns of a table. This is ideally generated with CASE tools from previous work. Evaluation is done by some scenarios (preferably collaborative with customer) and this phase is deemed complete. (d) Software Design Software design phase focuses on implementing the system with a certain programming language for a certain platform. Objects from the solution domain are added to the system in this phase, thus OD, OBD, OID, OBS and OCR are thoroughly expanded, in cases that implementation requiers additional details. Since OD is very platform dependant, most of the OD models are refined by platform specific system calls. Also access specifications (private/public) are defined. Object Processing Diagram (OPD) is then drawn, showing internal processing of objects. Methods are described as public/private in this step, then getter/ setters are defined and input/output parameters of each method are depicted. Hodge-Mock, as well as many late seminal methodologies relies heavily and sophisticated CASE tools for consistency checks and rapid modeling. Figure 10: Hodge-Mock Lifecycle

10 Figure 11: Hodge-Mock ERD Figure 12: Hodge-Mock OD (Object Diagram)

11 Figure 13: Hodge-Mock ORD (Object Relation Diagram) Figure 14: Hodge-Mock OCR

12 Figure 15: Hodge-Mock SBS Figure 16: Hodge-Mock CSD (Client Server Diagram)

13 Figure 17: Hodge-Mock OID (Object Interaction Diagram) Figure 18: Hodge-Mock OBS

14 Figure 19: Hodge-Mock OPD (Object Process Diagram)

15 5. Comparison The two described methodologies are of late seminal methodologies era, when object oriented software engineering was taking its pace and methodologies were getting mature. Since Hodge-Mock is inspired by early BON in some ways, it has a more mature approach than that of BON, e.g naming all models and diagrams clearly instead of just providing visuals for them. Both methodologies omit describing past design phases in their initial paper, and the rationale behind that is mentioned earlier. Below a table containing the defined criteria compares strengths and weaknesses of these two methods relative to each other in a visual and productive manner, and on each criteria, the methodology which is considered more mature by the author, is highlighted and the intensity of highlight depicts the weight of matureness. Criteria BON Hodge-Mock Clarity, rationality, accuracy and consistency of definition Definition is pretty clear and visual representation included. No inconsistency. Rational and accurate, completed by the website. Definition is pretty clear and visual representation included. Some inconsistency. Somewhat rational and accurate. Coverage of the generic development lifecycle activities (Analysis, Design, Implementation, Test, Maintenance) Support for umbrella activities, especially including: I. Risk Management II. III. Project management Quality assurance Seamlessness and smoothness of transition between phases, stages and activities Only analysis and design discussed. Other activities on completed version (web site) No risk management. Some project management (code reuse, indexing, etc.). Little quality assurance. Main focus of the method, but some models are not seamlessly and smoothly converted Only analysis and design discussed. Some implementation notes included. No risk management. Little project management. Good quality assurance (evaluation on each stage). Main focus of the method, mostly seamless, pretty smooth

16 Basis in the requirements (functional and nonfunctional) Based on a method similar to CRC, with some additions Based on requirement statement, refining it with user collaboration Testability and tangibility of artifacts, and traceability to requirements Encouragement of active user involvement Artifacts are not testable unless advanced CASE used. Medium tangibility. Little traceability to requirements. User is not involved after requirement gathering Pretty testable via evaluation scenarios. Artifacts are tangible (naming and visual representation). Requirements refined into artifacts. User is involved in validation and analysis, and by some degree in design Practicability and practicality Some transitions are vague, it is not clear how practical some parts of the process are. It is pretty practicable though. Practical but fairly complex. Requires advanced CASE tools to be practicable. Manageability of complexity Work units are pretty complex at some stages (e.g clustering the whole system, initial analysis) Almost everything is broken down, but still some stages are complex for big systems. Extensibility, configurability, flexibility, scalability Some extension included (clustering, indexing). Not very configurable, mostly suited for proposed group of examples. Average flexibility, allows omitting some stages. Good scalability, supports considerably big systems. Not much extension, but initially for big systems. Not configurable. Somewhat flexible, allows omitting some parts for simple models (pseudocode, intera-object state) Pretty scalabe, intended for huge enterprises. Overally, one can say that BON is more suited for smaller projects, where the vaguness and validation has little cost and does not happen often, and Hodge-Mock is more mature and suited for enterprise level projects, with lots of models and smaller transitions, although both methods are quite similar as they were proposed around the same time and intended to address the same needs.

17 6. References [1] Hodge, L. R., & Mock, M. T. (1992). A proposed object-oriented development methodology. Software Engineering Journal. [2] Nerson, J. (1992). Applying Analysis and Design. Communications of the ACM, 35(9). [3] Ramsin, R., & Paige, R. F. (2010). Iterative criteria-based approach to engineering the requirements of software development methodologies. IET Software, 4(2), 91. doi: /iet-sen [4] Ramsin, Raman, & Paige, R. F. (2004). Process-centred Review of Object Oriented Software Development Methodologies Technical Report Table of Contents. [5] Wald, K., & Nerson, J. (2001). Seamless object-oriented software architecture.

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: OPM and Catalysis 1 Object Process Methodology (OPM) Introduced by Dori in 1995 Primarily intended

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

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

Contents. 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 information

11 Tips to make the requirements definition process more effective and results more usable

11 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 information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

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

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective: CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? 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 information

The Software Lifecycle. Software Lifecycles

The Software Lifecycle. Software Lifecycles The Software Lifecycle Examining the phases of large-scale software development projects Jeff Stephenson Software Lifecycles Software Engineering vs. Programming What you have done for our past assignments

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 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 information

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Announcements. 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 information

Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments.

Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments. Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments Anuraj Gupta Department of Electronics and Communication Oriental Institute

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

Requirements Definition and Management Processes

Requirements Definition and Management Processes Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

3SL. Requirements Definition and Management Using Cradle

3SL. Requirements Definition and Management Using Cradle 3SL Requirements Definition and Management Using Cradle November 2014 1 1 Introduction This white paper describes Requirements Definition and Management activities for system/product development and modification

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Integrated Object-Oriented Methodologies: OPEN and FOOM 1 Object-oriented Process, Environment and Notation (OPEN) First introduced in

More information

2. Analysis, Design and Implementation

2. 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 information

Basic Unified Process: A Process for Small and Agile Projects

Basic 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 information

Requirements Management

Requirements Management REQUIREMENTS By Harold Halbleib Requirements Management Identify, Specify, Track and Control Requirements Using a Standard Process About the author... Harold Halbleib has a degree in Electrical Engineering

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 15 Agile Methodologies: AUP 1 Agile Unified Process (AUP) Proposed by Ambler as a simplified version of the Rational Unified Process (RUP).

More information

Business Process Modeling with Structured Scenarios

Business Process Modeling with Structured Scenarios Business Process Modeling with Structured Scenarios Doug Rosenberg ICONIX Software Engineering, Inc. In 2008, based on our experience with a number of business process engineering projects over the last

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

Functional Validation of SAP Implementation

Functional Validation of SAP Implementation Functional Validation of SAP Implementation Efficiently produce and maintain a SAP test repository thru modeling of business processes and business rules Geoffrey Potoczny/Smartesting Professional Services

More information

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011 Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences

More information

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

Section C. Requirements Elicitation

Section C. Requirements Elicitation This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike License. Your use of this material constitutes acceptance of that license and the conditions of use of materials on this

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In 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 information

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT Mar 31, 2014 Japan Aerospace Exploration Agency This is an English translation of JERG-2-610. Whenever there is anything ambiguous in this document, the original

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT

More information

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

Do you know? 7 Practices for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

More information

Software Development Life Cycle (SDLC)

Software 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 information

Chap 1. Introduction to Software Architecture

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 information

The role of integrated requirements management in software delivery.

The role of integrated requirements management in software delivery. Software development White paper October 2007 The role of integrated requirements Jim Heumann, requirements evangelist, IBM Rational 2 Contents 2 Introduction 2 What is integrated requirements management?

More information

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]

More information

A Framework for Software Product Line Engineering

A Framework for Software Product Line Engineering Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product

More information

The most suitable system methodology for the proposed system is drawn out.

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

SOFTWARE TESTING TRAINING COURSES CONTENTS

SOFTWARE TESTING TRAINING COURSES CONTENTS SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Bidirectional Tracing of Requirements in Embedded Software Development

Bidirectional Tracing of Requirements in Embedded Software Development Bidirectional Tracing of Requirements in Embedded Software Development Barbara Draxler Fachbereich Informatik Universität Salzburg Abstract Nowadays, the increased complexity of embedded systems applications

More information

To introduce software process models To describe three generic process models and when they may be used

To 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 information

Umbrella: A New Component-Based Software Development Model

Umbrella: A New Component-Based Software Development Model 2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

Proven Testing Techniques in Large Data Warehousing Projects

Proven Testing Techniques in Large Data Warehousing Projects A P P L I C A T I O N S A WHITE PAPER SERIES A PAPER ON INDUSTRY-BEST TESTING PRACTICES TO DELIVER ZERO DEFECTS AND ENSURE REQUIREMENT- OUTPUT ALIGNMENT Proven Testing Techniques in Large Data Warehousing

More information

Software 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 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 information

Software 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 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 information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Peter Coad and Edward Yourdon Technische Hochschule Darmstadt FACHBKREICH INFORMATIK BIBLIOTHEK Inventar-Nr.:...A.Q.HA&. Sachg biete:.../??/.4, Standort: YOURQDN PRESS PRENTICE HALL

More information

The value of modeling

The value of modeling The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article

More information

Rose/Architect: a tool to visualize architecture

Rose/Architect: a tool to visualize architecture Published in the Proceedings of the 32 nd Annual Hawaii International Conference on Systems Sciences (HICSS 99) Rose/Architect: a tool to visualize architecture Alexander Egyed University of Southern California

More information

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Milene Serrano 1 and Maurício Serrano 1 1 Universidade de Brasília (UnB/FGA), Curso de Engenharia de Software,

More information

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

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Masters of Science in Software & Information Systems

Masters 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 information

A Design Technique: Data Integration Modeling

A Design Technique: Data Integration Modeling C H A P T E R 3 A Design Technique: Integration ing This chapter focuses on a new design technique for the analysis and design of data integration processes. This technique uses a graphical process modeling

More information

Requirements engineering and quality attributes

Requirements engineering and quality attributes Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................

More information

UNIFACE Component-based. Development Methodology UNIFACE V7.2. 151157206-00 Revision 0 Dec 2000 UMET

UNIFACE Component-based. Development Methodology UNIFACE V7.2. 151157206-00 Revision 0 Dec 2000 UMET UNIFACE Component-based Development Methodology UNIFACE V7.2 151157206-00 Revision 0 Dec 2000 UMET UNIFACE Component-based Development Methodology Revision 0 Restricted Rights Notice This document and

More information

(BA122) Software Engineer s Workshop (SEW)

(BA122) Software Engineer s Workshop (SEW) Training for the Business Analyst (BA122) Software Engineer s Workshop (SEW) Duration: 4 days CDUs (Continuing Development Units): 28 Description: A practical workshop covering the role of the Business-Systems

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

Aligning IT investment and Business

Aligning IT investment and Business IBM Software Group Aligning IT investment and Business The role of requirements management, portfolio management and enterprise architecture Productivity, Governance, Innovation Dr Tariq Aslam 2009 IBM

More information

D6.1: Service management tools implementation and maturity baseline assessment framework

D6.1: Service management tools implementation and maturity baseline assessment framework D6.1: Service management tools implementation and maturity baseline assessment framework Deliverable Document ID Status Version Author(s) Due FedSM- D6.1 Final 1.1 Tomasz Szepieniec, All M10 (31 June 2013)

More information

Assuming the Role of Systems Analyst & Analysis Alternatives

Assuming 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 information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

CT30A8901 Chapter 10 SOA Delivery Strategies

CT30A8901 Chapter 10 SOA Delivery Strategies CT30A8901 Chapter 10 SOA Delivery Strategies Prof. Jari Porras Communications Software Laboratory Contents 10.1 SOA Delivery lifecycle phases 10.2 The top-down strategy 10.3 The bottom-up strategy 10.4

More information

Chapter 8 Approaches to System Development

Chapter 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 information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle

More information

Relational Database Basics Review

Relational Database Basics Review Relational Database Basics Review IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview Database approach Database system Relational model Database development 2 File Processing Approaches Based on

More information

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

SOFTWARE ENGINEERING INTERVIEW QUESTIONS SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering

More information

SysML Modelling Language explained

SysML Modelling Language explained Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling

More information

Integrity 10. Curriculum Guide

Integrity 10. Curriculum Guide Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York Software Project Management A Process-Driven Approach Ashfaque Ahmed CRC Press Taylor Si Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business

More information

Realizing CMMI using Enterprise Architect and UML for Process Improvement

Realizing CMMI using Enterprise Architect and UML for Process Improvement Realizing CMMI using Enterprise Architect and UML for Process Improvement Jack Hunnicutt, Anteon Corporation www.anteon.com Ramsay Millar, integrate IT architects LLC www.integrateitarchitects.com Introduction

More information

A Guide Through the BPM Maze

A Guide Through the BPM Maze A Guide Through the BPM Maze WHAT TO LOOK FOR IN A COMPLETE BPM SOLUTION With multiple vendors, evolving standards, and ever-changing requirements, it becomes difficult to recognize what meets your BPM

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL 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 information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool 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 information

Generating Aspect Code from UML Models

Generating 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 [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0 NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5

More information

Conceptual Model for Enterprise Governance. Walter L Wilson

Conceptual Model for Enterprise Governance. Walter L Wilson Conceptual Model for Walter L Wilson Agenda Define the and Architecture Define a Ground Station as an Business Process Define Define Levels and Types of Introduce Model Define effects of Engineering 2

More information

A Comparison of SOA Methodologies Analysis & Design Phases

A 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 information

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework

More information

A UML 2 Profile for Business Process Modelling *

A UML 2 Profile for Business Process Modelling * A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University

More information

Software Architecture Document

Software Architecture Document COMPREHENSIVE WATERSHED MANAGEMENT WATER USE TRACKING PROJECT Southwest Florida Water Management District 2379 Broad Street Brooksville, FL 34604-6899 Date Revision Description Author Table of Contents

More information

Approach to Service Management

Approach to Service Management Approach to Service Management In SOA Space Gopala Krishna Behara & Srikanth Inaganti Abstract SOA Management covers the Management and Monitoring of applications, services, processes, middleware, infrastructure,

More information

Object Oriented Programming. Risk Management

Object Oriented Programming. Risk Management Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling

More information

Types of UML Diagram. UML Diagrams 140703-OOAD. Computer Engineering Sem -IV

Types of UML Diagram. UML Diagrams 140703-OOAD. Computer Engineering Sem -IV 140703-OOAD Computer Engineering Sem -IV Introduction to UML - UML Unified Modeling Language diagram is designed to let developers and customers view a software system from a different perspective and

More information

Java: Learning to Program with Robots. Chapter 11: Building Quality Software

Java: Learning to Program with Robots. Chapter 11: Building Quality Software Java: Learning to Program with Robots Chapter 11: Building Quality Software Chapter Objectives After studying this chapter, you should be able to: Identify characteristics of quality software, both from

More information

Business Modeling with UML

Business 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 information

a new generation software test automation framework - CIVIM

a new generation software test automation framework - CIVIM a new generation software test automation framework - CIVIM Software Testing is the last phase in software development lifecycle which has high impact on the quality of the final product delivered to the

More information

Modeling the User Interface of Web Applications with UML

Modeling the User Interface of Web Applications with UML Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de

More information

Testing of safety-critical software some principles

Testing of safety-critical software some principles 1(60) Testing of safety-critical software some principles Emerging Trends in Software Testing: autumn 2012 Matti Vuori, Tampere University of Technology 27.11.2012 Contents 1/4 Topics of this lecture 6

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Analysis, Design and Implementation Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Programs to Application Systems Products Software Development:

More information

Design principles in Test Suite Architecture

Design principles in Test Suite Architecture Design principles in Test Suite Architecture InSTA 2015 (International workshop on Software Test Architecture) Graz, Austria 2015/4/13(Mon) Nishi, Yasuharu The University of Electro-Communications, Japan

More information

Advanced Test-Driven Development

Advanced Test-Driven Development Corporate Technology Advanced Test-Driven Development Software Engineering 2007 Hamburg, Germany Peter Zimmerer Principal Engineer Siemens AG, CT SE 1 Corporate Technology Corporate Research and Technologies

More information

Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process

Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process Complete Web Application Security Phase1-Building Web Application Security into Your Development Process Table of Contents Introduction 3 Thinking of security as a process 4 The Development Life Cycle

More information