220 likes | 487 Views
The Sherlock Project Purdue University, Department of Computer Sciences Sponsored by Tellabs, Inc. Doug Clark - Group Leader. Tobey Pasheilich Raj Talwar. Shahman Baluch Cengiz Bayazit. Overview. The CS 406/407 class objectives The Sherlock Project Description Requirements and Purpose
E N D
The Sherlock ProjectPurdue University, Department of Computer Sciences Sponsored by Tellabs, Inc. Doug Clark - Group Leader Tobey Pasheilich Raj Talwar Shahman Baluch Cengiz Bayazit
Overview • The CS 406/407 class objectives • The Sherlock Project • Description • Requirements and Purpose • Achievements • Work done last fall in CS 406 • Work done in CS 407 • Problems we faced • Lessons Learned Sherlock Project
The CS 406/407 Courses:Fundamentals of Software Engineering • Setting: • Engineering a real software project • Group-based environment • Real-world problems • Client communications • Benefits: • Interview and resume material • Teamwork and S.E. experience Sherlock Project
The Project:SherlockSystem and Human Resource Locator • Description: • Graphical, client/server-based, platform-independent online query tool • Uses: • Locates resources • Shows the physical location of objects Sherlock Project
Motivation for Sherlock • Makes it easy to find an employee’s information, such as e-mail or telephone • Can be set up as a “kiosk” for visitors who are looking for an office or conference room • Allows fast and visual management of resources • Improves current system at Tellabs (glorified “grep”) Sherlock Project
Sherlock Functional Requirements - Mike Connolly • Scheduling system • Reserve conference rooms • Make appointments with other employees • Manage calendars and notify of changes • Search system • Locate employee information and homepage • Perform complex searches for any resource Sherlock Project
Map System • Locate any resources, provide current position and shortest route to destination • Locate closest resources of any type • Browse maps for all Tellabs facilities • Show complex search results on a map • Administration • Users can change their own login and info • Administrators have basic access to directory information Sherlock Project
Sherlock platform - LDAP(Netscape Directory Server) • Lightweight Directory Access Protocol • Derivative of X.500 Directory • Fast, complex searching capabilities • Hierarchical data store • Authentication and security features • Standardized API • Distributed referrals Sherlock Project
Sherlock Project Results • Product Features • Intuitive, browser based interface • Complex searches • Customizable results display • Map browsing and resource location • User-level data modification • Sensible LDAP Schema and management tool Sherlock Project
Sherlock Project Results • Features NOT achieved • All calendar and scheduling support • Shortest route on a map • Location of resources by relative distance • Paging service (easy to add) • Schema-level administration tool • SSL (easy to configure with certificates) Sherlock Project
CS 406 Team Members • Group A - Ben Foster • Team 1 - Tobey Pasheilich • Doug Clark • Tobey Pasheilich • Rajiv Talwar • Greg Ebert • Team 2 - Scott Freeman • Eric Bowman • Bill Craver • Drew Michaels • Eric Laabs Sherlock Project
Group A Experience • Requirements - Confusion • UML, Rational Rose, LDAP, SSL, Apache, Cookies, CGI, Java • Design Development • Difficulties/Growth • The Design • CGI • Sherlock Server • Problems • Prototype Sherlock Project
CS 406 Team Members • Group B - Cengiz Bayazit • Team 1 - Shahman Baluch • Mohammad Jawad Butt • Usman Latif • Fauzia Aslam • Evan S. Ho • Team 2 - Larry Lewis • Valisha Bradford • Andre Young Sherlock Project
Group B Architecture Sherlock Project
Group B Prototype • Demo on Thursday December 10, 1998 • Features Demonstrated • LDAP Functionality • Login,Add, Remove, Search • Features Not Demonstrated • Map, SSL, Resource Data Types • Language used in coding • Java (1.1) • Other software packages used by the prototype : • Netscape LDAP JDK • Suitespot Server (3.xx) Sherlock Project
CS 407 • Re-design based on experience and research • Combination of each group’s work • Simplified approach • New tools and technologies • Implementation of new design • Division of labor by component and process • Integration of components Sherlock Project
Team Organization Sherlock Project
Sherlock Design Sherlock Project
CS 407 • Product testing • Tests by component and by component dependencies • Periodic re-evaluation of LDAP schema • Product delivery • Installation guide outlines all procedures for installing and maintaining Sherlock Sherlock Project
Problems Faced During Development • CS 406 • Too many people • Poor understanding of the problem statement • Unbalanced work distribution • CS 407 • Combination different research backgrounds • Focus on understanding before design • Non-static development environment Sherlock Project
Lessons Learned • Teamwork and tolerance • The need for quality software engineering methodology • Project planning, time management, and how to set realistic expectations • Hands-on experience with recent technologies Sherlock Project
The Demo Sherlock Project