Task Manager Overview - Google Project Hosting

advertisement
Task Manager
Software 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
Download