model instruction plan - houston independent school district€¦ · • the students will be able...

35
Lesson Plan Course Title: Advanced Computer Programming Session Title: Project Management Basics Lesson Duration: Weeks/Days/Hours/Minutes 3 weeks Performance Objective: Upon completion of this assignment, the student will be able to: identify various features of Project Management such as development models, software life cycle and their components. The student should also be able to: perform some of the functions such as creating and implementing a test plan and time management. Specific Objectives: The student will be able to determine how rapidly they develop software using a burn down chart. The student will be able to identify and list the components of the Software Life Cycle The student will be able to perform a needs analysis on a set of requirements through creating user stories. The student will be able to identify and describe several software development methodologies. The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations: 130.277 (c) 1.I – demonstrate planning and time-management skills such as project management and storyboarding 3.D – conduct project needs analysis 4.B – identify software resources and individual project risks 4.C – identify software development methodologies 6.A – articulate the information system life cycle 6.B – identify system analysis issues related to design, testing, implementation, and maintenance 6.D – identify current information life cycle models 8.S – prepare a project testing plan 9.A – develop a test plan 9.C – develop test cases 9.D – perform software testing Instructor/Trainer References: Huijbers, Rico, Funs Lemmens, Bram Senders, Sjoerd Simons, Bert Spaan, Paul Van

Upload: others

Post on 03-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

Lesson Plan Course Title: Advanced Computer Programming Session Title: Project Management Basics

Lesson Duration: Weeks/Days/Hours/Minutes 3 weeks

Performance Objective:

Upon completion of this assignment, the student will be able to: identify various features of Project Management such as development models, software life cycle and their components.

The student should also be able to: perform some of the functions such as creating and implementing a test plan and time management.

Specific Objectives: • The student will be able to determine how rapidly they develop software using a burn

down chart. • The student will be able to identify and list the components of the Software Life Cycle • The student will be able to perform a needs analysis on a set of requirements through

creating user stories. • The student will be able to identify and describe several software development

methodologies. • The students will be able to prepare, develop and perform a software test plan.

Preparation

TEKS Correlations: 130.277 (c) • 1.I – demonstrate planning and time-management skills such as project management

and storyboarding • 3.D – conduct project needs analysis • 4.B – identify software resources and individual project risks • 4.C – identify software development methodologies • 6.A – articulate the information system life cycle • 6.B – identify system analysis issues related to design, testing, implementation, and

maintenance • 6.D – identify current information life cycle models • 8.S – prepare a project testing plan • 9.A – develop a test plan • 9.C – develop test cases • 9.D – perform software testing

Instructor/Trainer

References: • Huijbers, Rico, Funs Lemmens, Bram Senders, Sjoerd Simons, Bert Spaan, Paul Van

Page 2: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

2

Tilburg, and Koen Vossen. Software Project Management: Methodologies & Techniques. Thesis. Technische Universiteit Eindhoven, 2004. Print.

• Schach, Stephen R. Software Engineering with Java. Chicago: Irwin, 1997. Print. • Kölling, Michael. "Unit Testing in BlueJ." Web. 3 June 2011.

<http://bluej.org/tutorial/testing-tutorial.pdf>. • CodingBat. Web. 30 May 2011. <http://javabat.com>. • Rosetta Code. Web. 26 May 2011. <http://rosettacode.org/>. • HP CodeWars - Home. Web. 26 May 2011. <http://hpcodewars.org/>. • Content developer knowledge

Instructional Aids: Presentations Project Management – Basics Project Management – Software Life Cycle Project Management - Methodologies

Worksheets Waterfall Model worksheet Iterative Model worksheet Life Cycle Pitfalls worksheet

Quizzes (Quiz and Key provided for each) Project Management Basics Quiz Project Management Software Life Cycle Quiz Project Management Methodologies Quiz

Case Study Labs (Lab and Key provided for each) Lab 1 – Requirements Lab 2 – Planning Lab 3 – Implementation Lab 4 – Verification

Case Study Student Source Files (a solution is also provided, though the instructor is encouraged to create their own solution) Calculator.java CalcEngine.java CalcView.java

Materials Needed: JavaDocs (either through internet access or saved to student’s workstation) Copies of Worksheets Copies of Quizzes Copies of Labs Student Files should be loaded on student computers, or provided in some manner.

Equipment Needed: Each student will require a computer with a java compiler with a java JDK version of 1.5 or newer.

Learner

Page 3: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

3

• Students should have observation journals to record common errors and other observations.

• Students should be comfortable with the concepts of Objects, Object-Oriented Design and be able to develop a simple program.

Introduction

MI Introduction (LSI Quadrant I):

Present the students with the following scenario: You are part of a programming team developing an application. There are six of you working on the same program. What are some of the things you can do to make sure that each of you does your fair share of the work, but at the same time get the program to work with as little tweaking as possible?

Outline

MI Outline (LSI Quadrant II): Instructor Notes:

I. Project Management Basics

a. Initiation b. Planning c. Execution d. Closure

This is an overview.

The Basics Slides go over this information.

II. Software Life Cycle

a. Requirements b. Design c. Implementation d. Verification e. Deployment f. Maintenance g. Implementations

After the overview here, you can safely start the Case Study. For the case study, it is important to focus on the process more than the correctness of the code.

This material is covered in the Software Life Cycle Slides.

III. Methodologies a. Waterfall b. Rational Unified Process c. eXtreme Programming

This section is covered in the Methodologies Slides.

Note that Waterfall is considered a bad example of design methodology. Also, eXtreme Programming is properly capitalized

Application

MI Guided Practice (LSI Quadrant III):

Page 4: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

4

Students should be guided through the first two labs. It may even be helpful to have them work on the labs in pairs or teams of three (but no larger).

MI Independent Practice (LSI Quadrant III):

Completion of Worksheets and Case Study.

Summary

MI Review (LSI Quadrants I and IV):

Students will incorporate the concepts introduced by completing the hands on labs as well as worksheets. It would also be a good idea to have the students keep an observation journal to record observations of common errors they encounter and what kinds of results they are getting.

Evaluation

MI Informal Assessment (LSI Quadrant III):

There are periodic questions in the presentations that the instructor can use to gauge some level of understanding.

The instructor should present the students with a scenario, and, in small groups, have the students determine the most appropriate data structure to represent the scenario, and why they chose it.

You may also use the worksheets to assess whether or not the students are progressing well. The worksheets are important in determining whether or not the students are ready to complete the quizzes themselves.

MI Formal Assessment (LSI Quadrant III, IV):

Instructor may use any or all of the following instruments for formal assessment:

Basics Quiz Software Life Cycle Quiz Methodologies Quiz Case Study Results User Stories (use cases) Design plan Test Plan Burn-Down Chart Completed Tests

Page 5: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

5

Extension

MI Extension/Enrichment (LSI Quadrant IV):

There are many more project management methodologies and techniques. Students may consider exploring other methodologies such as SCRUM or Agile. Students interested in project management should be encouraged to read any of the numerous books on the subject such as “The Mythical Man Month” or “The Pragmatic Programmer.” Ambitious students may consider applying for an internship with a local software development company.

Icon MI Teaching Strategies Personal Development Strategies

Verbal/ Linguistic

Lecture, discussion, journal writing, cooperative learning, word origins

Reading, highlighting, outlining, teaching others, reciting information

Logical/ Mathematical

Problem solving, number games, critical thinking, classifying and organizing, Socratic questioning

Organizing material logically, explaining things sequentially, finding patterns, developing systems, outlining, charting, graphing, analyzing information

Visual/Spatial

Mind-mapping, reflective time, graphic organizers, color-coding systems, drawings, designs, video, DVD, charts, maps

Developing graphic organizers, mind-mapping, charting, graphing, organizing with color, mental imagery (drawing in the mind’s eye)

Musical/ Rhythmic

Use music, compose songs or raps, use musical language or metaphors

Creating rhythms out of words, creating rhythms with instruments, playing an instrument, putting words to existing songs

Bodily/ Kinesthetic

Use manipulatives, hand signals, pantomime, real life situations, puzzles and board games, activities, role-playing, action problems

Moving while learning, pacing while reciting, acting out scripts of material, designing games, moving fingers under words while reading

Intrapersonal

Reflective teaching, interviews, reflective listening, KWL charts

Reflecting on personal meaning of information, studying in quiet settings, imagining experiments, visualizing information, journaling

Interpersonal

Cooperative learning, role-playing, group brainstorming, cross-cultural interactions

Studying in a group, discussing information, using flash cards with other, teaching others

Naturalist

Natural objects as manipulatives and as background for learning

Connecting with nature, forming study groups with like minded people

Existentialist

Socratic questions, real life situations, global problems/questions

Considering personal relationship to larger context

Page 6: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

6

Name: _______________________ Date: _______________ Period: _______

Project Management – Waterfall Model Draw a diagram of the Waterfall Model:

Page 7: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

7

Name: _______________________ Date: _______________ Period: _______

Project Management – Waterfall Model KEY Draw a diagram of the Waterfall Model:

Page 8: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

8

Name: _______________________ Date: _______________ Period: _______

Project Management – Iterative Model Draw a diagram of an iterative model:

Page 9: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

9

Name: _______________________ Date: _______________ Period: _______

Project Management – Iterative Model KEY Draw a diagram of an iterative model:

Page 10: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

10

Name: _______________________ Date: _______________ Period: _______

Project Management – Life Cycle Pitfalls List at least two pitfalls that might occur during each of the stages of the Software Life Cycle. Requirements Gathering

Design

Implementation

Verification

Maintenance

Page 11: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

11

Name: _______________________ Date: _______________ Period: _______

Project Management – Life Cycle Pitfalls KEY List at least two pitfalls that might occur during each of the stages of the Software Life Cycle. Requirements gathering:

Any of the answers below are valid: - Client says one thing but means something else - Not all requirements are specified (incomplete specification) - Misunderstanding about what the client wants

Design:

Any of the answers below are valid: - Misinterpretation of requirements - Inefficient or wrong solution to a problem - Incomplete or over-complicated design

Implementation

Any of the answers below are valid: - Implementing faulty or “buggy” code - Misinterpretation of design - Not following the design and “doing your own thing” - Mismatched components preventing integration - Lack of communication between developers - Overwriting or deleting someone else’s work - Not understanding someone else’s code and changing how it works

Verification:

Any of the answers below are valid: - Incomplete tests (not testing for something you should) - Ignoring test results - Misinterpreting test results

Page 12: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

12

Maintenance:

Any of the answers below are valid: - Misinterpretation of requests from client - “Fixing” something that isn’t broken - Almost any of the concerns that may arise during the rest of the software

life cycle

Page 13: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

13

Name: _______________________ Date: _______________ Period: _______

Program Management – Basics Quiz

1. Which of the following Project Management processes determines the feasibility of a project?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

2. Which of the following Project Management processes would include selecting a development team?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

3. Which of the following Project Management processes would involve Risk Assessment and Risk Management?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

4. Which of the following Project Management processes would scheduling occur in?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

5. Which of the following Project Management processes would a development methodology be selected?

a. Project Initiation

Page 14: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

14

b. Project Planning c. Project Execution d. Project Closure

6. What is a CASE tool?

a. A device to examine the inside of a computer b. A program to package software c. A program to aid in the design of software d. Computer Aided Software Evaluator

7. What methodology are the methodologies discussed in this lesson?

a. Rational Unified Process

b. Waterfall

c. eXtreme Programming

d. all of the above

8. Which of the following Project Management processes includes writing code?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

9. Which of the following Project Management processes includes quality assurance?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

10. Which of the following Project Management processes might involve a post-mortem?

a. Project Initiation b. Project Planning c. Project Execution

Page 15: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

15

d. Project Closure

11. During which of the following Project Management processes would you deliver software to the client?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

Page 16: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

16

Name: _______________________ Date: _______________ Period: _______

Program Management – Basics Quiz KEY

1. Which of the following Project Management processes determines the feasibility of a project?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

2. Which of the following Project Management processes would include selecting a development team?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

3. Which of the following Project Management processes would involve Risk Assessment and Risk Management?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

4. Which of the following Project Management processes would scheduling occur in?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

5. Which of the following Project Management processes would a development methodology be selected?

a. Project Initiation

Page 17: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

17

b. Project Planning c. Project Execution d. Project Closure

6. What is a CASE tool?

a. A device to examine the inside of a computer b. A program to package software c. A program to aid in the design of software d. Computer Aided Software Evaluator

7. What methodology are the methodologies discussed in this lesson?

a. Rational Unified Process

b. Waterfall

c. eXtreme Programming

d. all of the above

8. Which of the following Project Management processes includes writing code?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

9. Which of the following Project Management processes includes quality assurance?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

10. Which of the following Project Management processes might involve a post-mortem?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

Page 18: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

18

11. During which of the following Project Management processes would you deliver software to the client?

a. Project Initiation b. Project Planning c. Project Execution d. Project Closure

Page 19: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

19

Name: _______________________ Date: _______________ Period: _______

Program Management – Software Life Cycle Quiz

1. Which step of the Software Life Cycle would involve testing software?

a. Design b. Implementation c. Requirements d. Verification

2. Which step of the Software Life Cycle would involve programming?

a. Design b. Implementation c. Requirements d. Verification

3. Which step of the Software Life Cycle would involve requirements analysis?

a. Design b. Implementation c. Requirements d. Verification

4. Which step of the Software Life Cycle is used to determine what the software should do?

a. Design b. Implementation c. Requirements d. Verification

5. List one pitfall that could occur during requirements gathering:

Page 20: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

20

6. List one pitfall that could occur during design:

7. List one pitfall that could occur during implementation:

8. List one pitfall that could occur during verification:

Page 21: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

21

9. List one pitfall that could occur during maintenance:

10. Draw a diagram of the Waterfall Model:

11. Draw a diagram of an iterative model:

Page 22: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

22

Name: _______________________ Date: _______________ Period: _______

Program Management – Software Life Cycle Quiz KEY

12. Which step of the Software Life Cycle would involve testing software?

a. Design b. Implementation c. Requirements d. Verification

13. Which step of the Software Life Cycle would involve programming?

a. Design b. Implementation c. Requirements d. Verification

14. Which step of the Software Life Cycle would involve requirements analysis?

a. Design b. Implementation c. Requirements d. Verification

15. Which step of the Software Life Cycle is used to determine what the software should do?

a. Design b. Implementation c. Requirements d. Verification

16. List one pitfall that could occur during requirements gathering:

Any of the answers below are valid: - Client says one thing but means something else - Not all requirements are specified (incomplete specification) - Misunderstanding about what the client wants

Page 23: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

23

17. List one pitfall that could occur during design:

Any of the answers below are valid: - Misinterpretation of requirements - Inefficient or wrong solution to a problem - Incomplete or over-complicated design

18. List one pitfall that could occur during implementation:

Any of the answers below are valid: - Implementing faulty or “buggy” code - Misinterpretation of design - Not following the design and “doing your own thing” - Mismatched components preventing integration - Lack of communication between developers - Overwriting or deleting someone else’s work - Not understanding someone else’s code and changing how it works

19. List one pitfall that could occur during verification:

Any of the answers below are valid: - Incomplete tests (not testing for something you should) - Ignoring test results - Misinterpreting test results

Page 24: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

24

20. List one pitfall that could occur during maintenance:

Any of the answers below are valid: - Misinterpretation of requests from client - “Fixing” something that isn’t broken - Almost any of the concerns that may arise during the rest of the software

life cycle

21. Draw a diagram of the Waterfall Model:

22. Draw a diagram of an iterative model:

Page 25: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

25

Page 26: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

26

Name: _______________________ Date: _______________ Period: _______

Program Management – Methodologies Quiz

1. What is the most commonly used software development models?

a. Waterfall b. Rational Unified Process (RUP) c. eXtreme Programming (XP) d. None of the above

2. What are the six steps of Waterfall development, in order?

3. What is an advantage of using Waterfall Development?

4. What is a disadvantage of using Waterfall Development?

5. What is an advantage of using Ration Unified Process Development?

Page 27: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

27

6. What is a disadvantage of using Ration Unified Process Development?

Page 28: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

28

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 1 Introduction: To examine the various stages of Project Management you are going to use the development process to design and build a four function calculator. Each step of the way, you will focus on an aspect of the software life cycle and get a feel for how project management is implemented. To get started, you need to gather the requirements for the project. The client has requested that you build a four function calculator. The client has drawn a sketch of what they want it to look like using a digital paint program.

The program should be in a window. There needs to be a display and 16 button: the 10 numbers, the four functions +,-,/ and *, as well as a Clear button to clear the screen and register and an equals button to evaluate the last entered equation. When the program is opened, it should display the number 0 and the register should be storing a null value (the integer null value is 0). The number displayed in the display should be the last number in the register unless the user has pressed a number button. If a number button is pressed, the display should show the number being typed in until an operator is pressed. Once an operator is pressed, the value should be calculated, stored in the register and then display that number in the register. Assignment: With a partner, try to come up with a complete set of User Stories and Use Cases for how a four function calculator might be used. For example, a use case might be: “I press the ‘C’ button and it clears the register and the display displays the number 0.”

Page 29: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

29

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 1 KEY The students should have a series of use cases similar to the list provided. They should have at least those shown here. They may have more, depending on how ambitious they are. You may want to suggest the ones they are missing to help guide them. “I press the ‘C’ button and it clears the register and the display displays the number 0.” “When I open the Calculator, the display window shows the number 0.” “When I press a number button, it multiplies the value in the register by ten then adds the number I pressed. The number being typed is shown in the display without the components from the register.” “When I press an operator, it applies the last operator on the value in the register and the value in the display (register op display) and stores the result in the register then shows the value in the register.”

Page 30: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

30

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 2 Planning:

Now that we know what the requirements are, we need to look at how we are going to put the program together. To do this, you are going to put together a plan to assemble the project and design a test plan to determine if the program works. To eliminate the frustration of having to figure out the GUI, a graphical interface is provided for you. All you have to do is fill in the details of a Calculation Engine or CalcEngine. We know we have to support addition, subtraction, division and multiplication, but what about = or evaluation? Also, how should we handle entering numbers? Assignment 1 Create a design for how you plan to implement individual features. Include a design for:

- Storing the number displayed

- Performing the operations

- Evaluating a value based on the value in the register and the one in the display

- How to store numbers entered from the button pad

- Anything else you think you might need.

Assignment 2 Create a test plan. Come up with a series of at least 10 tests that you will use to determine if the calculator is functioning properly. An example test would be “Press 3, then 2, then 5. The number 325 should show in the display.”

Page 31: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

31

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 2 KEY Planning: Assignment 1

Develop a solution for the calculator project and compare the students’ plans with your solution (or use the solution provided with the lesson).

A valid answer will contain ideas on how to solve all the key problems: • Storing the number displayed

• Performing the operations

• Evaluating a value based on the value in the register and the one in the display

• How to store numbers entered from the button pad

A correct answer is less important than the process of developing the plan, but help students with suggestions on how they can improve their design. For example, for “Store the number displayed,” if they said, “create a variable to store the number entered,” this is minimal effort, but at least they know they need a variable. A complete design spec for that specific line would look something like: “Accept input from the interface. Each time a number is received, append the number to the end of the sequence. This can be done by storing the value as a string and using the append() method of the String class. The String will be directly set to the textfield.” This is not the only solution, as you see in the solution provided; the number was stored as an int. Again, the actual solution doesn’t matter; thinking about viable solutions is what matters here.

Assignment 2 The test plan needs to include at a minimum the following features: A test to insure numbers are entered correctly A test for each of the operators to make sure they work ( + , - . * , / , = , and C)

Page 32: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

32

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 3 Implementation:

You are ready to implement your program. Before you do, though, we’re going to look at one of the things you need to do in Project Management…time tracking. There are 6 features in the calculator that you are going to implement:

• number entry • addition • subtraction • multiplication • division • evaluation

Assignment Draw a graph with six marks on the y axis and 25 marks on the x axis The y axis is the number of features you are going to implement; the x axis is 10 minute intervals. Place a dot on x = 0, y = 6. This is your starting position. Then begin implementing your calculator. When you finish a feature, mark the amount of time it took you since the last feature. You should have a descending graph. Your chart should look like the example when you are done. This is called a burn-down chart.

Page 33: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

33

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 3 KEY Assignment Check each student’s graph to make sure it looks similar to the one on the right. Check often to ensure they are recording it correctly. Don’t worry if it takes longer than the 4 hours allotted.

Page 34: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

34

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 4 Verification:

Now that you’ve implemented your calculator, get out the test plan you created in Lab 2. Run your test plan determining if the tests pass or fail. If any fail, make corrections and run the tests again (keep separate copies of each test run). Once all your tests pass, you are ready to move to deployment. Deliver your project to your teacher with all copies of your test runs. Since this is a simple project, you probably won’t need to worry about maintaining it…unless you wanted to add features….see your teacher for extra credit…

Page 35: Model Instruction Plan - Houston Independent School District€¦ · • The students will be able to prepare, develop and perform a software test plan. Preparation TEKS Correlations:

IT: Advanced Computer Programming: Data Structures Lesson Plan Copyright © Texas Education Agency, 2013

35

Name: _______________________ Date: _______________ Period: _______

Project Management – Case Study Lab 4 KEY Verification: Check to make sure the students have run all their tests and determined if they passed or failed and made necessary corrections.