Software
Engineering
"Tell me and I forget. Show me and I
remember. Involve me and I understand."
Chinese proverb
To be announced step by step as
we go forward
- Eclipse and UMLet
(Eclipse
Shortcuts, Help)
- If needed
Download JDK 7
and Development Kit Documentation 7 (JDK
7 API Specification):
-
Software Downloads
- Download and install Eclipse IDE for Java Develepers:
http://www.eclipse.org/downloads/
- Download the Eclipse Subversion (Subclipse) plug-in from http://subclipse.tigris.org/. Use the Eclipse Update Manager, pointed at http://subclipse.tigris.org/update_1.8.x.
- Download UMLet, Free UML Tool for Fast UML Diagrams - http://www.umlet.com/ and place it into your Eclipse plugin directory.
- Install two Eclipse projects example IO-PJWSTK project
and CoffeeMakerStudent-PJWSTK (Import) in your Eclipse workspace.
- Uncheck "Project/Build Automatically"
- Place a directory for a provided zip archive in your Eclipse "workspace" directory
- Create a Java Project
- Use: "File/New/Project"
- Select: "Java/Java Project" and click "Next"
- Select "Create project from existing source" and point to your source directory
- Rapid development in Eclipse: Hovers (check editor preferences); Open
Declaration (Ctrl+Left Click or F3, Ctrl+F3;
Alt+<- and Alt->); Outline vs. Lookup Dialog (Ctrl+O); Content Assist (Ctrl+Space)
- insert types and variable names, method name completion, source code
templates; Type Hierarchy (F4) vs. Quick Type Hierarchy (Ctrl+T); open
type name or hierarchy: Ctrl+Shif+T and Ctrl+Shif+H.
- Eclipse and building projects with Ant.
- Eclipse and configuration management (SVN).
- Due dates
will be
announced step by step as we go forward, they may change. You should check the course
website pages on a near daily basis for updates.
- All code
and modeling assignments have to be submitted as an archived Eclipse
project.
- Assignments
submitted after the deadline are not considered.
- If you prefer, you can form a team up to three memebers and submitt the solutions on the behalf of the team. Please list always all team memebers. A team leader should report the team composition before 09.01.2013. Each team member participation on the project must be evaluated by the correspomding team leader due 14.01.2013.
- HA1. (due 09-01-2013) Import the IO-PJWSTK and CoffeeMakerStudent-PJWSTK projects into your Eclipse development workspace. Rename your CoffeeMaker project by appending at the end your student ID, e.g., from "CoffeeMaker" to CoffeeMaker-1140 and Share it in the class repository. Now, feel free to update the sources of your own new project and maintain safely in the repository. Create a 4-blocker for your CoffeeMaker project, then with UMLet create a UML use case diagram including descriptions that model
the requirements of the system for the CoffeeMaker project.
The CoffeeMaker requirements and a sample use case diagram may be found here. Use at least the following roles: Drinker, Editor, Admin. Save your 4-blocker and UML model into a models directory and a diagram as an
image file into the images directory in your project. Commit your project. Email your archived images directory
to: [email protected] with the subject: PJWSTK Homework1 and your project name in the class repository.
-
HA2. (due 11-01-2013) Develop for the CoffeeMaker project used in HA1 a coffeeMaker-build.xml
Ant build file that automates all the project tasks as specified in building the IO-PJWSTK project (in file io-pjwstk-build.xml).
Also, create an Ant main-run.xml script for the CoffeeMaker Main class with
"run-class" and "run-jar" targets as for example in
IO-PJWSTK/bin/greeter1-run.xml. Fully document the edu.ncsu.csc326.cofeemaker.Recipe.java using javadoc (How
to Write Doc Comments for the Javadoc Tool) and Java code conventions
(Code
Conventions for the Java Programming Language) with the minimum at Java Language Coding Guidelines. Test your progress with
API pages generated with the javadoc Ant task, all methods have to be well documented. Take a look at the CoffeeMaker User Stories/Requirements to look for NCSU requirements. The CoffeeMaker code is complete but with a
few bugs, ignore them for now (see assignment HA3 for fixing them). Next, using the UMLet plugin, create an analysis
and design class diagram and one use case realization analyzed and designed for the same use case in the CoffeeMaker project. Export your Eclipse
project with javadoc pages in the docs directory and UML models (Export/General/Archive File or Export/Java/JAR file) and email it
to: [email protected] with the subject: PJWSTK Homework2.
-
HA3. (due 14-01-2013) For this exercise we will be using the
CoffeeMaker project developed in HA2.
We all
know that most computer scientists love caffeine, so the Computer Science
department is looking to put a coffee kiosk in the new building. The coffee
kiosk must be able to make coffee for students to purchase. Take a look at
the CoffeeMaker User Stories/Requirements
to look for boundaries and other things to test. The CoffeeMaker code is complete; however, we need
you to create and run acceptance tests on the following user stories
requirements: 1) Add a Recipe, 2) Delete a Recipe, 3) Edit a Recipe,
4) Add Inventory, 5) Check Inventory, and 6) Purchase Coffee. One
initial test class has been created for you: CoffeeMakerTest under the
unittests/ directory. You can expended the CoffeeMakerTest
class
and create RecipeTest and InventoryTest classes as well. There are currently 5 (very obvious)
bugs in the system (some of them are based on requirements). We need you to
generate enough unit tests to find these 5 bugs. Once you find the bugs,
create a fix (These should be very simple fixes. If the fix takes longer
than 5 minutes, you found a bigger bug than the one we wanted you to find! -
let me know it.) Find and fix all 5 of the bugs. Create a list of the bugs
that you find.
Deliverables
- List of bugs (in file CoffeeMaker/notes/bugs.txt)
found in the Add a Recipe, Delete a Recipe, Edit a Recipe, Add
Inventory, Check Inventory, and Purchase Beverage user stories in
CoffeeMaker
- Run all of your JUnit unit tests, which give a
green bar.
- Export your Eclipse project
with all related artifacts (Export/General/Archive File - as a zip archive) and email it to: [email protected] with the subject: PJWSTK Homework3.
- Commit your final project into the class repository with all created artifacts.
Referat/artukuł badawczy, końcowy referat należy złożyć do 15.01.2013 - dodadatkow punkty, max 4 dodane do oceny końcowej.
Proponowane propozycje referatu badawczego zgodne z własnymi zainteresowaniami (modele UML, diagramy UML, opracowanie nt. weryfikacji, walidacji, testowania oprogramowania, bezpieczeństwo, artykuł nt. IO, itd.) wraz z krótkim streszczeniem prześlij do [email protected], do końca dnia 10.01.2013. Tematy muszą być zatwierdzone przeze mnie.