+ All Categories
Home > Documents > Some Terms To Know Definition and Good Process Models History Advantages and Disadvantages ...

Some Terms To Know Definition and Good Process Models History Advantages and Disadvantages ...

Date post: 05-Jan-2016
Category:
Upload: edward-baker
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
59
Transcript
Page 1: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 2: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Some Terms To Know Definition and Good Process Models History Advantages and Disadvantages Standardization Industry Specific Usage Current and Future Trends Software

Page 3: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Middleware – Software that mediates between an application program and a network.

CORBA – Common Object Request Broker Architecture

UML – Unified Modeling Language MDA – Model Driven Architecture MDE – Model Driven Engineering

Page 4: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

MBT – Model-Based Testing MDD – Model-Driven Development DSL – Domain Specific Languages MBE – Model-Based Engineering OMG – Object Management Group

Page 5: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Loosely defined! The use of diagrams to model data and

specify system behavior. Infinitely different processes? Not to be confused with formal specification

languages such as Z which describe and model computing systems mathematically.

Page 6: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Have mechanisms for preventing, detecting, and correcting errors at each step.

Contradicts some Experts outlook that Model-Based Software Development should be platform independent! (Maybe in years to come)

Page 7: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Models can be described in many different ways: diagrams, tables, text, mathematical formula, etc.

Two Major Types◦ Structure: describe entities that make up the

design of a software system with relationships included.

◦ Behavior: describe how software systems react when provided with inputs.

Page 8: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

LDAPInterface

authenticate_user(username : String, password : String) : Boolean

MainPageController

login_member()logout_member()create_new_project()create_new_member()

1

1

1

1

Task

description : Textdue_date : Dateassigned_to : Integercreated_by : Integercompleted_on : Date

completed?() : Booleanlate?() : Boolean

GroupController

create_task()edit_task()change_task_status()add_members()remove_members()

GroupMember

group_id : Integermember_id : Integer

GroupProject

project_id : Integergroup_id : Integer

Notifier

email_notification()

Milestone

due_date : Datename : Stringdescription : Textid : Integer

*

1

*

1

Member

first_name : Stringlast_name : Stringusername : Stringid : Integer

*1

*1

1

1

1

1

Group

name : Stringid : Integer

add_member(member_id : Integer)remove_member(member_id : Integer)

*

1

*

1

1..*

1

1..*

1

*

1

*

1

*

1

*

1

*

*

*

*

MemberProject

member_id : Integerproject_id : Integer

*

1

*

1

Project

name : Stringid : Integerdescription : Textorganization : Stringadmin_id : Integerready_for_purge : Boolean

add_existing_group(group_id : Integer)create_group(name : String)create_milestone(name : String, description : Text, due_date : Date)send_incomplete_eval_notifications()create_random_groups(num_members : Integer)set_admin(member_id : Integer)

*

1

*

1

1

*

1

*

*1 *1

*

*

*

*

*

*

*

**

1

*

1

ProjectController

create_random_groups()create_milestone()add_group()

*

1

*

1

Page 9: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 10: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Many different specifications of model-based software development, a need for standardization!

Object Management Group, Inc. founded in 1989 provides substantial standardization for multiple industries.

Process has evolved to include multiple stakeholders and higher abstraction.

Page 11: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Independence of a specific programming language

Predict bottlenecks and constraints Predict system performance More detailed abstraction levels Achieve high complexity Encourages good OO

Page 12: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Can communicate effectively with stakeholders by providing a model.

Create a roadmap for developers to follow. Track the history of every decision.

(essential for Embedded Systems!) Represents things in thin air (like network or

internet components)

Page 13: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

More time modeling and less time coding (if you enjoy coding).

Usability of generated code.

Page 14: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

OMG – Object Management Group Mission: “develop, with our worldwide

membership, enterprise integration standards that provide real-world value.”

Founded in 1989 Any company can join. In charge of standards that enable powerful

visual design, execution, and maintenance of software.

Page 15: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Specify, visualize, and document models of software systems.

Can also be used for business modeling and modeling of other non-software systems.

Used with UML-based software tools.

Page 16: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

With UML 2.0, there are thirteen types of diagrams: class, object, component, composite, package, deployment, use case, activity, state machine, sequence, communication, timing, and interaction.

Page 17: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Provides vendor-neutral approach to the challenge of business and technology change.

Separates business and application logic from low level platform technology.

Built on UML and other OMG standards.

Page 18: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 19: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Systems Modeling Language General-purpose graphical modeling

language. Use for software, hardware, information,

personnel, procedures and facilities. Use for modeling system requirements,

behavior, structure, and parametrics to be used with other engineering analysis models.

Page 20: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 21: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 22: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Created in 1991. Aimed at software designed for ORB

standards. Easily integrates with many vendors. Benefit of CORBA: produce interoperable

applications that are based on distributed, interoperating objects.

Page 23: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Data-Distribution Service for Real-Time Systems.

First open international middleware standard directly addressing publish-subscribe-communications for Real-Time Embedded Systems.

Latest version adopted in October 2006.

Page 24: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Model-Based Software Development has been used much more in embedded applications in the past.

Process is essential for verification◦ Automotive◦ Middleware◦ Aerospace

Page 25: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Description of development activities. Activities are repeatable, undoable, and

traceable. Activities generally include low-level tasks

but can also include higher level domain-specific tasks like functionality for a target platform.

Page 26: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

All activities in the process models are defined in terms of the entities in the product models.

Need explicit models for this to work. The more models the better.

Page 27: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

graphical construct used to communicate a model-based software development methodology

Doesn’t actually correlate directly with the model-based software development process.

Page 28: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Quickly test and iterate strategies in real-time.

Use math modeling program like Simulink

Page 29: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

This method uses model-based software development to greatly increase productivity

Page 30: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Automotive Model-Based Development Project 2005

Goal: Develop an integrated methodology for model-based development of automotive control software.

Based on AutoFOCUS framework.

Page 31: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

•AutoFocus Framework

Page 32: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Highly modulated to reduce complexity Enhanced features such as allowing signals

with different frequencies

An AutoMoDe Mode Transition Diagram specifying engine operation modes.

Page 33: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

“Model Driven Development for J2EE Utilizing a Model-Driven Architecture (MDA) Approach” (June 2003)

By The Middleware Company Productivity Analysis, shortly after MDA

came out. Results: MDA team developed application

35% faster than traditional team.

Page 34: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

“Model-Based Development of Fault-tolerant Embedded Software” (2007)

By: Technische Universitat Munchen Focuses on automatic code generation and

issues regarding verification. Use of Simulink.

Page 35: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

The argument: By generating source code the certification becomes much easier.

Code Generation Architecture

Page 36: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Code Generation Process

Page 37: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Conclusion: The use of application-independent templates that are mapped automatically to compilable source code offers many advantages.

Page 38: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Improve automatic code generation. The use of UML to predict performance

metrics and dynamically change model if needed to reach performance goals.

Improve usability in Model-Based Software Development.

Page 39: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Microsoft Spec Explorer (Model-Based Testing)

Nmodel (Model-Based Testing) Simulink (Model-Based Design) Rational Rose Product Line Rational Rhapsody

Page 40: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

MBT – Automatic generation of software test procedures, using models of system requirements and behavior.

Requires up-front model completion. After the model is created, test suites are

automatically generated. Test suites contain test sequences and test

oracle.

Page 41: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 42: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Advantages of Model-Based Testing◦ Rules are specified once◦ Lower project maintenance cost◦ Design more and code less◦ High coverage◦ Model authoring is independent of

implementation◦ Can test concurrently with other team members

Page 43: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 44: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 45: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 46: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Model-Based testing and analysis framework for programs written in C#.

Features test generation tool and test runner.

Can show paths to unsafe states. Focuses primarily on finite state machines. Can show traceability User friendly

Page 47: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Paths to unsafe states

Page 48: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

•Simple Model Viewer•User Friendly

Page 49: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Traceability

Page 50: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Embedded Systems Extensive libraries and predefined blocks User friendly Model analysis and diagnostics tools Can do applications in signal processing,

video processing, image processing and much more.

Can include handwritten C, Fortran, and Ada code directly into your model.

Page 51: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 52: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Model-Driven Software Development Programs.

Currently seven different products. Provides fully automated design-to-code

translation for Java, C, and C++, and few others.

Only some products support up to UML v2.0 Most can integrate with other Rational

products

Page 53: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 54: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

MDD environment for embedded and real-time systems and software.

Generates C, C++, Java and Ada applications.

Generates real-time sequence diagrams during debugging.

High traceability capabilities.

Page 55: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.
Page 56: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Has support for industry standard modeling languages (UML, SysML)

Validate functionality early in development.

Page 57: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Model-Based Software Development has many advantages and few disadvantages.

With the right process, MBD can conquer high complexity systems with more modeling and less coding.

MBD is a hot topic of research with some solid potential in many software domains.

Page 58: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

[1] Martens, A. & Heiko, K. (2007). Automatic, Model-Based Software Performance Improvement for Component-based Software Designs. Retrieved January 25, 2011 from http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.152.8697

[2] Niz, D. (2009). Diagrams and Languages for Model-Based Software Engineering of Embedded Systems: UML and AADL. Retrieved January 25, 2011 from http://www.sei.cmu.edu/library/reportspapers.cfm

[3] Ziegenbein, D. & Bosch, R. & Braun, P. (2005). AutoMoDe - Model-Based Development of Automotive Software. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/

[4] Baleani, M. & Ferrari, A. & Mangeruca, L. (2005). Correct-by-Construction Transformations across Design Environments for Model-Bases Embedded Software Development. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/

[5] Parastoo, M. & Vegard, D. & Tor, N. (2009). Definitions and Approaches to Model Quality in Model-Based Software Development-A Review of Literature. Retrieved January 28, 2011 from http://portal.acm.org

[6] Grieskamp, W. & Tillmann, N. & Veanes, M. (2004). Instrumenting Scenarios in a Model-Driven Development Environment. Retrieved January 29, 2011 from http://research.microsoft.com/apps/pubs/default.aspx?id=77816

[7] The Middleware Company. (June 2003). Model Driven Development for J2EE Utilizing a Model Driven Architecture (MDA) Approach. Retrieved January 22, 2011 from http://www.omg.org/mda/mda_files/MDA_Comparison-TMC_final.pdf

[8] Buckl, C. & Knoll, A. & Gerhard, S. (2007). Model-Based Development of Fault-tolerant Embedded Software. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/

[9] Bohner, S. & Mohan, S. (2009). Model-Based Engineering of Software: Three Productivity Perspectives. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/

[10] Bohner, S. & Mohan, S. (2009). Model-Based Engineering of Software: Three Productivity Perspectives. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/

Page 59: Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

[11] Jacky, J. & Veanes, M. & Campbell, C. & Schulte, W. (2008). Model-Based Software Testing and Analysis with C#. Retrieved January 30, 2011 from http://www.cambridge.org/gb/knowledge/isbn/item1163498/?site_locale=en_GB

[12] Miller, S. & Whalen, M. & Cofer, D. (2010). Software Model Checking Takes Off. Retrieved January 28, 2011 from http://portal.acm.org

[13] NModel. Retrieved Febuary 4, 2011 from http://nmodel.codeplex.com/ [14] IBM Corp. Web. Rational Rhapsody Developer. IBM® Rational® Rhapsody® Developer Is a UML

or SysML-based Model-driven Development Environment for Technical, Real Time, or Embedded Systems and Software Engineering. Retrieved February 4, 2011 from http://www01.ibm.com/software/rational/products/rhapsody/developer/

[15] Defining Technology, Inc. MRC Home. Retrieved February 5, 2011 from http://www.middleware.org/

[16] PrecisionMBA, LLC. V-Cycle. Retrieved February 7, 2011 from http://www.precisionmba.com/v-cycle.htm

[17] Microsoft. Model-Based Testing. Retrieved February 7, 2011 from http://msdn.microsoft.com/en-us/library/ee620469.aspx

[18] Microsoft. Model-Driven Development. Retrieved February 7, 2011 from http://msdn.microsoft.com/en-us/library/aa964145.aspx#mdldrvdv_topic1

[19] IBM. An introduction to Model Driven Architecture. Retrieved February 8, 2011 from http://www.ibm.com/developerworks/rational/library/3100.html


Recommended