task manager software engineering: cs 673 spring 2009 john spencer, parag shah, rich moffitt, hassan...

Post on 24-Dec-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Task ManagerSoftware Engineering: CS 673 Spring 2009

John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie

May 4, 2009

Agenda John: Task Manager Overview and

High Level Implementation

John: Demonstration

Parag: Middle Tier/Hibernate

Rich: Unit Tests and Source Control

Hassan: Traceability

All: What did not work/What worked

Task Manager Overview The Task Manager is web-based

application used to track and organize individual tasks that comprise a project.

Users of Task Manager will be assigned one or more of the following roles: Administrator, Manager, and/or Contributor

High Level Implementation

Demonstration

John: What did not work SRS - Overly Optimistic

Implementation – no 3 iterations

Complete Junit set on Middle Tier prior to GUI implementation

SRS Traceability difficult using Use Cases (Note: Hassan discuss how we solved it)

Word documents

Requirements Management Tools

INCOSE (International Council on Systems Engineering)

− maintains a list of requirements management tools

− http://www.incose.org/ProductsPubs/products/rmsurvey.aspx

John: What worked! Flex UI

Ant

Source Control (Rich will discuss)

Remote Meetings (Rich will discuss)− TeamViewer.com− FreeConferenceCall.com

Middle Tier/Hibernate Demonstration of Hibernate tools.

Parag: What did not work Using Hibernate ORM tool to perform

all database transaction.

Implementation of all essential requirements.

Parag: What worked! Hibernate tools to generate the mapping

files from the database tables. Used this tool for the first time and it saved a lot of work.

Knowledge gained from SRS/SDD discussions (in class and team meetings) helped tremendously, working on small project at work.

Introduction of Agile software methodology.

Flex

Unit Testing with JUnit Junit is simple, well documented, and

free.

Started with individual tests and test cases.

Grouped tests into test suites.

Larger projects can nest test suites.

Running JUnit tests

Tests can be run straight from Eclipse IDE.

Tests can also be automatically run through build script.

Collaboration Requirement: all tools must be free.

− Used Google Docs for meeting agendas / notes, project reference material.

− Screen sharing tool: TeamViewer− Conference call tool:

FreeConferenceCall.com

Held regular meetings via conference call to work on and track project progress.

Source Control Evaluated several source control

types: Bazaar, Git, Subversion

Settled on Subversion / Google code because:− Easily accessible by team with free

tools.− Google Code is not overwhelmingly

complicated for simple projects.− Project hosting is free and public.

Rich: What did not work Updating graphic information in

Google Docs is a hassle.

Tracking bugs / issues within Google Code (not really necessary for size of project)

Rich: What worked! JUnit tests easy to add to project.

Revision control is easy with SVN tools.

Running “ant” on local build environments just worked.

Automating unit test execution running “ant test”.

Traceability Traceability is about information

completeness and the relationships amongst all types of information throughout the entire development process.

Requirements, Design, Implementation documents all should relate to one another.

With advanced traceability matrix teams can easily convert requirements into design, implementation, tests, release and vice versa.

Traceability Projects Metrics are a way to measure how

complete the traceability of a project is.

The Task Manager is a student based project. It would seem normal to apply use-cases as the main measure for project traceability.

The use cases in Task Manager project are user visible functions and features that constitute most of the detailed requirement for the Task Manager project and are independent of the programming language.

Traceability Traceability using use cases is difficult

because use cases can be used at vastly different levels of abstraction. There is no standard size for a use case.

In the Task Manager project we used object oriented approach in our design. Object oriented metrics are a good measure of the level of traceability.

Hassan: What did not work Running the Task Manager application from

Eclipse.

Connecting Flex plug-in to Eclipse.

Hassan: What Worked Run and build applications using Eclipse

Learned how to build simple J-Unit tests

Learned about Web Application Directory structure

top related