Reviewed By: Paul Varcholik University of Central Florida EEL 6883 – Software Engineering II Spring 2009 Wojciech James Dzidek, Erik.

Slides:



Advertisements
Similar presentations
Critical Reading Strategies: Overview of Research Process
Advertisements

ACM International Conference on Software Engineering (ICSE) T.H. Ng, S.C. Cheung, W.K. Chan, Y.T. Yu Presented by Jason R. Beck and Enrique G. Ortiz.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Object-Oriented Software Development CS 3331 Fall 2009.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Use-case Modeling.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
1 COST G9 - Work group 2 meeting Székesfehérvár, Hu Modeling real property transactions Radoš Šumrada Faculty of Civil and Geodetic.
Object-oriented Analysis and Design
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
Itntroduction to UML, page 1 Introduction to UML.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Chapter 1 The Systems Development Environment
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Chapter 6– Artifacts of the process
Model-Driven User Requirements Specification using SysML Authors: Michel dos Santos Soares, Jos Vrancken Source: Journal of Software(JSW), Vol. 3, No.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Using UML to report results of project management for information systems projects Donna M. Gavin MMIS 621 Information Systems Project Management Assignment.
Software Development Process
CIS 321—IS Analysis & Design
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Modeling Practices in Open Source Software OSS 2013 Koper-Capodistria, Slovenia Omar Badreddin Post Doctoral Fellow, University of Ottawa
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Generalization through a series of replicated experiments on maintainability Erik Arisholm.
Assessing the SoP of MBE in the Embedded Systems Domain Xubo Miao MSc, School of Computing Supervisor: James R. Cordy.
Reviewed By: Paul Varcholik University of Central Florida EEL 6883 – Software Engineering II Spring 2009 Marc Eaddy, Thomas Zimmermann,
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
PAPER PRESENTATION: EMPIRICAL ASSESSMENT OF MDE IN INDUSTRY Erik Wang CAS 703.
Software Engineering Management Lecture 1 The Software Process.
Object-Oriented Analysis and Design An Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
What Do We Know about Defect Detection Methods P. Runeson et al.; "What Do We Know about Defect Detection Methods?", IEEE Software, May/June Page(s):
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Methods and Models Choice of methods for Development of IT related products and systems SVINGSVING Conference held in Gothenburg, Sweden, October 2000.
9/01RUT1 NASA OSMA SAS '01 R equirements U se case T ool James R. McCoy SRS Information Services NASA Software Assurance Technology Center
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
What Type of Defects are Really Discovered in Code Reviews. Mika V
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
DMD Senior Design Projects CIS 497 Joseph T. Kider Jr.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
11 Software Design CSCU 411 Software Engineering.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Object Oriented Analysis & Design By Rashid Mahmood.
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Chapter 5 – System Modeling
Model-based design inspection based on traceability information models and design slicing Shiva Nejati April 15, 2015.
Software Construction
Appendix 2 Automated Tools for Systems Development
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Business System Development
Tools of Software Development
Object Oriented Analysis and Design
Presentation transcript:

Reviewed By: Paul Varcholik University of Central Florida EEL 6883 – Software Engineering II Spring 2009 Wojciech James Dzidek, Erik Arisholm, Lionel C. Briand IEEE Transactions on Software Engineering May-June 2008

Unified Modeling Language (UML)  Allows for the visual representation of a system’s specification  Used to construct and document the artifacts of an object-oriented software system  Aids in communicating system properties

UML Advantages  Simplifies software complexities through higher levels of abstraction  Traceability from requirements to low- level design  More efficient communication

Traditional Design Conveyance  Domain-specific standardized notations Textual Notation Visual Notation  PV: Commonly no standard notation, or company/team specific notation standards

Need for UML  To efficiently communicate design intent, during: Initial development Maintenance Evolution

Need for an Empirical Study  Little reported evaluation of the use of UML-based development  Many perceive the development and maintenance of analysis and design models in UML to be ineffective  UML practices are therefore viewed as difficult to apply in projects were resources and time are tight (PV: read, all projects)  Can UML make a significant difference that would just the costs?

How should UML be used?  Diagrams sketched on a whiteboard  Selective communication rather than complete specification  Diagrams soon discarded  Mostly models, little code  UML becomes the programming language  All changes occur in the model

Experiment Overview  20 Professional Developers (Intermediate to senior- level consultants)  Individually performing the same 5 maintenance tasks  Real, nontrivial software system  Same development environment 10 developers used UML 10 developers did not use UML  Secondary Objective: identify reasons for varying results

Experiment Definition  Analyze the effects of UML for the purposes of evaluating costs and benefits of modeling artifacts with respect to: Effort Functional program correctness Design quality of the solution

Experiment Definition (cont.)  Baseline definition (against which the use of UML would be compared): 1. Source code is the main artifact used to understand the system 2. Source code is commented to define the meaning of the most complex methods and variables 3. There exists a high-level textual description of the system objectives and functionality

Research Questions 1. Does the provision of UML documentation reduce the effort required in correctly implementing the change tasks? 2. Does the provision of UML documentation increase the functional correctness of the delivered solution? 3. Does the provision of UML documentation improve the design quality of the delivered solution? 4. What are the shortcomings of the used state-of- the-art UML tool and how can it be improved?

Context Selection  Professional Java programmers performing realistic, nontrivial maintenance tasks  1-2 week duration  Real, nontrivial software system  20 developers recruited from Norwegian consulting companies (not students)  Developers given a 1-day refresher course on UML  UML modeling tool: Borland Together for Eclipse (BTE)

Targeted Software System  BESTweb Company-internal, web-based system developed in Java (by the first author of the paper)

Experimental Process

Tasks

Experimental Results  The UML was always beneficial in terms of functional correctness (introducing fewer faults into the software).  The UML was slightly more costly in terms of time if the UML documentation was to be updated (though, slightly less costly if it was not), though these results were not significant.  The UML helped produce code of better quality when the developers were not yet familiar with the system. The largest gains were experienced during the first  task. This is an important finding as developers in industry are often faced with the “first task” scenario due to high staff turnover and involvement on a very large system (where any one developer is only familiar with a small portion of the system).

Conclusion  Using UML can be beneficial when a developer must extend a nontrivial system that he/she is unfamiliar with

Strengths  Interesting, relevant, and modern topic  Well designed experiment  Very well written paper Clear Technical sound Compelling results Good use of tables and diagrams (not too heavy on the math) Even included a comparison against previous studies

Weaknesses  Only 1 study (needs to be replicated and verified)  More subjects  Could have included a secondary documentation system (non-UML) as a comparison point

Final Thoughts  Are the improvements because of UML or merely better documentation as a whole?

Wojciech James Dzidek, Erik Arisholm, Lionel C. Briand IEEE Transactions on Software Engineering May-June 2008 Reviewed By: Paul Varcholik University of Central Florida EEL 6883 – Software Engineering II Spring 2009

Appendix (Results: Time)

Appendix (Results: Correctness)

Appendix (Results: Design Quality)

Appendix (Results: Time Spent on UML)