Selecting An OO Technique - Page P1-L3-1 MEF-TRANSITION-P1-L3-1 Dr. M.E. Fayad Lesson 3: Selecting an OO Technique SoftwareEngineeringII.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 2 Approaches to System Development
Approaches to Systems Development
E. Wainright Martin Carol V. Brown Daniel W. DeHayes Jeffrey A. Hoffer William C. Perkins MANAGINGINFORMATIONTECHNOLOGY FIFTH EDITION CHAPTER 10 M ETHODOLOGIES.
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.
Solving Automation Reporting Problems with Dream Report Renee Sikes Applications Engineer Dream Report Brand Manager.
Introduction To System Analysis and Design
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Copyright © Active Frameworks, Inc.. - All Rights Reserved - V2.0 Introduction - Page L1-1 PS95&96-MEF-L1-1 Dr. M.E. Fayad Creationa l Paradigm.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Fundamentals of Information Systems, Second Edition
Requirements Engineering Processes
MEF-TRANSITION-P2-L7-1 Dr. M.E. Fayad Collecting Project Metrics - Page P2-L7-1 Lesson 7: Collecting Project Metrics SoftwareEngineeringII.
Systems Analysis and Design in a Changing World, Fifth Edition
Principles of Information Systems, Sixth Edition 1 Systems Investigation and Analysis Chapter 12.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Investigation and Analysis Chapter 12.
L3-6b-S1 Sequence Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
Requirements Engineering Processes
Chapter 2: Approaches to System Development
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
Selecting a CASE Tool - Page P1-L4-1 MEF-TRANSITION-P1-L4-1 © Dr. M.E. Fayad Lesson 4: Selecting an OO CASE Tool SoftwareEngineeringII.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Tracking the Project - Page P2-L8-1 MEF-TRANSITION-P2-L8-1 Dr. M.E. Fayad Lesson 8: Tracking & Controlling the Project SoftwareEngineeringII.
Testing - Page P3-L15-1 MEF-TRANSITION-P3-L15-1 Dr. M.E. Fayad Lesson 15: Testing SoftwareEngineeringII.
Introduction To System Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Building Information Systems & Managing Projects.
Chapter 7 System models.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Formal Methods in Software Engineering
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
OO & Prototyping - Page P3-L12-1 MEF-TRANSITION-P3-L12-1 Dr. M.E. Fayad Lesson 12: OO & Prototyping SoftwareEngineeringII.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Software Production Chapter 2: Identifying Software Development Activities.
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
1 #*#* Transitioning Your Organization to an Object-Oriented Methodology.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room.
Reusability - Page P3-L10-1 MEF-TRANSITION-P3-L10-1 Dr. M.E. Fayad Lesson 10: Reusability SoftwareEngineeringII.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Resource Requirements - Page P2-L5-1 MEF-TRANSITION-P2-L5-1 Dr. M.E. Fayad Lesson 5: Establishing Resource Requirements SoftwareEngineeringII.
Programming Language Design Issues Programming Languages – Principles and Practice by Kenneth C Louden.
Inspections - Page P3-L14-1 MEF-TRANSITION-P3-L14-1 Dr. M.E. Fayad Lesson 14: Inspections SoftwareEngineeringII.
Legacy Systems - Page P3-L11-1 MEF-TRANSITION-P3-L11-1 Dr. M.E. Fayad Lesson 11: Dealing With Legacy Systems SoftwareEngineeringII.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
CASE Tools and their Effect on Software Quality
Software Design and Development Development Methodoligies Computing Science.
Chapter 1 Reasons to study concepts of PLs Programming Domains
1.1 Reasons to study concepts of PLs
Presentation transcript:

Selecting An OO Technique - Page P1-L3-1 MEF-TRANSITION-P1-L3-1 Dr. M.E. Fayad Lesson 3: Selecting an OO Technique SoftwareEngineeringII

Selecting An OO Technique - Page P1-L3-2 MEF-TRANSITION-P1-L3-2 Dr. M.E. Fayad Lesson Objectives Understand what is provided by the technique Learn why there is more than one software development method Understand the most important technique selection criteria Learn a complete process for selecting an OO technique Understand how later OO projects give you more flexibility in selecting an OO technique Explore experiences and Lessons Learned

Selecting An OO Technique - Page P1-L3-3 MEF-TRANSITION-P1-L3-3 Dr. M.E. Fayad M ETHOD P ROVIDES F OUNDATION F OR A LL S OFTWARE E NGINEERING

Selecting An OO Technique - Page P1-L3-4 MEF-TRANSITION-P1-L3-4 Dr. M.E. Fayad T HE M YTH O F T HE S INGLE S OFTWARE D EVELOPMENT M ETHOD

Selecting An OO Technique - Page P1-L3-5 MEF-TRANSITION-P1-L3-5 Dr. M.E. Fayad T HE M YTH O F A N U LTIMATE S OFTWARE D EVELOPMENT T OOL Tool Vendor This tool will solve all of your problems!!!

Selecting An OO Technique - Page P1-L3-6 MEF-TRANSITION-P1-L3-6 Dr. M.E. Fayad T HE R EALITY Look first for methods, not tools Select tools only after you select the appropriate method Look first for methods, not tools Select tools only after you select the appropriate method Good tools implement good methods

Selecting An OO Technique - Page P1-L3-7 MEF-TRANSITION-P1-L3-7 Dr. M.E. Fayad H OW M ANY OO M ETHODS E XIST ?

Selecting An OO Technique - Page P1-L3-8 MEF-TRANSITION-P1-L3-8 Dr. M.E. Fayad OO M ETHODS S TART A T D IFFERENT P LACES Top Down Bottom Up Middle Up Down Abstract Objects Data Objects

Selecting An OO Technique - Page P1-L3-9 MEF-TRANSITION-P1-L3-9 Dr. M.E. Fayad E VALUATING OO M ETHODS - S TRENGTHS & W EAKNESSES THE “BEST” OBJECT-ORIENTED METHOD WILL BE THE ONE THAT MOST CLOSELY MEETS YOUR PARTICULAR NEEDS FIDO

Selecting An OO Technique - Page P1-L3-10 MEF-TRANSITION-P1-L3-10 Dr. M.E. Fayad E VALUATING OO M ETHODS - L IFE C YCLE C OVERAGE Why use OO to cover as much of the software life-cycle as possible? –Prevent paradigm shifts –Avoid development of customized solutions –CASE and I-CASE availability & interoperability What to know before selecting a method: –All existing methods lack full life-cycle coverage –Most important activity is Object-Oriented Requirements Analysis (OORA) –Beware of methods that cover only Object-Oriented Design METHOD SHOULD COVER AT LEAST OORA AND OOD

Selecting An OO Technique - Page P1-L3-11 MEF-TRANSITION-P1-L3-11 Dr. M.E. Fayad E VALUATING OO M ETHODS - CASE T OOL A VAILABILITY Why have CASE tool support? –Enhances productivity and rigorous adherence to the method –Supports adherence to the method What to look for in a CASE tool –Accurately supports notation »A simple drawing package is often sufficient for small projects –Consistency Checking (especially for large projects) –Data Dictionaries »Multiple dictionaries support the OO principle of information hiding –“Automated” documentation generators ( a misnomer) often produce documents with poor visual quality USEFUL TOOLS WILL SUPPORT AT LEAST THE NOTATION, CONSISTENCY CHECKING, AND A DATA DICTIONARY

Selecting An OO Technique - Page P1-L3-12 MEF-TRANSITION-P1-L3-12 Dr. M.E. Fayad E VALUATING OO M ETHODS - T RAINING A VAILABILITY Why train? –Reinforces the culture change –All methods require practical experience to develop expertise –Learn and ask questions from an “expert” –Get off to a fast start (remember - requirements activity is most critical) What to look for when selecting training? –Train the specific method you have selected (not just OO training) TRAINING HELPS GET YOUR FIRST OO DEVELOPMENT OFF TO A QUICK START

Selecting An OO Technique - Page P1-L3-13 MEF-TRANSITION-P1-L3-13 Dr. M.E. Fayad E VALUATING OO M ETHODS - “G URU ” A VAILABILITY Why have a “guru?” –Focal point for method –Works with both engineers and non-engineers –Drives method uniformity and resolves issues –Adapts methods to CASE tools What to look for in a guru –Communication skills –Software and method experience –If guru not available, then develop one METHOD “GURUS” SAVE SCHEDULE AND BUDGET BY PROVIDING EXPERT ASSISTANCE DURING THE TRANSITION PERIOD

Selecting An OO Technique - Page P1-L3-14 MEF-TRANSITION-P1-L3-14 Dr. M.E. Fayad E VALUATING OO M ETHODS - D OMAIN C ONSIDERATIONS Why consider the domain? –Selecting a method that fits your domain will make your software development easier What to consider –Requirements analysis intensive –Database intensive –Real-Time requirements –Highly procedural or computational –Size of project METHOD DIFFERENCES DRIVE SUITABILITY FOR A PARTICULAR SOFTWARE DEVELOPMENT DOMAIN

Selecting An OO Technique - Page P1-L3-15 MEF-TRANSITION-P1-L3-15 Dr. M.E. Fayad E VALUATING OO M ETHODS - L ANGUAGE C ONSIDERATIONS Why consider the language? –Selecting a method that translates easily to your software development language will prevent the need for language workarounds What to consider –Inheritance –Multiple inheritance –Encapsulation METHOD DIFFERENCES DRIVE SUITABILITY FOR A PARTICULAR SOFTWARE DEVELOPMENT LANGUAGE

Selecting An OO Technique - Page P1-L3-16 MEF-TRANSITION-P1-L3-16 Dr. M.E. Fayad S ELECTING A N OO M ETHOD - F IRST V S. L ATER P ROJECTS David Zeigler

Selecting An OO Technique - Page P1-L3-17 MEF-TRANSITION-P1-L3-17 Dr. M.E. Fayad S OME M ETHOD R ECOMMENDATIONS Use only popular methods - tool and training availability For projects where the problem is well understood, use a bottom up or middle up down method –Coad-Yourdon –Shlaer-Mellor –Rumbaugh For projects where the problem needs significant analysis, use a top down method –Colbert –Berard –Firesmith

Selecting An OO Technique - Page P1-L3-18 MEF-TRANSITION-P1-L3-18 Dr. M.E. Fayad S UMMARY Instituting an OO method requires a culture change Your method selection will impact virtually all of your management processes A single method is insufficient for all applications There are many published OO methods Select methods before tools CASE tools automate the method