Construction Lecture Oo20 Gymnastics System Example Cont’d.

Slides:



Advertisements
Similar presentations
DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.
Advertisements

1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Robert B. Jackson Brigham Young University John W. Satzinger
Ch 12: Object-Oriented Analysis
Chapter 2- Visual Basic Schneider
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Software Testing and Quality Assurance
Copyright W. Howden1 Lecture 13: Programming by Contract.
1 SWE Introduction to Software Engineering Lecture 5.
Information Systems Development and Acquisition Chapter 8 Jessup & Valacich Instructor: Ramesh Sankaranarayanan.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Itntroduction to UML, page 1 Introduction to UML.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
Chapter 7: The Object-Oriented Approach to Requirements
Inception/Elaboration Lecture Oo15 Gymnastics System Example.
Objects What are Objects Observations
Introduction To System Analysis and design
1 Successful Middleware Integration Using a Common Domain Model October, 2000 Gregor Hohpe.
Chapter 2: Approaches to System Development
Systems Analysis and Design in a Changing World, Fifth Edition
Software Engineering CS B Prof. George Heineman.
Elaboration Lecture Oo19 Gymnastics System Example Cont’d.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
Class Diagram Notation Lecture Oo12 Classes Packages.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
1 Another group of Patterns Architectural Patterns.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Chapter 9 Moving to Design
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Lecture 7: Requirements Engineering
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences and similarities between relational and object-oriented.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Algorithms CS139 – Aug 30, Problem Solving Your roommate, who is taking CS139, is in a panic. He is worried that he might lose his financial aid.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Systems Analysis and Design in a Changing World, Fourth Edition
Elaboration Lecture Oo18 Gymnastics System Example Cont’d.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Chapter 17 – Object- Oriented Design. Chapter Goals To learn about the software life cycle To learn about the software life cycle To learn how to discover.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Class Diagram Chapter 21 Applying UML and Patterns Craig Larman.
Use Case Diagrams Lecture Oo14 Use Cases. References n Booch, et al, The Unified modeling Language User’s Guide, AWL, 1999, Chapt 16 & 17 n Fowler & Scott,
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Class Relationships Lecture Oo07 Generalization Relationships.
Class Relationships Lecture Oo08 Polymorphism. References n Booch, et al, The Unified Modeling Language User Guide, Chapt 10 p.125 n Fowler & Scott, UML.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Class Diagrams Revisited. Parameterized Classes Parameterized Classes - are used to represent relationships between templates.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Construction Lecture Oo21 Gymnastics System Example Cont’d.
Managing Data Resources File Organization and databases for business information systems.
DATA REQIREMENT ANALYSIS
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Inception/Elaboration
Chapter 2- Visual Basic Schneider
Object oriented analysis and design
Software Construction Lecture 2
Chapter 2- Visual Basic Schneider
Operational Rules Model – step-by-step instructions and template
Presentation transcript:

Construction Lecture Oo20 Gymnastics System Example Cont’d

References n The Booch Method Guide, for Rose 2.0 n Fowler & Scott, UML Distilled Applying the Standard Object Modeling Language, AWL, 1997, Chapt 2

Teaching Points n Design activities n Implementation classes

Review n How would you protect your architecture from a change in DBMS? n What is an executable release plan?

Design Activities n Reapplication of the micro process but at a greater level of detail n Less Abstract n Specification and Implementation perspectives used

Identify Key Abstraction n Now we identify abstractions in the solution domain n Classes needed to describe How we will solve the problem n Introduce controller classes

Relationships n Navigation paths specified where needed for association relationships n Some associations converted to aggregation or dependency n Container classes introduced for 1 to many relationships

Attributes n Specify field or reference n Access control specified

Operations n Algorithms described in more detail n Access control

Executable release: Scoring Report Goal: Verification and successful use of navigational paths and score derivation logic for the scores of a competition. Start Date: 26 Aug 98 Effort: 12 developer-weeks Classes to be implemented: Competition, Event, Trial, RawScore, Team Use Cases to be Implemented: Scoring Inputs: Dummy database (validated in advance) with a meet, a competition, all events for that competition, all competing teams and gymnasts for the competition, and all trials and raw scores. Outputs: The data needed to build the report on Figure 4-3, “Output of the Gymnastics System,” on page 25 of requirement spec. A DB utility dump of the raw input for comparison.

Meet: Town Invitational Competition: Women’s Senior Team Date: 12/3/92

Scoring Algorithm English: Each judge rates each gymnast on the event and reports the score to a scorekeeper. The scorekeeper throws out the high and low scores and averages the rest. This is the gymnast’s score for the event.

Scoring Algorithm Score score(){ Score net_score = scores.first(); //Iterate over the scores and sum while(!scores.done()) { net_score = net_score + scores.next(); scores.next(); } //Throw out the low and high net_score=net_score-(scores.min()+scores.max()); //average by scores used net_score=net_score/(scores.length()-2); return net_score; }

Introducing Container Classes

Update Specifications

Class name: Trial Category:Contests Documentation: A trial is a single performance of a gymnast at a given event. The gymnast may attempt multiple trials at the same event (i.e. on the same piece of equipment). Each trial is scored separately by the judging panel. Each judge's score is associated with the trial by using the method addScore(). The gymnast's resulting score for the trial is obtained by calling the method score(). External Documents: Export Control:Public Cardinality:n Hierarchy: Superclasses:none Associations: competetor : Gymnast in association scores : TrialScoreList in association : Event in association Public Interface: Operations: addScore score State machine:No Concurrency:Sequential Persistence:Persistent

Operation name: addScore Public member of:Trial Arguments: ScorenewScore EventJudgescoringJudge Documentation: Adds a score and judge pair (RawScore) to the trial's set of scores. The set of scores represents the raw set scores provided by the judging panel. Normally each member of the judging panel will provide one score. Concurrency:Sequential

Operation name: score Public member of:Trial Return Class:Score Documentation: Computes a trial's overall score based on dropping the highest and lowest scores and averaging the rest. { Score net_score = scores.first(); //Iterate over the scores and sum while(!scores.done()) { net_score = net_score + scores.next(); scores.next(); } //Throw out the low and high net_score=net_score-scores.min()+scores.max()); //average by scores used net_score=net_score/(scores.length()-2); return net_score; } Concurrency:Sequential

Teaching Points n Design activities n Implementation classes