Overview
Sometimes, in the course of a development, the requirements for a project will change and adapt. When this happens, the Product Owner will need to re-prioritize the Product Backlog so that the team can focus on the features deemed most important. Typically, the new features would be broken down into user stories that are deemed “ready to work” by the team. This ensures that everyone understands the new features and the team’s adjusted priorities. In this assignment, your Product Owner will announce an adjusted feature for the SNHU Travel project. You will assume the role of developer and make the changes to existing code based on the new information from the Product Owner.
Note: If you have questions or issues with this assignment, submit them to the Development Questions Discussion topic. Check the topic periodically and provide answers to your classmates. However, do not ask for or provide specific code for an assignment.
Prompt
Watch the
Product Owner and Scrum-agile Team Animation PDF
interaction between the Product Owner and the rest of the Scrum Team. A text version of the animation is available here:
CS 250
Product Owner and Scrum-agile Team Animation Text Version
Word Document
.
As the developer, you have been asked to modify existing code so that it fulfills the new requirements from the Product Owner.
1. Download the
Slide Show.zip
file for the updated Slide Show control the Product Owner gave you in Module Four, and import it into Eclipse.
2.
Update the Slide Show control with pictures and text for the new requirements specified by the Product Owner this week.
Note: Carefully read through the code that you have been given first. Be sure to
only change the elements related to the updated requirements from the Product Owner.
3. Provide
specific comments that explain the purpose of lines or sections of your code and detail the approach and method you took to achieve a specific task in the code.
4. After you have finished completing your assignment, check the code you created. Ask yourself the following questions as you review your work:
· Did I revise all appropriate sections of code related to the new requirements?
· Is the software
functional?
· Did I add comments to explain the changes I made and why I made them?
Guidelines for Submission
Export your Eclipse Java Project to an executable JAR file. This will include the source code and the image files so the full basic Slide Show control can run. Next, compress (zip) your JAR file and submit your zipped folder to Brightspace.
Note: For additional instructions on how to create an executable JAR file, watch the following video:
SNHU Export Files to JAR Video
. For additional instructions on how to compress (zip) files, review the
Compressing Files in Windows tutorial PDF
.
Product Owner and Scrum-agile Team Animation Text Version
Slide 1: Christy, the Product Owner, has just returned from a meeting with SNHU Travel management and has called the Scrum-agile Team to a meeting. She has some news to share about how SNHU plans to beat out the competition by unveiling their booking tool as one of the first to market among the big players.
Slide 2: Christy (Product Owner): “I’ve just met with SNHU Travel management, and they found an industry report showing that detox/wellness vacations are going to be the next big travel sector.”
Slide 3: Christy (Product Owner): “SNHU Travel wants to be on the cutting edge and wants the focus of their new booking tool to be detox/wellness travel. Their management is very excited about this opportunity.”
Slide 4: Nicole (Developer): “What?! Are you saying that everything we’ve done to this point needs to be scrapped?”
Slide 5: Christy (Product Owner): “No, no, no! We just want the types of travel and vacations to focus on detox/wellness travel.”
Slide 6: Brian (Tester): “Well, it will take some work, but I should be able to update my test cases for this.”
Slide 7: Ron (Scrum Master): “Do we still have the same schedule, or are we moving the deadlines back to accommodate this major shift in content?”
Slide 8: Christy (Product Owner): “Since this is agile, we want to keep to the same dates. I will deprioritize other stories in the Product Backlog so that we can focus on this product. What can we get done in the time we have left?”
Slide 9: Nicole (Developer): “Let me take a look at where we are with our features and I will get back to you about what will be possible.”
Slide 10: You have finished the animation. Go back and complete your assignment.
image1.tmp
Slide Show/.classpath
Slide Show/.project
Slide Show
org.eclipse.jdt.core.javabuilder
org.eclipse.jdt.core.javanature
Slide Show/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
Slide Show/bin/resources/TestImage1
Slide Show/bin/resources/TestImage2
Slide Show/bin/resources/Testimage3
Slide Show/bin/resources/TestImage4
Slide Show/bin/resources/TestImage5
Slide Show/bin/SlideShow$1.class
synchronized
class SlideShow$1
implements java.awt.event.ActionListener {
void SlideShow$1(SlideShow);
public void
actionPerformed(java.awt.event.ActionEvent);
}
Slide Show/bin/SlideShow$2.class
synchronized
class SlideShow$2
implements java.awt.event.ActionListener {
void SlideShow$2(SlideShow);
public void
actionPerformed(java.awt.event.ActionEvent);
}
Slide Show/bin/SlideShow$3.class
synchronized
class SlideShow$3
implements Runnable {
void SlideShow$3();
public void
run();
}
Slide Show/bin/SlideShow.class
public
synchronized
class SlideShow
extends javax.swing.JFrame {
private javax.swing.JPanel
slidePane;
private javax.swing.JPanel
textPane;
private javax.swing.JPanel
buttonPane;
private java.awt.CardLayout
card;
private java.awt.CardLayout
cardText;
private javax.swing.JButton
btnPrev;
private javax.swing.JButton
btnNext;
private javax.swing.JLabel
lblSlide;
private javax.swing.JLabel
lblTextArea;
public void SlideShow()
throws java.awt.HeadlessException;
private void
initComponent();
private void
goPrevious();
private void
goNext();
private String
getResizeIcon(int);
private String
getTextDescription(int);
public
static void
main(String[]);
}
Slide Show/src/resources/TestImage1
Slide Show/src/resources/TestImage2
Slide Show/src/resources/Testimage3
Slide Show/src/resources/TestImage4
Slide Show/src/resources/TestImage5
Slide Show/src/SlideShow.java
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.Color;
public class SlideShow extends JFrame {
//Declare Variables
private JPanel slidePane;
private JPanel textPane;
private JPanel buttonPane;
private CardLayout card;
private CardLayout cardText;
private JButton btnPrev;
private JButton btnNext;
private JLabel lblSlide;
private JLabel lblTextArea;
/**
* Create the application.
*/
public SlideShow() throws HeadlessException {
initComponent();
}
/**
* Initialize the contents of the frame.
*/
private void initComponent() {
//Initialize variables to empty objects
card = new CardLayout();
cardText = new CardLayout();
slidePane = new JPanel();
textPane = new JPanel();
textPane.setBackground(Color.BLUE);
textPane.setBounds(5, 470, 790, 50);
textPane.setVisible(true);
buttonPane = new JPanel();
btnPrev = new JButton();
btnNext = new JButton();
lblSlide = new JLabel();
lblTextArea = new JLabel();
//Setup frame attributes
setSize(800, 600);
setLocationRelativeTo(null);
setTitle(“Top 5 Destinations SlideShow”);
getContentPane().setLayout(new BorderLayout(10, 50));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Setting the layouts for the panels
slidePane.setLayout(card);
textPane.setLayout(cardText);
//logic to add each of the slides and text
for (int i = 1; i “;
} else if (i==2){
image = ”
“;
} else if (i==3){
image = ”
“;
} else if (i==4){
image = ”
“;
} else if (i==5){
image = ”
“;
}
return image;
}
/**
* Method to get the text values
*/
private String getTextDescription(int i) {
String text = “”;
if (i==1){
text = “#1 The Grand Canyon.
Spectacular canyon views and hiking.”;
} else if (i==2){
text = “#2 Top Destination”;
} else if (i==3){
text = “#3 Top Destination”;
} else if (i==4){
text = “#4 Top Destination”;
} else if (i==5){
text = “#5 Top Destination”;
}
return text;
}
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
SlideShow ss = new SlideShow();
ss.setVisible(true);
}
});
}
}