Guided Project 1 Introduction
Target Audience: this guided project is geared toward the beginning Java programmer who has some experience with Java programming from the command line.
Creating a good software system, one that people want to use, requires more than just writing code. Writing software is a process, called software engineering. Software engineering is a sub-area of computer science where practitioners use processes and practices to develop high quality, performant, and usable software that meet a set of customer requirements. Tools support these processes and practices.
The Guided Projects will walk you through the phases of the software lifecycle: requirements, design, implementation, test, and deployment. Additionally, the Guided Projects will introduce you to the software practices and tools that support those practices.
After completing this Guided Project, students will be able to…
- Implement and test a multi-class software system from a given set of requirements and design.
- Use software engineering best practices like test-driven development, code coverage, static analysis, version control, continuous integration, and documentation with supporting tooling to implement and test object-oriented systems.
Best Practice: Integrated Development Environments (IDEs)
Integrated Development Environments (IDEs) facilitate software development by integrating multiple software development tools into a single application. In this module you will use the Eclipse IDE and tooling in Eclipse to develop and test software.
You will implement and test PART of the WolfScheduler system. The WolfScheduler system provides a way for a student to determine which course schedule may be best for them in an upcoming semester.
You will develop the WolfScheduler project over the course of the three guided projects. The WolfScheduler requirements describe the fully implemented system. Guided Project 1 will focus on the following requirements:
- Use Case 1: Load Course Catalog
- Use Case 2: Rename Schedule
- Use Case 3: View Course Information
- Use Case 4: Add Course to Schedule
- Use Case 5: Remove Course from schedule
- Use Case 8: Reset Schedule
- Use Case 9: Display Final Schedule - only courses
- Use Case 10: Export Schedule - only courses
You will complete functionality related to events and schedule conflicts in future Guided Projects. There are expectations from the Guided Projects that you must follow. Do NOT attempt to implement any functionality before a Guided Project tells you to do so!
As part of the Guided Project, you will be expected to run provided JUnit tests and acceptance tests to ensure that your implementation meets the requirements and design of the system.
Your Wolf Scheduler Guided Project 2 will be evaluated on the following items:
|Misnamed file or incorrect project structure||-5||Incorrect names of files or incorrect project structure. This can include problems when importing the project to Eclipse for acceptance testing, incorrect location of the system test file, incorrect file extension, etc.|
|Other deductions||-5||If the project has to be manually graded due, you will receive a 5 point deduction. Make sure that your project builds on Jenkins!|
|Item||Strong - 3 points||Adequate - 2 points||Inadequate - 1 point|
We are using the Jenkins Continuous Integration system to automatically evaluate your work and provide feedback on your submission. Go to the [Guided Project and Project Jenkins Server by using https://csc216-jenkins.csc.ncsu.edu. NOTE: The Jenkins servers for CSC216 are self signed and are maintained by the CSC216 teaching staff and CSC IT. Please select the option to accept the signed certificate. Usually, there’s a link for Advanced that will display an option to trust the certificate.