Special Software Development Paradigms Today: HW #5 Next Class: Pressman 17; Demos? Questions? / Team Status Reports / HW#4 Object-Oriented Paradigm Bio.

Slides:



Advertisements
Similar presentations
MapleLeaf, LLC SDLC Methodology. MapleLeaf, LLC, has established standard phases and processes in regards to project management methodologies for planning.
Advertisements

Software Process Models
More CMM Part Two : Details.
CLEANROOM SOFTWARE ENGINEERING
Lecture 12 Reengineering Computer-aided Software Engineering Cleanroom Software Engineering.
CheckPoint Demos Next Class: Pressman 18; DDD#2 Quiz#2 Results / Review How to Do a Demo? Bio Break / Move to Lab Checkpoint Demos.
Cleanroom Engineering and the B-Method: A Comparison Drew Connelly.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Testing and Quality Assurance
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Quality Assurance II Due today: Detailed Design Document I Next Class:Pressman 20; Quiz #2 Questions? / Team Status Reports Continuous Improvement.
Casey Ehlers April 28 th, Outline of Presentation 1. Background and History of Cleanroom 2. Who Uses Cleanroom Software Development? 3. Basics of.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Software Integration and Documenting
CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu.
N A managed approach to planning and controlling the implementation of complex application software. n A flexible tool kit, designed to support the Project.
Effective Methods for Software and Systems Integration
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
… and after unit testing …
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 2 The process Process, Methods, and Tools
IT Systems Analysis & Design
CLEANROOM SOFTWARE ENGINEERING.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Objects and Components. The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing.
Software Quality Assurance Activities
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
CS101 Introduction to Computing Lecture Programming Languages.
MCS 270 Spring 2014 Object-Oriented Software Development.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
CSC 395 – Software Engineering Lecture 12: Reusability –or– Programming was Bjarne Again.
Building Information Systems & Managing Projects.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Chapter 4 프로세스 모델 Process Models
Software Testing and Quality Assurance Software Quality Assurance 1.
Cleanroom Software Engineering Getting it right the first time.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
1 #*#* Transitioning Your Organization to an Object-Oriented Methodology.
PC204 Lecture 5 Programming Methodologies Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(C.S.E) UIT, M.S(S.E) AAU Denmark Assistant Professor Department.
Chapter 2 Principles of Programming and Software Engineering.
객체지향시스템 연구실 1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 객체지향시스템 연구실 교수 김형주.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Programming paradigms
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Software Quality Engineering
Introduction to Software Testing
Presentation transcript:

Special Software Development Paradigms Today: HW #5 Next Class: Pressman 17; Demos? Questions? / Team Status Reports / HW#4 Object-Oriented Paradigm Bio Break ( 5 minutes ) Cleanroom Paradigm

Status Reports – 11/01/01 GroupPromised Today Next TimeNext Thur 1. Sliders Improved / more readable GUI 2. Connect Four (Calen, Luis, Suzanne, Lorena) Save & Load functionality 3. Wheel of Fortune Very Rough Draft of Detailed Design Doc. 4. Connect Four (Harry, Kannan, Liwei, Sean) Backend for simple voting implemented. 5. Blackjack Detailed Design Doc #2 6. Mine- sweeper Detailed Design Doc #1; VRD DD#2

Key OO Concepts 1.Data and code are packaged together in a capsule called an object. 2. Information and instructions are passed between objects in the form of messages. 3. Objects of a similar type are grouped together in classes. 4. Objects can inherit characteristics (data and procedures) from other objects in their class.

Advantages of OO Easy to re-use code Easy to extend or maintain code Results in clean, modular designs Easier to spot design defects Great for rapid prototyping

Costs / Risks with OO Time to learn Time to program useful library of classes Tough to keep track of al the classes

Golden Rule of OO Select tools that have already defined most of the classes you will want.

IBM’s Checklist for OO Pilot project identified: new project, flexible schedule OO programming team members identified Available OO tools and methodologies researched OO training complete Class hierarchies of selected tool appropriate to project needs Commitment for more design time up front obtained Project planned to maximize code reuse Rapid prototyping used to gain immediate feedback Feedback and continuous improvement process in place

Waterfall v. Cleanroom Traditional Waterfall Quality often tested in Unit test, function test, system test Division of labor common Serial development of whole product Test cases to uncover coding errors Cleanroom Quality is designed in No unit test; first test is system test Whole team involvement Incremental development & certification Statistical usage testing

Source: Secrets of Software Quality, Kaplan, Clark, & Tang pg. 271

Source: Secrets of Software Quality, Kaplan, Clark, & Tang pg. 277

Three Key Cleanroom Concepts Box structure specification (formal methods), allows… –Boxes encapsulate (aspects of) the system at a given level of abstraction –Black boxes represent external behavior of system –State boxes encapsulate state data and observations –Clear boxes have procedural design for state boxes Correctness verification. Certification refers to components that have undergone statistical usage testing.

Advantages of Cleanroom Zero defects possible < 6 errors/KLoc v errors/KLoc at first test Overall about 10X fewer error at first test Interfaces between increments well-tested MTTF (up to 20X) higher due to statistical usage testing

Costs / Risks with Cleanroom Expensive! (10 – 11 days of training) Time consuming (box spec takes up to 2X as long as regular spec)

IBM’s Checklist for Cleanroom Purpose of Pilot project clear Cleanroom literature selected Pilot project selected Management commitment and funding obtained Experts available for consultation Cleanroom team members identified and educated Conference room scheduled for daily use Product requirements understood and prioritized System environment understood Cleanroom specification written Expected customer usage defined Incremental development plan specified Test plan specified Verifiable designs for procedures and objects Team reviews Results measured and communicated Team recognition Feedback and continuous improvement process in place