EasyX10 Project CS673 –Software Engineering Fall 2008.

Slides:



Advertisements
Similar presentations
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Advertisements

<<replace with Customer Logo>>
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
2004 Cross-Platform Automated Regression Test Framework Ramkumar Ramalingam, Rispna Jain IBM Software Labs, India.
Team 7 / May 24, 2006 Web Based Automation & Security Client Capstone Design Advisor Prof. David Bourner Team Members Lloyd Emokpae (team Lead) Vikash.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Ellucian Mobile: Don’t text and drive, kids!
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
VDK-RIT InserterVision Report System Adam Beck Greg Dicheck Kassidy Gerber Mike Young.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Chapter 9: Moving to Design
The Crew Barbara Eikov Ethan Jud Eric McGregor Henrik Mäkitaavola.
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
Effective Methods for Software and Systems Integration
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Web Development Process Description
L545 Systems Analysis & Design Week 4: September 23, 2008.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
The Collaborative Imaging Grid (CIG) Edward Marsh, Kurtis Heimerl, Andrew Urhausen, Paul Javid, Aneesa Awaludin, Austin Cargol.
Greg Andolshek Alex Koch Michael McCormick Team Lasso.
Kris Horn Santhoshi Smitha Thota Uday Chandra Karrotthi.
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
Web Trnsport – Beta Testing and Implementation TUG Roundtable Discussion Elizabeth Rodgers Info Tech, Inc. October 9, 2007.
HTML+JavaScript M2M Applications Viewbiquity Public hybrid cloud platform for automating and visualizing everything.
Independent Study. Visual LookVisual Look IntroductionIntroduction SRSSRS SDDSDD ImplementationImplementation TestsTests Conclusion and Future PlansConclusion.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
The group will focus on the design of a “smart” device. This includes researching the best method of design and fabricating the design to create a working.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
CEN Advanced Software Engineering
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
Smart Appliance / May Home Automation via the Web Client Senior Design Faculty Advisor Doug Jacobson Team Members Mark Melville (EE) Brendan Hickey.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
14 June 2004System-wide Services: User InterfaceRich Moeser 1 EVLA Overall Software Design Final Internal Review System-wide Services: User Interface.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
Software Engineering Lecture # 1.
Team 5 Jim Motta – Project Manager Fares Qeadan Siraj Malik Advisors Sergio Dascalu PhD. Fred Harris PhD. Rasoul Baghal PhD.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
1 PennDOT ATX Project Summer Semester EOSP Team Stalagmite: Dan Abramovich Jeff Ditillo Oksana Schubert Alexey Stolpovskikh Dehua Zhang.
Computer Asset Management System Project Feasibility CS 410, Fall 2005 Semester October 20, 2005.
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
Software Engineering for Capstone Courses Richard Anderson CSE 481b Winter 2007.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
The Juggernaut Team Tyler Douthitt  Project Manager  Lead Website Developer Mike Harman  Lead Programmer Eric Rakers  Lead Documenter  Lead Analyst.
Meeting Scheduling System Capstone Project - Team#5 Fall2007.
Teaching slides Chapter 1. Chapter 1: Introduction Introduction Components of a computer Building the software products What is software engineering?
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Word Guess Team (Team #4) October 8, Word Guess Team  Team Members  Chakib Kouhel:  Steve Mattingley:
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
PROJECT MEMBERS: DHARMARAJA K ( ) SANTHOSH KUMAR V ( ) VIGNESH P ( ) VINOTH RAJ B ( ) THIRD REVIEW GUIDE NAME:
1 Sean Aluoto Anthony Keeley Eric Werner. 2 Project Plan Overview Project Lifecycle model Time line Deliverables Organization plan Risk management Design.
Final Presentation Smart-Home Smart-Switch using Arduino
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Architecture Review 10/11/2004
Chapter 8 Environments, Alternatives, and Decisions.
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

EasyX10 Project CS673 –Software Engineering Fall 2008

Project Overview The Problem Design a solution to control home lighting or other appliances that can be managed from anywhere in the world via a web-based interface.

Project - Goals Implement a Web-based Interface – Userid and password login – Icon based device management Integrate existing control technologies – X10 Protocol (home power line) – CMA11 Control Module – TM751 wireless transceivers for Motion Detectors – X10 Appliance modules and motion detectors Build on an Open-Source Platform – Java and JavaScript Libraries – RXTX Serial API – xStream Serialization Library – Tomcat Web Server – Google SVN Software Repository Make the solution easy to setup and manage for the average home-owner

Major Requirements Manage Persistent Data Manage Users (Login/Logout) Add X10 Devices Remove X10 Devices Report Status of X10 Devices Modification and Control of X10 Devices (i.e. State Changes) Accept X10 Events (i.e. Process Motion Detection) Process timer Events (i.e. Turn Device on/off at Selected Time)

Project - Constraints  Deliver software functionality based on team member’s experience with the technologies and existing market solutions  Limited functionality in the 1 st product release, due to class schedule, and the time constraints of regular full-time jobs and family demands  Leverage the existing software development expertise of team members rather than have a steep learning curve with new technologies  Use Waterfall model for Software Development

Platform Details Machine running Tomcat Web Server Locally attached CM11A Controller Appliance modules plugged into house power line Wireless transceiver attached to power line Wireless motion sensors Client PC running Firefox Web Browser

Physical Architecture

Use Cases User Login Add Device Remove Device Modify Device Monitor Status Time of Day Control On/Off Appliance Motion Detection On/Off Appliance

Potential Functionality for Future Releases Database integration of configuration parameters More robust Authentication solution Administrative Menu’s to allow easier setup of system users. Installation and setup Guide Implement additional X10 device types Support additional protocols (TCP/IP, Insteon)

Software Design and Construction

Design - Highlights Model View Controller (MVC) Architecture Other Architectures considered –Layered –Plugin Factory and Observer Design Patterns Java Programming Language Industry Standard X10 API

Architecture Overview

System Class Diagram

GUI Package Details

Event Package Details

Protocol Package Details

Concurrency Design

Device Package Details

Timer Package Details

Design Changes  Switched from Singleton to Factory Pattern  Switched from Directed Observer Pattern to Event Bus Observer Pattern  Introduced Proxy Device concept

Implementation Issues Hardware Issues – Defective CM11A controller device Operating System Issues – Java serial API vs. RXTX API Deployment Issues – RXTX Library Path Operational vs. Test environment – XML configuration file differences – File path locations

Group Process “It was a Hard Days Night”

Project Team Operational Guidelines 3 meetings per week – Tuesday night after class - planning – Thursday night phone call – status meeting – Sunday afternoon - 2 hr live meeting Waltham Developed Project Schedule Published Meeting Agenda and Minutes Waterfall Development Process Model Leveraged Google Code (SVN) – Artifact Management (Code and HW documents) Leveraged Google Groups – Team communication and change management

Project Schedule

Project Postmortem

Postmortem Overview Successes – The Team Work – The Diagrams – The SRS and SDD Artifacts – The Code Challenges and Improvements Next Time I would … Lessons Learned

Project Team – Success Factors Supporting one another throughout the process No interpersonal conflict Leveraging individual expertise Effective Communication Consistent on time deliverables Configuration management strategy Good Design

Project Team – Challenges  Balancing schedules due to: –Illness of team or family members –Out of town - Family events –Demands of regular jobs  Learning “new” technologies for some team members: –SVN –Google Groups/Code –Java –JUnit Testing Software

Project - Improvements  Transition to an Agile or Spiral Development Process Model  Develop on a single operating system  More time for Unit and Systems Integration Testing  Use formal defect tracking system  Acquire additional hardware resources for system testing at start of project  Plan More time for 3 rd Party API integration

Next Time I would…  Spend more time on initial prototyping  Do more code reviews  Use a Spiral Development process model  Use a Test-First Development strategy  Plan for a higher number of code defects  Do more formal defect tracking  Use more effective debugging tools

Lessons Learned… Doing it “right” with the proper level of documentation takes a lot of time. Everyone thinks differently Hard to balance a full time job and school Having experienced people prevented team conflict. Requirements process was key to getting group on the same page with the design. Class diagrams are critical to a good design Always more bugs than you anticipate

Time Estimates HW # Milestone Deliverable Due Date Estimated Hours Actual Hours 1)Communication Plan9/9/ )Software Configuration Mgt Plan (SPMP) 9/16/ )Software Project Mgt Plan9/ )Software Requirements Specification (SRS) 10/21/ Software Detailed Design Document (SDD) 11/04/ Operational System/PrototypeTDB Individual Project Assessments TDB25 2 8Final Project PresentationsTDB4015 Total Hours

Question and Answer Please visit us:

Physical Architecture

Product Demonstration

Appendix Additional info about X10 devices

More Information Available At… Amazon.com Smart Home Hacks: Tips & Tools for Automating Your House (Hacks)Smart Home Hacks: Tips & Tools for Automating Your House (Hacks) by: Gordon Meyer Smart Homes for Dummies, Second EditionSmart Homes for Dummies, Second Edition by: Danny Briere, Pat Hurley Easy X10 Projects For Creating A Smart HomeEasy X10 Projects For Creating A Smart Home by: Technica Pacifica 25 Home Automation Projects for the Evil Genius25 Home Automation Projects for the Evil Genius by: Jerri Ledford Absolute Beginner's Guide to Home Automation (Absolute Beginner's Guide) by: Mark Edward Soper X10 modules on Ebay X10 ActiveHome PRO CM15A w BONUS SC503 Home Automation.X10 ActiveHome PRO CM15A w BONUS SC503 Home Automation. X10 SlimFire Keychain Remote KR19A. X10 Home Automation X10 SlimFire Keychain Remote KR19A. X10 Home Automation X10 Home Automation Remote Chime Module (SC546)X10 Home Automation Remote Chime Module (SC546) X10 ActiveEye Motion Sensor- Home Automation MS16AX10 ActiveEye Motion Sensor- Home Automation MS16A X10 Dimmable Lamp Module - Home Automation (LM465)X10 Dimmable Lamp Module - Home Automation (LM465) X10 Home Automation SlimFire Keychain Remote (KR19A)X10 Home Automation SlimFire Keychain Remote (KR19A)

To Purchase Products X10 Hardware Stores X10.com –I have purchased many of my x10 modules from sales at x10.com Radio Shack –Radio shack sells many x10 products often labelled as "Plug n Power" home automation devices. Smart Home –Smart home is another retailer with a good selection of x10 components. X10 Software Resources X10 software is optional since many wired and wireless controllers exist, but using a software product allows for greater control of your home. MisterHouse –Open source X10 Control Software written in PERL. Indigo (Macintosh) –X10 Control software for the macintosh platform. X10s Active Home Pro –I currently use X10's Active Home Pro software to manage the X10 devices in my house. Xtension –Macintosh X10 software.