![Page 1: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/1.jpg)
Task ManagerSoftware Engineering: CS 673 Spring 2009
John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie
May 4, 2009
![Page 2: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/2.jpg)
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
![Page 3: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/3.jpg)
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
![Page 4: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/4.jpg)
High Level Implementation
![Page 5: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/5.jpg)
Demonstration
![Page 6: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/6.jpg)
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
![Page 7: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/7.jpg)
Requirements Management Tools
INCOSE (International Council on Systems Engineering)
− maintains a list of requirements management tools
− http://www.incose.org/ProductsPubs/products/rmsurvey.aspx
![Page 8: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/8.jpg)
John: What worked! Flex UI
Ant
Source Control (Rich will discuss)
Remote Meetings (Rich will discuss)− TeamViewer.com− FreeConferenceCall.com
![Page 9: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/9.jpg)
Middle Tier/Hibernate Demonstration of Hibernate tools.
![Page 10: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/10.jpg)
Parag: What did not work Using Hibernate ORM tool to perform
all database transaction.
Implementation of all essential requirements.
![Page 11: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/11.jpg)
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
![Page 12: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/12.jpg)
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.
![Page 13: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/13.jpg)
Running JUnit tests
Tests can be run straight from Eclipse IDE.
Tests can also be automatically run through build script.
![Page 14: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/14.jpg)
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.
![Page 15: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/15.jpg)
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.
![Page 16: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/16.jpg)
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)
![Page 17: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/17.jpg)
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”.
![Page 18: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/18.jpg)
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.
![Page 19: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/19.jpg)
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.
![Page 20: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/20.jpg)
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.
![Page 21: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/21.jpg)
Hassan: What did not work Running the Task Manager application from
Eclipse.
Connecting Flex plug-in to Eclipse.
![Page 22: Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc65503460f94aba3e6/html5/thumbnails/22.jpg)
Hassan: What Worked Run and build applications using Eclipse
Learned how to build simple J-Unit tests
Learned about Web Application Directory structure