Lab 2
Get started now

Objectives

  • Translate UML class diagrams into source code
  • Construct software which uses class inheritance
  • Employ method Overriding in the development of software
  • Use the super keyword to execute constructors in a superclass
  • Use the java.util.ArrayList collection class to hold class data

Introduction

When writing a research paper, it is very important to keep your sources straight. You will discover this in your GS-1002 course, where you will learn about formal research papers. You will also use this skill later on in your academic career here at MSOE.

BibTeX is reference management software for formatting lists of references, and is very commonly used in engineering research papers at the graduate level. The BibTeX tool is typically used together with the LaTeX document preparation system, allowing one to easily manage bibliography entries and a formal paper. BibTeX makes it easy to cite sources in a consistent manner, by separating bibliographic information from the presentation of this information.

For example, we might use a book as a reference. An appropriate book entry is that which is shown below.

@BOOK { SE1021Text,
author    = "John Dean and Raymond Dean", 
title     = "Introduction to Programming with Java",
publisher = "McGraw Hill",
year      = "2014"
}

An article, published in a magazine, might be referenced in the format shown below.

@ARTICLE { WSMA2006,
author    = "Walter Schilling and Dr. Mansoor Alam", 
title     = "Integrate static analysis into a software development process",
journal   = "Embedded Systems Design",
pages     = "67-72",
year      = "2006"
}

Note that the unique identifiers in these two examples (SE1021Text and WSMA2006) were hand chosen. For your code, you will create them in an automated way where the first is REF0, then REF1, then REF2, and so on (see sample output below).

In this lab, you are going to create a system which will allow the user to enter the fields for a given set of references and then be able to print out the bibtex entries for the entered references. You will be provided with a Main class, but are responsible for developing all other code for this project. Javadoc is available for each method.

UML Class Diagram

All of the classes must be in a package with your username. (You will need to modify the package declaration for the Main from FIXME to your MSOE username.)

Sample Program Execution

Enter 0 to exit the program.
Enter 1 to enter a new book into the reference set.
Enter 2 to enter a new article into the reference set.
Enter 3 to printout the entries in Bibtex format.
1
Enter the author of the book
John Williams
Enter the title of the book
Star Wars: The Musical Score
Enter the publisher for the book.
20th Century Fox
Enter the copyright year for the book.
1977
Enter 0 to exit the program.
Enter 1 to enter a new book into the reference set.
Enter 2 to enter a new article into the reference set.
Enter 3 to printout the entries in Bibtex format.
2
Enter the author of the article
Carl Sagan
Enter the title of the article
A Celebration of Isaac Asimov: A Man for the Universe
Enter the title of the journal.
The Skeptical Inquirer
Enter the first page of the article.
5
Enter the last page of the article.
7
Enter the copyright year for the article.
1992
Enter 0 to exit the program.
Enter 1 to enter a new book into the reference set.
Enter 2 to enter a new article into the reference set.
Enter 3 to printout the entries in Bibtex format.
3
@BOOK { REF0,
author = "John Williams",
title = "Star Wars: The Musical Score",
publisher = "20th Century Fox",
year = "1977"
},
@ARTICLE { REF1,
author = "Carl Sagan",
title = "A Celebration of Isaac Asimov: A Man for the Universe",
journal = "The Skeptical Inquirer",
pages = "5-7",
year = "1992"
},
Enter 0 to exit the program.
Enter 1 to enter a new book into the reference set.
Enter 2 to enter a new article into the reference set.
Enter 3 to printout the entries in Bibtex format.
0
Goodbye

Lab Deliverables

See your professor's instructions for details on submission guidelines and due dates.
Dr. Dennis' students: See Blackboard
See Dr. Rebenitsch for instructions
Dr. Taylor's students: See below
See Prof. Ung for instructions
If you have any questions, consult your instructor.

Acknowledgment

This laboratory assignment was developed by Dr. Walter Schilling.

Monday, 09-Jan-2017 23:00:33 CST