mission science by team 07. team 07 members ashwini ramesha : oce chen li : requirements engineer...
TRANSCRIPT
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
Team’s Strong points
• Operational view• Efficient delegation• Genuine commitment
• Technical view• Diverse technical skills and background
Team’s Weak points
• Operational view• Schedule mismatch
• Technical view• Lack of experience in chosen technology
(Visual Studio)
Technical Concern and Solution
• Concern• Inexperience in COTS (Win AVR)
• Solution• Identify feasibility evidence and conduct
compatibility analysis• Prototype interface with COTS product
Operational Risk and Mitigation
• Risk• Potential difficulties of detecting conflicting
instructions specified by end users
• Mitigation• Identify specific action to be taken to avoid
unpredictable behavior of robot
Observations
• Win-Win Shaping Status• No duplicate WinCs• All WinCs agreed upon by client and team
• Overall Project Evaluation Consideration• Level of complexity not identified• Skills/needs mismatches• Knowledge/experience mismatches
Program iRobot
USC Undergraduate Student
Elementary School Student
Control Program with GUI Interface iRobot
Ph
ase
Teach Elementary
school students to
use the Control
ProgramUse GUI to build the
instruction set
Compile and load the
executable to mind control
stick of iRobot
Executes the program
Detect conflicting
instructionsYes
No
Plug in mind control stick to
iRobot
Business Workflow
Contribution
Discovery of more functions
of iRobot
Easier to realize complex functions
Simplify the control of
iRobot
Develop a user-friendly GUI
Developers
Set up environment on elementary school's computers
Client, Elementary School teachers,
Potential maintainer
Ensure compatibility of developed GUI on school's computers
Developers, Client, Elementary School teachers,
Undergraduate students
Provide training to teachers and undergraduate students
Undergraduate students, Elementary School teachers, Elementary school students
Inspire elementary students to explore iRobot
Increment of interests in
STEM
More enjoyable in exploring and
discovering process
Increment of familiarity with developed GUI
Charge more complex functions gradually
Use developed GUI in teaching
Undergraduate students, Elementary
school students
More efficiently teaching activities
Assumptions:-Elementary schools are willing to adopt iRobot and Mission Science program-Elementary students like ͞Bhands-on͞C activities-Usability of iRobot can be increased with drag-and-drop GUI-Developers can build program based on understanding iRobot's instruction
Legend:
Initiative Outcome Stakeholder
Benefit Chain Diagram
• OC-1 Drag and Drop GUI for navigation: Fun-to-use interface
to help elementary school children learn programming to control
navigation of iRobot.• OC-2 Error Detection and reporting: The system provides
understandable error messages on ambiguous instructions• OC-3 Drag and Drop GUI for sensor control: Fun-to-use
interface to help elementary school children learn programming to
control navigation of iRobot.• OC-4 Drag & Drop programming constructs: The interface
shall allow drag & drop of programming constructs like if-then-
else, for and while loops.• OC-5 Drag & Drop music and LED controls: The interface shall
allow drag & drop of musical notes and LED on/off instructions.• OC-6 Drag & Drop demo modes: The interface shall allow drag
& drop of pre-programmed demo modes.
Capability Goals
• LOS-1: Reasonable response time of robots.(Win condition: The system shall enforce a tolerance limit of +/- 2 to 3% on sensor programmability.)• LOS-2: 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.)Measured by number of faults found in code generation & compilation modules.• LOS-3: 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-read way.)Measured by having a feedback from stakeholders like undergraduate students and elementary school teachers.• LOS-4: Portability above Windows 7(Win condition: The system shall be a native windows 7 and above application.)Measured by running regression tests on the windows versions above 7.
Levels of Service Goals
• OG-1: Improved understanding in students about logic
and control systems.• OG-2: Decrease time needed to program iRobot to
execute complex instruction set.• OG-3: Generate more excitement toward STEM fields.• OG-4: Widen the user sector for iRobots. • OG-5: Use of iRobots to improve funding opportunities
for Mission Science.
Organizational Goals
• 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
What we have prototyped
• Drag & Drop Operation which is the main capability of the system
• Easy for kids to program
• Instruction with parameters• FORWARD 0.3 1
• Workflow• Create (Open)• Compile & Load• Run
Distance
Time
iRobotPrototypeWpf.exe
Interface
• Instruction Candidate• 4 directions: ↑↓←→• Sensor• LED Sound
• Instruction list• Parameters
Main Risks & Mitigation
• Uneasy for kids to program iRobot• Building prototype• Get feedbacks from users• Revise the system
• Unfamiliar with GUI development• Study .NET WPF
• Unfamiliar with iRobot API• Borrow iRobot hardware and lab• Program and test iRobot
Project Requirement
• Schedule• To be completed within 9 months (09/2014-
05/2015) • First 4 months:
•To complete system Life Cycle Objectives (LCO/FCR) and Architecture (LCA/DCR)
• Last 5 months:•To implement and deliver the system
Project Requirement
• Tools & Languages• Language: Visual Studio C#• Compiler: WinAVR• Platform: Windows 7 and above
Project Requirement
• General Requirement• (WC-3303) Users can drag and drop built-in
functions of the iRobot to control its behavior and movement.
Capability Requirements
Requirement CR-01
Description Navigation Programmability
Priority Must have
Win-Win Agreements
WC-3283 Users can use navigation drag and drop module to make the robot go forward, backward, turn left and right.
Capability Requirements
Requirement CR-02
Description Sensor Programmability
Priority Must have
Win-Win Agreements
WC-3285 Users can use sensing drag and drop module to detect cliffs/edges, speed, direction and elapsed time.
Capability Requirements
Requirement CR-03
Description Sounds and Lights Programmability
Priority Should have
Win-Win Agreements
WC-3291 Users can use sounds and lights module to turn LEDs on and off.
WC-3290 Users can drag notes from sounds and lights module to create a song.
Capability Requirements
Requirement CR-04
Description Loop and Wait Control
Priority Must have
Win-Win Agreements
WC-3296 Users can drag and drop a wait condition in which instructions can be further dragged and dropped.
WC-3295 Users can drag and drop if-then-else and for/while loop in which instructions can be further dragged and dropped.
Capability Requirements
Requirement CR-05
Description Basic Functions
Priority Must have
Win-Win Agreements
WC-3305 Users can create, save and load program files.
WC-3304 Users can copy and paste instructions.
LOS Requirements
Requirement LOS-1
Description Seamless Interoperability Between GUI and Compiler
Priority Must have
Win-Win Agreements
WC-3299 The system shall generate instructions for iRobot in C which is then later compiled for deployment on the microcontroller of iRobot
GUI
(C#)Instructions
(C)
Language used by iRobot
Compiler
LOS Requirements
Requirement LOS-2
Description Tolerance Limit
Priority Should have
Win-Win Agreements
WC-3302 The system should enforce a tolerance limit of +/- 3% on sensor programmability.
Solution Check sensing data based on the action of the robot
checking
LOS Requirements
Requirement LOS-3
Description Error Detection
Priority Should have
Win-Win Agreements
WC-3297 The system shall detect and show logic errors (conflicting or inconsistent instructions) in an easy-to-read way.
Use Case Description-Navigation
● Identifier
UC-1 Create Navigation Instructions
● Purpose
Enable the Elementary School Student to create navigation instructions such as moving forward, backward, turn left or right based on the angle specified.
● Requirements
To be able to program iRobot with instructions to move forward, backward, turn left /right based on the angle .
● Development Risks
Resolving of Incompatible navigation instructions , frequency of checking the angle of turning so as to perform accurately.
● Pre-conditions
Knows about the parameters for each navigation
● Post-conditions
Give meaningful Navigation instructions.
Use Case Description-Sensor
● Identifier
UC-2 Create Sensor Instructions
● Purpose
Enable the Elementary School Student to create sensor instructions to detect cliffs, bumps, find the elapsed time and distance covered.
● Requirements
To be able to program sensor instructions so as to detect cliffs or bumps , calculate time and distance.
● Development Risks
Intervals of checking for the time and distance sensors.
● Pre-conditions
Knows about the purpose of each sensor.
● Post-conditions
Appropriate Sensor instructions based on the requirement.
Use Case Description-Sound
● Identifier
UC-3 Create Sound Instructions
● Purpose
Enable the Elementary School Student to compose a song
● Requirements
To be able to compose a song
● Development Risks
None
● Pre-conditions
Knows how to use GUI
● Post-conditions
Set of Musical notes forms a song
Use Case Description-Light
● Identifier
UC-4 Create Light Instructions
● Purpose
Enable the Elementary School Student to give instructions to turn light
on / off
● Requirements
To be able to give instructions to switch on / off led lights
● Development Risks
None
● Pre-conditions
Knows how to use the drag and drop GUI
● Post-conditions
Turning on / off lights as per the task.
Life Cycle Strategy
Current Status
• The Current Status of the LCP in the valuation phase for developing the FC package will include all the tools and methods and also approx resource estimates.
Assumptions
• The duration of the project is 2 semesters, which are 12 weeks in Fall 2014 and 12 weeks in Spring 2015.
• There are eight people working on the project including one DEN student.
• The elementary schools will like the GUI which has been developed for the iRobot.
• There will be regular meetings with the client, to discuss the progress, issues and other concerns.
• Licensed Software.
Tools for Monitoring Project Progress
• Winbook• Google Drive • Bugzilla• Microsoft Project Planner• Team review meetings• WinAVR• Client Interaction Reports
• Duration: 10/20/2014– 12/1/2014
• Concept: In this phase, the feasibility of each requirement (Win condition) is determined and development starts with, usually, the most feasible and required conditions. Continue risk assessment process, regular stakeholder meetings are to be taken every week, regular progress reports and effort reports to be submitted every alternate Monday, project plans are to be prepared and released on project web-page, risk resolution, assessing project status, sharing implementation jobs
• Deliverables: Draft DC Package, DC Package.
• Milestone: Development Commitment Review.
• Strategy: One Incremental Commitment Cycle
Foundations Phase
Roles and Responsibilities of Key Stakeholders
Roles Responsibilities Roles Responsibilities
Ritika Khurana Project Manager, Life Cycle Planner
Farica Mascarenhas IIV and V, Quality Focal Point
Ashwini Ramesha Operational Concept Engineer, Requirements Engineer
Siddhesh Rumde Life Cycle Planner, Requirements Engineer
Chen Li Requirements EngineerFeasibility Analyst
Yun Shao Feasibility AnalystOperational Concept Engineer
Sowmya Sampath System ArchitectPrototyper
Jiashuo Li PrototyperSystem Architect
Resources and COINCOMO
Our current resources:● Estimated CSCI 577A/B Effort: 8 team members at
12 hrs./week● Total estimated effort: 2304 hours● Project duration: 24 weeks● Component modules in the development project:
● Navigation Module● Sensor Detection Module● Light and Sound Module
● Primary Programming language used: Visual Studio C#
Scale Drivers
Scale Driver
Value Rationale
PREC NOM There is a considerable understanding of the product’s objectives, experience in developing such GUI and some need for innovative data processing and architectures.
FLEX VHI There is a very high need for GUI conformance with pre-established requirements and external interface specifications.
RESL NOM All major risks are documented with mitigation plans for each module; however there is a considerable amount of uncertainty pertaining to the success of User Interface and COTS software.
TEAM VHI No extra efforts are needed to synchronize stakeholders and they are ready to accommodate other stakeholder’s objectives.
PMAT NOM (Level 2)
ICSM Principles and Guidelines are followed strictly by the developer team
Cost Drivers
Driver Value for Navigation
Value for Sensor Detection
Value for Light and Sound
RELY NOM NOM NOM
DATA NOM HI NOM
DOCU NOM NOM NOM
CPLX HI VHI HI
RUSE NOM NOM NOM
TIME NOM HI NOM
STOR HI VHI HI
PVOL LO LO LO
Cost Drivers
Driver Value for Navigation
Value for Sensor Detection
Value for Light and Sound
ACAP NOM NOM NOM
PCAP HI HI HI
PCON VLO VLO VLO
APEX VLO VLO VLO
LTEX LO LO LO
PLEX NOM NOM NOM
TOOL NOM NOM NOM
SITE HI HI HI
Feasibility Analysis
●Business case analysis●Costs & Benefits analysis●Architecture feasibility analysis●Process feasibility analysis●Risk analysis●COTS analysis
Business Case AnalysisAssumption:• Elementary school teachers are comfortable
with the iRobot and are willing to let us do the Mission Science program at their school
• Kids of elementary school are interested in these “hands-on” science and technology activities, projects, experiments, and demonstrations though which they will aspire for careers in Science, Technology, Engineering and Mathematics (STEM)
• The capability of the iRobot will be greatly improved using GUI with drag and drop operation
Business Case Analysis
Cost:• Development Costs• iRobot Hardware• Platform computer• Elementary school teachers and
students’ training• Visual Studio License etc
Business Case Analysis
●Benefits:●Decreasing the difficulty of
programming iRobot and time needed to program iRobot to execute complex instruction set
●Increasing elementary school students’ interests and understanding of complex function of iRobot and aspiration in STEM
●Providing better chance of funding for Mission Science
Activities Time Spent (Hours)
Development Period (12 weeks)
Valuation and Foundations Phases: Time Invested (CS 577a, 12 weeks)
Client: Meeting via email, phone, and other channels [2 hr/week * 12 weeks * 2 people] 48
Client Representatives: Meeting via email, phone, and other channels [2 hr/week * 12 weeks * 2 people] 48
Architecture Review Boards [1.5 hr * 1 times * 8 people] 12
Development and Operation Phases: Time Invested (CS 577b, 12 weeks)
Developer: Spending hours to developing the GUI application [5 hr/week * 10 week * 4 people] 200
Client: Meeting via email, phone and other channels [2 hr/week * 12 weeks * 2 people] 48
Maintainer: Meeting via email, 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 * 4 people] 12
Deployment of system in operation phase and training - Installation & Deployment [5 hr/week * 3 times * 4 people] - Training & Support [5 hrs * 2 times * 2 people]
80
Total 496
Maintenance Period (1 year)
Maintenance [2 hr/week * 52 weeks] 104
Total 104
Hardware Costs
Type Cost Rationale
Hardware - iRobot Machine $0 Provide out-of-the-box opportunity for educators, students to program behaviors, sounds, and movements
Hardware - Platform computer
$0 Test and host the drag and drop GUI
Software - Visual Studio License
$0 Design interface for end users to program the iRobot
Benefits Analysis
●Elementary school students save time to programming iRobot
●Undergraduate students can teach elementary students much easier
●Elementary school students are highly possible to be interested in STEM (Science, Technology, Engineering, Mathematics)
Architecture Feasibility Analysis
●Level of Service Feasibility●Reasonable response time of iRobot ●Seamless interoperability between GUI and complier.
●Capability Feasibility●Drag-and-drop GUI●Instruction Error Detecting and Reporting
●Evolutionary Feasibility●Compatibility with latest version of Windows ●Further improvement after test
Process Feasibility Analysis
●Single NDI/NCS (.NET framework)●Adopt it directly●Ensure the compatibility
●Unique/inflexible business process●Start in Prototyping ●Transfer from graphic view to C code
●Need high level of service/performance
●In schedule●Ensure some specific feature, i.e., limit
tolerance of error
Risk analysis
Risks
Risk Exposure
Risk MitigationsPotential Magnitud
e
Probability Loss
Risk Exposur
e
Visual studio (VS) is decided to be used for designing the GUI, but team has very less idea which compiler gels well with VS to compile C code.
6 6 36 Working on feasibility of having WinAVR compiler working with Visual Studio next week.
Technical risk - potential difficulties of detecting conflicting instructions given by the end users
5 6 30 Team needs to come up with a design where the conflicting instruction set are detected.Team needs to come up with a design where a specific action is taken to avoid unpredictible behavior of the robot.
Team does not fully understand yet how to program the robot's microcontroller and integrate the robot's function with the interface.
6 4 18 Team will be consulting Robotics faculty to support building a prototyping.
COTS Analysis
NDI/NCS Products Purposes
Visual Studio Developing the GUI on Windows
Windows Platform running the GUI
Winform, .NET framework Provide interface for end-users to program the iRobot
iRobot APIs Take instructions from the interface and execute them on iRobot
winAVR compiler Compiles the C program that gets generated from the GUI
Traceability Matrix
OCD Win Win Agreement
SSAD Test Case
OCD1 WC-3283 ATF: Navigation KeysUCD: 2.1.1
Uploading the compiled program to microcontroller chip
OCD2 WC-3297 ATF: SensorUCD: 2.1.2
Uploading the compiled program to microcontroller chip
OCD3 WC-3285 ATF: SensorUCD: 2.1.2
Uploading the compiled program to microcontroller chip
OCD4 WC-3303 ATF: Navigation KeysUCD: 2.1.1
Uploading the compiled program to microcontroller chip
OCD5 WC-3291 ATF: Sounds/LightUCD: 2.1.3
Uploading the compiled program to microcontroller chip
OCD6 WC-3305, WC-3304
ATF: Demo ModesUCD:2.1.1
Uploading the compiled program to microcontroller chip
Defect Identification Review
Evaluation of Scientific, academic and professional work by others working in the same field
Defect Injection and Removal Practice
DEFECTS REMOVAL STRATEGIES
Prototype presented was not a fun to use
Team decided to add better symbols for the buttons
Team not sure which testing method to use
Team will contact client regarding the test cases that
can be developed
Team unsure if the architecture provided is
correct
Team will update the architecture with time as and
when required
Software Documentation & Testing
• Improves Generalizability
• Lead to more prominent factors
• Increases understandability of the project
• Improved Defect Detection
• Scope of improvement of the results on testing
• Testing modules constitute low cost
• Defects identified at each stage