engineering 7893 software engineeringavardy/courses/se/notes/intro.pdf · object-oriented design...

55
Engineering 7893 Software Engineering http://www.engr.mun.ca/˜avardy/courses/se Instructor: Andrew Vardy Spring 2005 Engineering 7893 Software Engineering – p.1/10

Upload: others

Post on 17-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Engineering 7893 Software Engineering

http://www.engr.mun.ca/˜avardy/courses/se

Instructor: Andrew Vardy

Spring 2005

Engineering 7893 Software Engineering – p.1/10

Page 2: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:TeamDesign review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 3: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:TeamDesign review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 4: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:TeamDesign review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 5: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

TeamDesign review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 6: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 7: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 8: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 9: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 10: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 11: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 12: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)

Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 13: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)

Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 14: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Admin

Evaluation: Project: 100% (part team, part individual)

Lectures: Monday, Wednesday, Friday, 10:00-10:50 EN-1000

Lab slot: Wednesday, 2:00-5:00 EN-3076

For meetings:

Team

Design review

Office hour: Wednesday, 2:00-5:00, or by appointment (or not)

Teaching assistant: Lori Hogan, lhogan AT engr.mun.ca

Web page: http://www.engr.mun.ca/˜avardy/courses/se

Required background:

Object-oriented programming (C++, Java,...)

Project will be written in Java

Object-oriented design (UML, design patterns)

Engineering 7893 Software Engineering – p.2/10

Page 15: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Tentative Dates

Date Type Item

Wednesday, May 4 M Team Selection

Monday, May 23 D Simulator Preliminary Design

Wednesday, May 25 M Simulator Design Review

Monday, June 6 D Simulator Alpha Implementation

Friday, June 10 D Simulator Verification Plan

Friday, June 17 D Simulator Beta Implementation

Friday, June 24 D Simulator Verification Reports

Tuesday, June 28 D Controller Layer 1 Preliminary Design (team)

Wednesday, June 29 M Controller Layer 1 Design Review

Wednesday, July 6 D Controller Layer 2 Preliminary Design & Strategy (ind.)

Wednesday, July 20 D Competition and code submission

Wednesday, July 27 D Final revised design documents

Friday, July 29 D Team Assessment

M = Meeting, D = Deliverable

Engineering 7893 Software Engineering – p.3/10

Page 16: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Teams

� 3-5 members

Team selection based on survey:Please complete survey by 5:00 p.m., Tuesday,May 3 (bring to my office, EN-3030)

Choosers chosen by me

Team selection by choosers at 2:00pm., Wednesday,May 4 in EN-3030

You may form pairs yourself — We’ll try not to breakthem

Engineering 7893 Software Engineering – p.4/10

Page 17: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Teams

� 3-5 members

� Team selection based on survey:

Please complete survey by 5:00 p.m., Tuesday,May 3 (bring to my office, EN-3030)

Choosers chosen by me

Team selection by choosers at 2:00pm., Wednesday,May 4 in EN-3030

You may form pairs yourself — We’ll try not to breakthem

Engineering 7893 Software Engineering – p.4/10

Page 18: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Teams

� 3-5 members

� Team selection based on survey:

Please complete survey by 5:00 p.m., Tuesday,May 3 (bring to my office, EN-3030)

Choosers chosen by me

Team selection by choosers at 2:00pm., Wednesday,May 4 in EN-3030

You may form pairs yourself — We’ll try not to breakthem

Engineering 7893 Software Engineering – p.4/10

Page 19: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Teams

� 3-5 members

� Team selection based on survey:

Please complete survey by 5:00 p.m., Tuesday,May 3 (bring to my office, EN-3030)

� Choosers chosen by me

Team selection by choosers at 2:00pm., Wednesday,May 4 in EN-3030

You may form pairs yourself — We’ll try not to breakthem

Engineering 7893 Software Engineering – p.4/10

Page 20: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Teams

� 3-5 members

� Team selection based on survey:

Please complete survey by 5:00 p.m., Tuesday,May 3 (bring to my office, EN-3030)

� Choosers chosen by me

� Team selection by choosers at 2:00pm., Wednesday,May 4 in EN-3030

You may form pairs yourself — We’ll try not to breakthem

Engineering 7893 Software Engineering – p.4/10

Page 21: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game fieldCommunicates with controllers via a well definedprotocolBehaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

Queries the simulator about the state of the game

Sends requests to the simulator to manipulateplayers

Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 22: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

Communicates with controllers via a well definedprotocolBehaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

Queries the simulator about the state of the game

Sends requests to the simulator to manipulateplayers

Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 23: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

� Communicates with controllers via a well definedprotocol

Behaviour is carefully constrainedController — Directs the movement of one team ofplayers

Queries the simulator about the state of the game

Sends requests to the simulator to manipulateplayers

Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 24: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

� Communicates with controllers via a well definedprotocol

� Behaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

Queries the simulator about the state of the game

Sends requests to the simulator to manipulateplayers

Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 25: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

� Communicates with controllers via a well definedprotocol

� Behaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

Queries the simulator about the state of the game

Sends requests to the simulator to manipulateplayers

Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 26: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

� Communicates with controllers via a well definedprotocol

� Behaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

� Queries the simulator about the state of the game

Sends requests to the simulator to manipulateplayers

Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 27: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

� Communicates with controllers via a well definedprotocol

� Behaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

� Queries the simulator about the state of the game

� Sends requests to the simulator to manipulateplayers

Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 28: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

� Communicates with controllers via a well definedprotocol

� Behaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

� Queries the simulator about the state of the game

� Sends requests to the simulator to manipulateplayers

� Each team builds one of each

All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 29: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Problem

� CTF — Capture the Flag

Simulator — Displays state of game field

� Communicates with controllers via a well definedprotocol

� Behaviour is carefully constrained

Controller — Directs the movement of one team ofplayers

� Queries the simulator about the state of the game

� Sends requests to the simulator to manipulateplayers

� Each team builds one of each

� All simulator/controller pairs must be interoperable

Engineering 7893 Software Engineering – p.5/10

Page 30: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Controller — Split into two layers

� Layer 1: Interacts with Simulator and provides basefunctionality for Layer 2

Each team designs and implements Layer 1 as agroup

Layer 2: Uses Layer 1 services to implement a gamestrategy

i.e. This is the AI componentEach individual student designs and implementsLayer 2Layer 2 must plug in to your team’s Layer 1

Balance in functionality between layers is up to theteam

Engineering 7893 Software Engineering – p.6/10

Page 31: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Controller — Split into two layers

� Layer 1: Interacts with Simulator and provides basefunctionality for Layer 2

Each team designs and implements Layer 1 as agroup

Layer 2: Uses Layer 1 services to implement a gamestrategy

i.e. This is the AI componentEach individual student designs and implementsLayer 2Layer 2 must plug in to your team’s Layer 1

Balance in functionality between layers is up to theteam

Engineering 7893 Software Engineering – p.6/10

Page 32: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Controller — Split into two layers

� Layer 1: Interacts with Simulator and provides basefunctionality for Layer 2

Each team designs and implements Layer 1 as agroup

� Layer 2: Uses Layer 1 services to implement a gamestrategy

i.e. This is the AI componentEach individual student designs and implementsLayer 2Layer 2 must plug in to your team’s Layer 1

Balance in functionality between layers is up to theteam

Engineering 7893 Software Engineering – p.6/10

Page 33: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Controller — Split into two layers

� Layer 1: Interacts with Simulator and provides basefunctionality for Layer 2

Each team designs and implements Layer 1 as agroup

� Layer 2: Uses Layer 1 services to implement a gamestrategy

i.e. This is the AI component

Each individual student designs and implementsLayer 2Layer 2 must plug in to your team’s Layer 1

Balance in functionality between layers is up to theteam

Engineering 7893 Software Engineering – p.6/10

Page 34: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Controller — Split into two layers

� Layer 1: Interacts with Simulator and provides basefunctionality for Layer 2

Each team designs and implements Layer 1 as agroup

� Layer 2: Uses Layer 1 services to implement a gamestrategy

i.e. This is the AI component

Each individual student designs and implementsLayer 2

Layer 2 must plug in to your team’s Layer 1

Balance in functionality between layers is up to theteam

Engineering 7893 Software Engineering – p.6/10

Page 35: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Controller — Split into two layers

� Layer 1: Interacts with Simulator and provides basefunctionality for Layer 2

Each team designs and implements Layer 1 as agroup

� Layer 2: Uses Layer 1 services to implement a gamestrategy

i.e. This is the AI component

Each individual student designs and implementsLayer 2

Layer 2 must plug in to your team’s Layer 1

Balance in functionality between layers is up to theteam

Engineering 7893 Software Engineering – p.6/10

Page 36: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Controller — Split into two layers

� Layer 1: Interacts with Simulator and provides basefunctionality for Layer 2

Each team designs and implements Layer 1 as agroup

� Layer 2: Uses Layer 1 services to implement a gamestrategy

i.e. This is the AI component

Each individual student designs and implementsLayer 2

Layer 2 must plug in to your team’s Layer 1

� Balance in functionality between layers is up to theteam

Engineering 7893 Software Engineering – p.6/10

Page 37: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Evaluation

Item Marks

Simulator Preliminary Design 10

Simulator Alpha Implementation 5

Simulator Verification Plan 5

Simulator Beta Implementation 5

Simulator Verification Report 5

Controller Layer 1 Preliminary Design (team) 10

Controller Layer 2 Preliminary Design (ind.) 5

Competition 20

Final Design Document for Simulator and C1 (team) 20

Final Design Document for C2 (ind.) 5

Final Implementation for Simulator and C1 (team) 5

Final Implementation for C2 (ind.) 5

Engineering 7893 Software Engineering – p.7/10

Page 38: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Notes

� You will be verifying the simulators of other teams andwill be graded on how well you do at finding bugs inthem

Individual student marks will be adjusted from theteam mark based on peer-evaluation

Getting the code working is worth about 40% of theproject

Documentation is worth about 60%Design documentation (UML)Code documentation (javadoc)

Engineering 7893 Software Engineering – p.8/10

Page 39: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Notes

� You will be verifying the simulators of other teams andwill be graded on how well you do at finding bugs inthem

� Individual student marks will be adjusted from theteam mark based on peer-evaluation

Getting the code working is worth about 40% of theproject

Documentation is worth about 60%Design documentation (UML)Code documentation (javadoc)

Engineering 7893 Software Engineering – p.8/10

Page 40: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Notes

� You will be verifying the simulators of other teams andwill be graded on how well you do at finding bugs inthem

� Individual student marks will be adjusted from theteam mark based on peer-evaluation

� Getting the code working is worth about 40% of theproject

Documentation is worth about 60%Design documentation (UML)Code documentation (javadoc)

Engineering 7893 Software Engineering – p.8/10

Page 41: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Notes

� You will be verifying the simulators of other teams andwill be graded on how well you do at finding bugs inthem

� Individual student marks will be adjusted from theteam mark based on peer-evaluation

� Getting the code working is worth about 40% of theproject

� Documentation is worth about 60%

Design documentation (UML)Code documentation (javadoc)

Engineering 7893 Software Engineering – p.8/10

Page 42: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Notes

� You will be verifying the simulators of other teams andwill be graded on how well you do at finding bugs inthem

� Individual student marks will be adjusted from theteam mark based on peer-evaluation

� Getting the code working is worth about 40% of theproject

� Documentation is worth about 60%

Design documentation (UML)

Code documentation (javadoc)

Engineering 7893 Software Engineering – p.8/10

Page 43: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Project Notes

� You will be verifying the simulators of other teams andwill be graded on how well you do at finding bugs inthem

� Individual student marks will be adjusted from theteam mark based on peer-evaluation

� Getting the code working is worth about 40% of theproject

� Documentation is worth about 60%

Design documentation (UML)

Code documentation (javadoc)

Engineering 7893 Software Engineering – p.8/10

Page 44: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Lectures

� Less than the first half of the term

Topics taken (mostly) from Ghezzi et al

Software production processSoftware engineering principlesSoftware design (a little)VerificationProject specific (e.g. ideas for AI)

Engineering 7893 Software Engineering – p.9/10

Page 45: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Lectures

� Less than the first half of the term

� Topics taken (mostly) from Ghezzi et al

Software production processSoftware engineering principlesSoftware design (a little)VerificationProject specific (e.g. ideas for AI)

Engineering 7893 Software Engineering – p.9/10

Page 46: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Lectures

� Less than the first half of the term

� Topics taken (mostly) from Ghezzi et al

Software production process

Software engineering principlesSoftware design (a little)VerificationProject specific (e.g. ideas for AI)

Engineering 7893 Software Engineering – p.9/10

Page 47: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Lectures

� Less than the first half of the term

� Topics taken (mostly) from Ghezzi et al

Software production process

Software engineering principles

Software design (a little)VerificationProject specific (e.g. ideas for AI)

Engineering 7893 Software Engineering – p.9/10

Page 48: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Lectures

� Less than the first half of the term

� Topics taken (mostly) from Ghezzi et al

Software production process

Software engineering principles

Software design (a little)

VerificationProject specific (e.g. ideas for AI)

Engineering 7893 Software Engineering – p.9/10

Page 49: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Lectures

� Less than the first half of the term

� Topics taken (mostly) from Ghezzi et al

Software production process

Software engineering principles

Software design (a little)

Verification

Project specific (e.g. ideas for AI)

Engineering 7893 Software Engineering – p.9/10

Page 50: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Lectures

� Less than the first half of the term

� Topics taken (mostly) from Ghezzi et al

Software production process

Software engineering principles

Software design (a little)

Verification

Project specific (e.g. ideas for AI)

Engineering 7893 Software Engineering – p.9/10

Page 51: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Course Objectives

� Introduction to SE terms and practices

Practice in designing a reasonably large system

Exposure to team software development

Understanding of the software development process

Engineering 7893 Software Engineering – p.10/10

Page 52: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Course Objectives

� Introduction to SE terms and practices

� Practice in designing a reasonably large system

Exposure to team software development

Understanding of the software development process

Engineering 7893 Software Engineering – p.10/10

Page 53: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Course Objectives

� Introduction to SE terms and practices

� Practice in designing a reasonably large system

� Exposure to team software development

Understanding of the software development process

Engineering 7893 Software Engineering – p.10/10

Page 54: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Course Objectives

� Introduction to SE terms and practices

� Practice in designing a reasonably large system

� Exposure to team software development

� Understanding of the software development process

Engineering 7893 Software Engineering – p.10/10

Page 55: Engineering 7893 Software Engineeringavardy/courses/se/notes/intro.pdf · Object-oriented design (UML, design patterns) Engineering 7893 Software Engineering Œ p.2/10. Admin

Course Objectives

� Introduction to SE terms and practices

� Practice in designing a reasonably large system

� Exposure to team software development

� Understanding of the software development process

Engineering 7893 Software Engineering – p.10/10