Transcript Client Presentation
EOSP Summer 2004
4/25/2020 1
• Clients (RADAR) – Scott E. Fahlman – Ulas Bardak • Mentors – Grace Lewis – Gil Taran
Stakeholders
• Team – Dungjit Shiowattana • Development manager – Agustinus Tegawinata • Support manager – Cheng Zhang • Planning manager – Vijay Sai • Reflection manager • Client manager 4/25/2020
Introduction
2
Next Semester Progress Process Reflection
Agenda
• Project Overview • Goals for Summer • Architecture • Technology • Implementation • Development Process • Requirements Management • Demonstration • Planning • Process • Support • Reflective Practice • Lessons Learnt • Product Delivery 4/25/2020 3
Overview
Email Assistant Space-planning Assistant 4/25/2020
Introduction Progress
Scheduling Assistant RADAR
Process Reflection
Webmaster 4
Next Semester
Project Overview
• RADAR – TODO: Some key features to go here • Space Planning – TODO: Some key features to go here 4/25/2020 5
Cycle
1
Development Target
Features
Pipe & filter infrastructure Event bus infrastructure Extract room boundary Display floor plans 2 3 4 Highlight multiple rooms Display room information Present office space Present restricted office space Print maps Chat with AI Zoom in/Zoom out Identify doors Present flexible office space Open additional floor plans Modify extracted information Other rating mechanism 4/25/2020 6
Architecture
• Approach • Utility tree • ATAM • Design – Layered view – High-level Design (HLD) – Detail-level Design (DLD) • Class diagrams • Sequence diagrams 4/25/2020 7
4/25/2020
STARS Front End Layers
8
4/25/2020
Front End HLD
9
Detailed Design
• Purpose – Reasoning – Development Plan – Documentation – Maintenance & support 4/25/2020 10
Detailed Design - 1
• Front-end to be set in here 4/25/2020 11
Detailed Design - 2
• Front end sequence Diagram to be set in here 4/25/2020 12
4/25/2020
STARS Utility Layers
13
4/25/2020
Extraction Utility HLD
14
STARS Utility DLD - 1
• Front-end 4/25/2020 15
STARS Utility DLD - 2
• Sequence diagram to be set in here 4/25/2020 16
Detailed Design - 2
• Sequence Diagram 4/25/2020 17
Technology & Tools
• Technology – Java 1.4.2
– MySQL Database – YCAD Library – Rachel – XML-RPC • Tools – Eclipse IDE – Bugzilla – JUnit & JFC Unit 4/25/2020 18
Development - 1
• Strategy – Cycle end code freeze – Code reviews – Bug tracking with Bugzilla – Development log updates 4/25/2020 19
Development Process
Code & Create unit test Unit test Has Defect?
No Yes Code review Fix defect Has Defect?
Yes No Fix defect Require Integration?
No Yes Integration test Yes Has Defect?
No No Yes Fix defect Require AT?
Acceptance test No Yes Fix defect Update Design 4/25/2020 20
Development - 2
• Lessons – Integration challenges – Testing challenges – Role of Junit 4/25/2020 21
Requirements Management
• A continuing need to manage – Clarification log – Weekly client update meeting – Documenting design – Sanity checks with client help in testing – End of cycle demonstrations to client – Hands-on sessions with application from cycle 4 4/25/2020 22
Requirements Management
Noteworthy and significant clarifications during the detailed design phase YCAD vs Image Processing User authentication FTP/DB Storage of DXF file Adjacency definition 4/25/2020 23
Cycle
1
Development Target
Features
Pipe & filter infrastructure Event bus infrastructure Extract room boundary Display floor plans 2 3 4 Highlight multiple rooms Display room information Present office space Present restricted office space Print maps Chat with AI Zoom in/Zoom out Identify doors Present flexible office space Open additional floor plans Modify extracted information Other rating mechanism 4/25/2020 24
2 3 4 Cycle 1 4/25/2020
Bug Metrics
# of defects 25
Demonstration
• Features being demonstrated – Open a floor map – Distance calculation • Check distance between 2 rooms • Display the path – AI command to display specific map – Chat session between AI and user 4/25/2020 26
Process Improvement
• Process – QA Overview • Bugzilla to record and track bugs – Unit testing • Junit coding by developer • Rerun on product packaging and regression testing – Code reviews by individual – Integration testing • Test conditions verified • Internal tester used for testing 4/25/2020 27
Process - 2
• User testing – End of cycle demonstration – Formal UAT on last cycle • Performance testing – Identification of bottlenecks – Optimization task definition and execution • Usability testing – External tester for usability 4/25/2020 28
Process Improvement
• TSP – Lessons learnt – Used only for time recording • Planning & Tracking with MS Project • Development monitoring – Ensure QA process conformance – Development tracking sheet 4/25/2020 29
Reflective Practice - 1
• Automated testing using JUnit • Preliminary study • Workshop – Setup environment for using JUnit with Eclipse – Examples of using
Test
and
TestSuite
classes • Iterative approach to successful testing Prepare unit tests Code Execute tests Ready for review 4/25/2020 30
Reflective Practice - 2
• Challenges – Initial learning curve steep – Effort intensive coding – Impact on schedule – UI testing – Auto ant build for regression testing 4/25/2020 31
Reflective Practice - 3
• Findings – Advantages of JUnit • Failure based testing useful • Traceability medium for other developers • Repeated testing facilitated • Failures due to changes easily captured • Value visibility drives discipline in the developer – Disadvantages of JUnit • Testing as effective as the coverage provided by test code • Functional correctness of code questionable • Quality checks need to be performed on test code as well • Simulation to facilitate business process test non-viable • Happy path testing as same person codes and writes test 4/25/2020 32
Reflective Practice - 4
• Organization of JUnit test cases – Black box testing • Perfect for testing classes' contract • No constraint on organization can be organized in different packages and projects • Issue: some methods’ effects not externally observable – White box testing • May be necessary to test internal behavior • Methods/attributes access modifiers may need change • Test cases need to be organized in corresponding packages 4/25/2020 33
Reflective Practice - 5
• Formal vs informal reflection – Formal • Weekly team meeting discussion • Questionnaire – Informal • Blogging • Unplanned contributions during technical meetings 4/25/2020 34
Client
• Participation intense • Availability high • Accessibility flexible • Requirements process well-supported 4/25/2020 35
Product Delivery
– Packaged on CD – Websites updated – Documentation provided – Multiple reviews by client 4/25/2020 36
4/25/2020
Questions?
37