Skip to content

jtompkins84/SubLimeCalendar

 
 

Repository files navigation

SubLime Calendar: An Android Calendar App

Synopsis

SubLimeCalender is the result of a team project created for my Introduction to Object-Oriented Software Engineering course. It is a very basic Android calendar that includes features such as add/edit/view calendar events and to switch between day, week, month, year, and event-list views.

The teams consisted of five people. The application was created using the Android Studio IDE. Team members had very little to no experience using the tools required for the project.

The Take Away

A good Agile methodology was learned that can be applied to a wide range of projects and systems. Rapid design and development was practiced. Over all, we had exposure to methods that can be expanded and modified to fit a wide range of projects, and we were also taught how to create well formed UML diagrams to communicate design effectively.

Motivation

Everyone in the course was assigned the same project. Per course instructions, we were placed in a team of five people of the instructor's choosing. The course was designed to teach Agile design methodologies by lecture, class discussion, and then practice the use of these methodologies.

Process

We were guided through the process of software development following Agile principles and methodologies. There were three main iterations, consisting of five over the duration of the course. These were:

  1. Drafting Requirements

  2. Brainstorming

  3. Domain Modeling

  4. Design Modeling (using UML)

  5. Implementation

At the end of each iteration, each team gave a presentation, detailing their progress and process.

First, a basic system description was written that would provide an overview of the requirements and features the application would deliver. We then derived a more formal set of requirements from this description.

We then used the description and requirements in brainstorming the classes and relationships within the scope of the project. This involved mapping out these classes and relationships as object-oriented entities. We then followed a process of eliminating unnecessary classes, interfaces, attributes, etc., and searching for any missing, critical components. Once this process was complete, we mapped out the relationships between entities on a white board. Using this mapping, a Domain Model UML diagram was constructed.

With the domain model complete, it was time to assess the use cases involved in the project. This led to the creation of high-level use case UML diagrams. Using these diagrams, we began the design modeling process. In short, the process allowed us to create efficient, condensed sequence UML diagrams as well as a design class UML diagram.

Once the design modeling was complete, implementation tasks were divided amongst teammates. The result is SubLime Calendar.

Releases

No releases published

Packages

 
 
 

Languages

  • Java 100.0%