Chapter 2 Object-Oriented Paradigm Overview

Slides:



Advertisements
Similar presentations
Database Planning, Design, and Administration
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
UML an overview.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
Chapter 1 Principles of Programming and Software Engineering.
CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Continuation From Chapter From Chapter 1
Introduction To System Analysis and design
Managing Software Quality
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
S oftware Q uality A ssurance Part One Reviews and Inspections.
Architecture Business Cycle
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.
Introduction To System Analysis and Design
Lecture 7: Requirements Engineering
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
©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.
Chapter 4 프로세스 모델 Process Models
Chapter 1 Introduction to Software Engineering. Why Engineer Software? n Air traffic control case study –$2.3 Billion spent without any usable deliverable.
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.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
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.
More SQA Reviews and Inspections. Types of Evaluations  Verification Unit Test, Integration Test, Usability Test, etc  Formal Reviews  aka "formal.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
 System Requirement Specification and System Planning.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Advanced Software Engineering Dr. Cheng
Principles of Programming & Software Engineering
TOTAL QUALITY MANAGEMENT
Software Quality Control and Quality Assurance: Introduction
Object Oriented Programming
Chapter 1: Introduction to Systems Analysis and Design
CHAPTER 5 GENERAL OOP CONCEPTS.
Object-Oriented Analysis and Design
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Unified Modeling Language
Data Abstraction: The Walls
SYSTEM ANALYSIS AND DESIGN
Principles of Programming and Software Engineering
UML: Unified modeling language
Software Requirements analysis & specifications
UNIT II.
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Charakteristiky kvality
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Chapter 9 Use Cases.
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
UML profiles.
An Introduction to Software Architecture
Chapter 1: Introduction to Systems Analysis and Design
Requirements Document
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
UML Design for an Automated Registration System
Presentation transcript:

Chapter 2 Object-Oriented Paradigm Overview

Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any clarifications or ambiguities Discuss your understanding of the requirements with your development team Identify an aspect of the project in which you are particularly interested Start to formulate informal scenarios

Guidelines for Formulating Informal Scenarios Should be short Should address one activity Should specify concrete values May address some form of user error Implementation details should be omitted System state prior to initiation should be described The next scenario should be indicated

Object-Oriented Conceptualization Visualize the tangible elements comprising the software system, like books, patrons etc Also think about non-tangible nouns Think about the intangible nouns Think about how the nouns (objects) interrelate with each other Patron checks out a book Librarian reshelves books

Inter-Object Relationships Application specific relationships Relationships determined by the application domain Inheritance Super/subclass relationship Aggregation/Containment One object is a component of another object

UML Inter-Object Relationships Dependency Objects of one class use instances of another Association One class has link to another class Includes aggregation and application specific relationships Generalization Super/subclass relationship Realization One class provides a service for another class

The Software Life Cycles Top-down development Traditional development approach Prototyping Using system mock-up to gain user feedback Incremental/Iterative Suggested for object-oriented systems Hybrid Some combination of development approaches

Waterfall Process Requirements analysis Product design System design Programming Testing Maintenance

Other Software Development Activities Customer communication Project planning Risk analysis Engineering Product construction and release Customer evaluation

Object-Oriented Model Building Allows the management of complexity As developers become more familiar with the software system, their understanding can be recorded through the modeling notation Different types of models are built to express different aspects of the system Models express system characteristics unambiguously

Properties of Quality Modules Cohesion Accomplishes a clearly delineated task Loose coupling Not overly interconnected with other modules Encapsulation Hides implementation details Presents a simple interface Reusability Written in a general purpose way

Unified Modeling Language The software modeling notation used by the textbook Programming language independent Industry standard notation Flexible and expressive A subset of UML will be used in the textbook

Use of Models in Object-Oriented Software Engineering To create non-narrative, unambiguous expressions of objects,class and their interrelationships To model a variety of perspectives of the software system for use during analysis and design To express system requirements at varying levels of abstraction

More: Models in Object-Oriented Software Engineering To facilitate communication among technical personnel To create complete, verifiable, and unambiguous programming specifications To serve as system documentation To assist in project planning and management To support quality assurance and verification activities

Qualities of Good Software Systems Functionality Suitable to users Accurately accomplishes user requirements Interoperable with other systems Secure Reliability Fault tolerant Recoverable Mature - uses advanced features well

More: Qualities of Good Software Systems Usability Understandability Learnability Operability Efficiency Time behavior Resource use

More: Qualities of Good Software Systems Maintainability Analyzability Changeability Stability Testability Portability Adaptability Conformance Replaceability

Holding Effective Team Meetings Create a clear agenda addressing the essential tasks that must be accomplished in order to complete the necessary deliverables Stick to the agenda during the meeting Ensure that each team member understands his or her tasks before the meeting is adjourned Ensure that tasks are equitably distributed

Class Project Deliverables The deliverables associated with the class project are essential to successfully completing the project The class project is not merely a programming assignment The deliverables result from completing tasks associated with analysis, design. implementation, and testing the class project