Mission Science By Team 07. Team 07 Members Ashwini Ramesha : OCE Chen Li : Requirements Engineer Jiashuo Li : Prototyper Ritika Khurana : Project Manager.

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

System Design and Analysis
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
LA Commons Upgrade of Website ARB Team 01. Name Role Hualong Zu Project Manager Qihua WuLife Cycle Planner Taizhi LiRequirements Engineer Huaiqi WangPrototyper.
Introduction to Systems Analysis and Design Trisha Cummings.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
TEAM’S STRONG/WEAK POINTS David Wiggins – Remote Student 1.
RUP Fundamentals - Instructor Notes
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Elockbox Team08 Fall2014 Jian Lei Role(s): Project Manager / Builder Da Lu Role(s): Prototyper / System/Software Architect Cheng Role(s):Feasibility Analyst.
Mission Science By Team 07. Team 07 Members Ashwini Ramesha : OCE Chen Li : Requirements Engineer Jiashuo Li : Prototyper Ritika Khurana : Project Manager.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Introduction to Making Multimedia
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Development Commitment Package iRobot GUI PROTOTYPE 2.0 Jiashuo Li.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Mission Science By Team Team 07 Members Jiashuo Li Chen Li Sergey Mukhin Hanadi Mardah Yun Shao Farica Mascarenhas 2.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
University of Southern California Center for Systems and Software Engineering RDCR ARB CS 577b Software Engineering II Supannika Koolmanojwong.
MANAGEMENT INFORMATION SYSTEM
Information Systems Development
TK2023 Object-Oriented Software Engineering
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Rapid Launch Workshop ©CC BY-SA.
Methodologies and Algorithms
Development Environment
VEX IQ Curriculum Smart Machines Lesson 09 Lesson Materials:
Software Engineering Management
Continuous Delivery- Complete Guide
Information Systems Development
Chapter 1: Introduction to Systems Analysis and Design
Fundamentals of Information Systems, Sixth Edition
Computer Aided Software Engineering (CASE)
CS 5150 Software Engineering
TEAM 15 Joint Educational Project ONLINE PLATFORM
USC e-Services Software Engineering Projects
Mission Science By Team 07.
City of LA Personnel Department Mobile Application
Information Systems Development
Programmable Logic Controllers (PLCs) An Overview.
Chapter 10 Development of Multimedia Project
E-Lockbox DCR ARB Client: Living Advantage, Inc.
Development Commitment Package
Tools of Software Development
SOCCER DATA WEB CRAWLER
LO3 - Create the Game 2016 Specification - L/615/1355
Introduction to Systems Analysis and Design
Mission Science By Team 07.
Software life cycle models
CSCI 577b Tasks and Activities
OCD Risk Management CS 577a, Fall 2012 ©USC-CSSE.
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
ARB Schedule Locations
CS 577b Software Engineering II -- Introduction
Chapter 1: Introduction to Systems Analysis and Design
CS577a Software Engineering ARB #2 Workshop
Team 7- SCRIPTONOMICS Advanced movie script analytics made simple
Agenda Purpose for Project Goals & Objectives Project Process & Status Common Themes Outcomes & Deliverables Next steps.
Transition Readiness Review
Software Testing Lifecycle Practice
M. Kezunovic (P.I.) S. S. Luo D. Ristanovic Texas A&M University
Team 7- SCRIPTONOMICS Advanced movie script analytics made simple
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Mission Science By Team 07

Team 07 Members Ashwini Ramesha : OCE Chen Li : Requirements Engineer Jiashuo Li : Prototyper Ritika Khurana : Project Manager Siddhesh Rumde : Life Cycle Planner Sowmya Sampath : Software Architect Yun Shao : Feasibility Analyst Farica Mascarenhas : IV & V 1

Strong and Weak points Strengths Peer review Collaborative, supportive Online tools Client communication Weaknesses Remote student availability Time constraints due to heavy course load 2

Overall Project Evaluation Identified new requirements Identified new risks Developed functional prototype for navigation programmability Started Construction Phase 3

O PERATIONAL C ONCEPT D ESCRIPTION Ashwini Ramesha

Current Workflow 5

Purpose, Vision & Proposed Workflow 6

Business Workflow 7

Benefit Chain Diagram 8

System Boundary Diagram 9

OC-1 Navigation programmability: Fun-to-use interface to help elementary school children learn programming to control navigation of iRobot. OC-2 Sensor programmability: Fun-to-use interface to help elementary school children learn programming to control navigation of iRobot. OC-3 Loop and wait constructs: The interface shall allow drag & drop of programming constructs like if-then-else, for and while loops. OC-4 Sounds and light programmability: The interface shall allow drag & drop of musical notes and LED on/off instructions. OC-5 Demo mode programmability: The interface shall allow drag & drop of pre-programmed demo modes. Capability Goals 10

LOS-1: Seamless interoperability between GUI and compiler. Win condition: The system shall generate instructions for iRobot in C which is then later compiled for deployment on the microcontroller using the APIs of iRobot. Measure: Number & severity of faults found in code generation & compilation modules. LOS-2: Detect and report ambiguous instructions in an understandable way. Win condition: The system shall detect and show logic errors (conflicting/inconsistent instructions) in a easy-to-understand way. Measure: Feedback from stakeholders like undergraduate students and elementary school teachers on the framed help & error messages. LOS-3: Reasonable frequency of reading sensor data. Win condition: The system shall enforce a tolerance limit of +/- 2 to 3% error in angle of turning. Measure: Manual testing and recording results for variety of sample inputs. LOS-4: Portability above Windows 7 Win condition: The system shall be a native windows 7 and above application. Measure: Regression test results on the windows versions above 7. Levels of Service Goals 11

OG-1: Generate more excitement toward STEM fields. OG-2: Widen the user sector for iRobot. OG-3: Improved understanding in students about logic and control systems. OG-4: Decrease time needed to program iRobot to execute complex instruction set. OG-5: Use of iRobots to improve funding opportunities for Mission Science. Organizational Goals 12

CO-1: Windows as an Operating System: The new system must be able to run on Windows 7/8/8.1 CO-2: Zero Monetary Budget: The selected NDI/NCS/COTS should be free or no monetary cost. CO-3: C# as a Development Language: Visual studio C# will be used as a development language for the Drag & Drop GUI interface. Constraints 13

P ROTOTYPE Jiashuo Li

What we have prototyped Drag & Drop Operation which is the main capability of the system Easy for kids to program Instruction with parameters FORWARD Workflow (Functioning) Create (Open) Compile & Load Run Translate Program to C Win AVR Integration Debugging Interface Distance Time 15

4-Panel Interface Instruction Candidates Program Parameters: The parameters of each instruction Debugging Interface Load default program Show text source code More COLORS 16

Build and Load 17

Win AVR Integration 18

Risks, Problems and Mitigation Low sensor resolution -> Cannot rotate accurately Try using script command Find the sweet point for sensing Ineffective development tools Contact manufacturers Build Microcontroller simulation environment Kids may lost their interest Ask for what they want 19

R EQUIREMENTS Chen Li

ESS (Most significant Requirements) ScoreRequirementWin Condition 0.751OC-1(WC-3283) Use navigation drag and drop module to make the robot go forward, backward, turn left and right OC-2(WC-3285) Use sensing drag and drop module to detect cliffs/edges, speed, direction, elapsed time and infrared ray OC-5(WC-3283) Use built-in functions of the iRobot to control its behavior/movement 0.556OC-3(WC-3295) Drag and drop if-then-else and for/while loop in which instructions can be further dragged and dropped. 21

System ScoreRequirementWin Condition 0.751LOS-1(WC-3299) The system shall generates instructions for iRobot in C which is then later compiled for deployment on the microcontroller of iRobot 0.522LOS-2(WC-3297) The system shall detect and show logic errors (conflicting or inconsistent instructions) in an easy-to-read way LOS-3(WC-3302) The system shall enforce a tolerance limit of +/- 3% on sensor programmability LOS-4(WC-3298) The system shall be a native Window 7 and above application. 22

Implicit Requirements Prepare user guide Prepare troubleshooting guide 23

A RCHITECTURE Sowmya Sampath

Use Case diagram 25

Hardware Component Diagram 26

Software Component Diagram 27

Deployment Diagram 28

Design Class Diagram 29

Sequence Diagram 30

L IFE C YCLE P LAN Siddhesh Rumde

Overview Modified since FCR ARB Modules Estimation Plans for 577b Re-baseline Foundation Phase Iteration 1 Core Capability Iteration 2 Full Capability Transition Iteration 32

Prototype Module Name FunctionalityPrototype SLOCPercentageSLOCREVL Navigation Interface Design25050% % Translator20060% Win AVR Integration30070% Instruction Meta-Data00% Sensor Detection Interface Design25050% % Translator00% Win AVR Integration30070% Instruction Meta-Data00% Light and Sound Interface Design25050% 75010% Translator00% Win AVR Integration30070% Instruction Meta-Data00% 33

Modules 34

Estimation Total SLOC estimated : 3953 lines Most Likely effort: PM 11.51/1.67=6.89 person 7 members in 577b 35

Skillset of New Members UI/UX Design C and C# Programming Good Analytical Skills Visual Studio 36

Re-baseline Foundation (Jan 12 - Feb 11) Re-baseline the project (Jan 13-Jan17) RequirementRequirement Engineer PrototypePrototyper ArchitectureArchitect Plan for testingTester Prepare Products for RDCR (Jan 23-Feb 5) 37

Construction Iteration 1 (Feb10 - Mar26) Duration: Feb 10  Mar 26 Modules: Navigation Sensor Light & Sound Capability: Navigation Sense-Navigate Play Sound Display LED Lights 38

Detailed Plan 39

Core Capability Drive-through CCD: an activity allows clients to try on must-have capabilities. Schedule: March 25 Preparation: Hardware & Software Dry Run Risk Management Usage Scenarios Feedback From Students 40

Construction Iteration 2 (Mar26 - Apr08) Duration: Mar 26  Apr 08 Modules: Export Capability: Enhance User Interface Integration testing and System testing Fix defect and prepare for release 41

Dates & Activities for Client Re-baseline Development Commitment Review: Feb 11 Core Capability Drive-through: March 25 Transition Readiness Review: Apr 8 Transition & Training: Apr 20 Operational Commitment Review: Apr 27 Client Evaluations: May 4 42

F EASIBILITY EVIDENCE Yun Shao

Business Case Cost analysis Personnel analysis Hardware and software analysis Benefit analysis ROI analysis 44

Development Period (12 weeks) Valuation and Foundations Phases: Time Invested (CS 577a, 12 weeks) Client: First meeting 2 Client: Win-win session 2 Undergraduate Students: Introduction to iRobot 2 Client: Meeting via , phone, and other channels [1 hr/week * 12 weeks * 1 people] 12 Undergraduate Students: Meeting via , phone, and other channels [1 hr/week * 12 weeks * 2 people] 24 Architecture Review Boards [1.5 hr * 2 times * 1 people] 3 Development and Operation Phases: Time Invested (CS 577b, 12 weeks) Client: Meeting via , phone, and other channels [1 hr/week * 12 weeks * 1 people] 12 Undergraduate Students: Meeting via , phone, and other channels [1 hr/week * 12 weeks * 2 people] 24 Maintainer: Meeting via , phone, and other channels [2 hr/week * 12 weeks * 2 people] 48 Architecture Review Boards and Core Capability Drive-through session [1.5 hrs * 2 times * 1 people] 3 Deployment of system in operation phase and training - Installation & Deployment [5 hr/week * 3 times * 3 people] - Training & Support [5 hrs * 2 times * 3 people] 75 Total

Hardware & Software Analysis Hardware iRobot Platform computer Software Visual studio license Win AVR 46

Benefit Analysis More elementary school students interest in iRobot and STEM 50% increase More funding for Mission Science 10% increase 47

ROI Analysis YearCost Benefit (Effort Saved) Cumulative Cost Cumulative Benefit ROI 2014$1500$3000$1500$ $500$3000$2000$ $1500$3000$3500$ $500$3000$4000$

ROI Analysis 49

Process Feasibility Evidence 30 % of NDI/NC S features 3Adoption with customizing Based on our research, it cannot be ignored in our project. For example, we need to customize and use Win AVR in our project, which is the only tools to load C code to microcontroller of iRobot to the best of our knowledge. Single NDI/NC S 3Direct adoptionBased on our knowledge, we take advantage of the compatibility of.NET with Windows to develop our project, which is footstone of our project. Unique/ inflexible business process 3In PrototypingBased on our research, there is some particular process we have to complete, such as transfer the graphic view to C code. 50

Technical Risk Analysis Risks Risk Exposure Risk Mitigations S(L)P(L)RE GUI may generate C code that cannot be compiled ) The line of C code causing the compilation error and corresponding instruction from GUI can be highlighted. 2) A message to contact the maintainers with the exact program tried and the error message faced. The GUI may fail to detect conflicting instructions, so that the iRobot will run out of expectation, which decreases kids' interest ) Team needs to analyze the place where conflicts possibly happen for each function, and design a specific action to avoid unpredictable behaviors of iRobot. 51

Risks Risk Exposure Risk Mitigations S(L)P(L)RE The COM port may change when microcontroller is connected to computer, but the COM port changing function may fail to identify the COM port and customize "makefile" correspondingly ) Maintainer is given an option to manually select the COM port from all available candidates. 2) Add troubleshooting instructions with snapshots of how to identify the correct COM port and change the "makefile". Due to various hardware environments on different computers, incompatibility issue may arise while using default "firmware version" in "makefile" which will cause COM port time-out ) Maintainer is given an option to manually select the version of firmware. 2) Add troubleshooting instructions of how to edit "makefile" to change the "firmware version". Technical Risk Analysis 52

Risks Risk Exposure Risk Mitigations S(L)P(L)RE Final GUI may fail to interest elementary school kids towards programming iRobots. 4281) Make improvements based on the collection of feedback of kids who have tried our application. Non Technical Risk Analysis 53

NDI/NCS Analysis Connector None Legacy System Win AVR iRobot 54

Visual Studio 2013 Windows 8.1 WPF based on.NET framework 4.5 iRobot Open Interface Win AVR complier NDI/NCS Analysis 55

Q UALITY F OCAL P OINT Ritika Khurana

Metrics Reporting Defect Reporting Metric Unavoidable Defect(s): Week 1/2: Unable to discuss with the undergraduate students and elementary school kids as yet due to unavailabity of the contact information. Avoidable Defect(s): Week 3/4: Slot booking for win win session 2 got delayed due to miscommunication among team members. Week 5/6: Prototype presentation uploaded later than expected. Week 5/6: Choosing wrong category of documents in Bugzilla. Week 7/8: The documents with the team were incomplete & insufficient. Week 7/8: ARB documentation and presentation were not satisfactory. Week 7/8: Inadequate time management. Week 9/10: Team failed to update Bugzilla last week on time. Week 11/12: Some concepts in documents were not understood in time. 57

Defect Metrics 58

Defect Analysis 59

Progress Report Week 1/2: Student team learnt an overview of the current system’s working. Student team witnessed end-to-end working of a similar product developed in past – A scribbler robot. Source code of the existing complex functionalities and other documentation related to iRobot were asked from the client. Student team plans to meet up with the actual users of the product(Undergraduate students) in the coming week. Student team learnt about the vision statement of the project and its long term goals. Week 3/4: Acquired the soft copies of the existing documentation of the iRobot from client. Had a discussion with undergraduate students about their experiences working with current system and problems. Team has started familiarizing on Visual Studio and working on the prototyping. Team along with the client, updated functionality level requirements on Winbook. 60

Week 5/6: Team combined the MMF on Winbook as suggested by the client. iRobot given by the client for implementing and testing. Team has starting building the GUI on Visual Studio. Team prototyped GUI for the prototype presentation. Team spent time in knowing the priorities of the MMF’s. Team attended the win win session#2 and learnt to estimate to estimate MMFs. Week 7/8: Team prepared and delivered the ARB Presentation. Improved GUI prototype with graphical navigation errors. Client and professors feedback were integrated into Foundation Commitment Package. Team prepared the Foundation Commitment Package Documents. Week 9/10-11/12: Team delivered the Prototype Presentation. Improved GUI prototype with graphical interface for all buttons. Team successful in generating a C code from the instructions of GUI as a part of prototype. Progress Report 61

Metrics Reporting 62

Effort Report Week 1/2: Getting extensive functional requirements and system level requirements in the form of user stories from client. Had a meeting with undergraduate students; the users who will be teaching the Elementary school students to use the iRobot. Team managed to take the iRobot Machine from the client. Risk Analysis for the project based on the understanding the team gains from PC-3 Assignment. Week 3/4: Prototype of the GUI completed. Acquired the iRobot machine to get hands-on experience. Week 5/6: Developed the aesthetic look of GUI prototype required. Added functionality to the buttons and tried to compile the code using Win AVR. Presented ARB and acquired quality management strategies to be used for the project. Week 7/8-9/10-11/12: Generated actual C code and compiled using Win AVR. 63

Effort Analysis 64

Effect of Effort 65

Solved Technical Debts Team decided to use Visual Studio to design the GUI but did not know which compiler would be compatible with it to compile C code. Later decided to try WinAVR. Team decided to work on feasibility of Win AVR. For a while team also decided to use GTK for the compilation of the C code but that did not seem viable. Because of insufficient time, took help from the undergraduate students in understanding the hardware programming and debugging. Developers now have better understanding of the iRobot’s operational logic. Technical Debt 66

Technical Debt Remaining Technical Debts Code of prototype is not modular. Team still not clear about how navigation and sensors work with each other, which may cause difficulties in the development at a later stage. 67

IDTC-001 TitleNavigation Controls Pre-ConditionsFunction calls in C Coding for forward & backward controls on User Interface Test-Step(s)Drag the navigation buttons, Compile the code, Load onto the microcontroller chip and Test on the iRobot. Expected ResultsMovement of the iRobot as expected. Test Cases 68

IDTC-002 TitleSensor Controls Pre-ConditionsFunction Calls in C Code to activate sensors like for cliff detection and obstacle detection on User Interface Test-Step(s)Drag the sensor buttons, Select the sensor check frequency, Compile the code, Load onto the microcontroller chip and Test on the iRobot. Expected ResultsPop Up window showing an obstacle detected in front. Test Cases 69

IDTC-003 TitleSounds and Lights Pre-ConditionsFunction Calls in C Coding for aggregating sounds and making songs using drag and drop functionality on User Interface Test-Step(s)Drag the sound and light buttons, Chose the sounds, Compile the code, Load onto the microcontroller chip and Test on the iRobot. Expected ResultsComposition of the songs as expected. Test Cases 70

IDTC-004 TitleDemo Modes Pre-ConditionsFunctional Testing Test-Step(s)Testing all the instructions related to demo modes. Expected ResultsDemo Modes working as expected. Test Cases 71

Test Cases IDTC-005 TitleConflict Detection Pre-ConditionsNavigation Functionality Test-Step(s)Providing the conflicting instructions in the drag and drop interface. Expected ResultsPop Up showing conflicting instructions given. 72

Traceability Matrix OCDWin Condition SSADTest Case OC1WC-3283ATF: Navigation Keys UCD: TC-001, TC-005 OC2WC-3285ATF: Sensor UCD: TC-002 OC3WC-3291ATF: Sounds/Light UCD: TC-003 OC4WC-3296ATF: Loop & Wait Constructs UCD: TC-004 OC5WC-3305, WC-3304 ATF: Demo Modes UCD:2.1.1 TC

74