Course Overview - Software Engineering II

advertisement
University of Southern California
Center for Systems and Software Engineering
CS 577b: Software
Engineering II
Class Introduction
University of Southern California
Center for Systems and Software Engineering
Outline
• Schedule
– Guest Lecturers
– TechTalk
– Individual Presentation
• Marks Allocation
• Possible 577b risks
• Team Re-Formation
(C)USC-CSSE
2
University of Southern California
Center for Systems and Software Engineering
Course Schedule
• See
– http://greenbay.usc.edu/csci577/spring2015
• Class settings
– 6:40pm – 8pm: Lecture
– 8:15pm – 9:20pm: Class Activities
• No Class, but team presentations/reviews on
–
–
–
–
Rebaselined DC ARB – Week of 02/11
Design Code Review – Week of 03/04
Core Capability Drivethrough – Week of 03/25
Transition Readiness Review – Week of 04/08
(C)USC-CSSE
3
University of Southern California
Center for Systems and Software Engineering
Milestone Reviews
• Rebaselined Development Commitment
Review
• Design Code Review
• Core Capability Drive thru
• Transition Readiness Review
University of Southern California
Center for Systems and Software Engineering
Milestone review
©USC-CSSE
5
University of Southern California
Center for Systems and Software Engineering
The Incremental Commitment Spiral Model
©USC-CSSE
6
University of Southern California
Center for Systems and Software Engineering
ICSM –Class Milestones
2/11
3/4
3/25
4/08
4/29
Code Review
(C)USC-CSSE
7
University of Southern California
Center for Systems and Software Engineering
(C)USC-CSSE
8
University
University of
of Southern
SouthernCalifornia
California
Centerfor
Center
forSystems
Systems
and
and
Software
Software
Engineering
Engineering
ARB Review Success Criteria
FCR
DCR
For at least one architecture, a
system built to arch. will:
For the selected architecture, a
system built to the arch. will:
• Support the Ops Concept
• Satisfy the Requirements
• Be faithful to the Prototype
• Be buildable within the budgets and
schedules in the Plan
• Show viable business case
• Support the Ops Concept
• Satisfy the Requirements
• Be faithful to the Prototype
• Be buildable within the budgets and
schedules in the Plan
All major risks resolved or
Key stakeholders committed to
covered by risk management
support Foundations Phase
plan
(to DCR)
Key stakeholders committed to
support full life cycle
9
4
University of Southern California
Center for Systems and Software Engineering
Commitment Review Success Criteria
CCD
•Determine whether client needs
anything further to ensure successful
Transition and Operation
• Changes in priorities for
remaining features?
• Changes being made to
operational procedures?
• More materials needed for
training?
• Changes in system data or
environment we should prepare
for?
• Anyone else who should
experience CCD?
TRR / OCR
•Show value
•Product works as expected (or
not with noted exceptions)
•Product will help users do job
•Show quality development
•e.g. relevant parts of your
•IOC documentation
•Process
•Show sustainability
•e.g. support requirements/plans
•Transition plan & status
•Show confidence that product is/will
be ready to be used
•e.g. Transition plan & status
•See also value
10
University
University of
of Southern
SouthernCalifornia
California
Centerfor
Center
forSystems
Systems
and
and
Software
Software
Engineering
Engineering
ARB Session Outline
• RDCR similar format to DCR, different focus:
More time on changes and updates
More time for Architecture, Plans
• General rule on focus: emphasize your
projects high risk areas
– At FCR (in most cases) this will involve
establishing the operational concept (including
system analysis)
– At DCR (in most cases) this will involve the
system design and development plan (especially
schedule)
– At RDCR this will involve the system design and
development plan and test plan
11
11
University of Southern California
Center for Systems and Software Engineering
RDCR ARB topics
• Topics to cover in your presentation &
recommended time allocations
– Summary of Change Sources & Resulting
Changes
– Progress of Prototype
– Construction Plans; Transition Plan Draft
– General Discussions
– Risk analysis to determine course of actions
12
University
University of
of Southern
SouthernCalifornia
California
Centerfor
Center
forSystems
Systems
and
and
Software
Software
Engineering
Engineering
RDCR ARB – Architected Agile Teams
(x,y):
(8, 10)
(presentation time, total time)
Acceptance Test Plan and Cases; Team's strong and weak points +
Shaping & Overall Project Evaluation; Full test plan and cases
(2, 3)
OCD. System purpose; changes in current system and deficiencies,
proposed new system, system boundary, and desired capabilities and
goals; top-level scenarios If there is no change, just present system
boundary diagram
(10,15) Prototype Update. Changes in significant capabilities (especially those with
high risk if gotten wrong)
(8, 10)
Architecture. Overall and detailed architecture; design if critical;
COTS/reuse selections (NOT JUST CHOICES)
(6, 8)
Life Cycle Plan. Project plan- at lease until CCD or as appropriate;
Team members’ roles & responsibilities in 577b, Full Iteration Plan
(5, 10)
Feasibility Evidence. Focus on Risk Analysis. Traceability Matrix. Definition
of Done, 2 Metrics results, Technical Debt
• Plan on 2 minutes per briefing chart, except title
• Focus on changes (particularly new things) since DCR
• You may vary from the above: please notify ARB board members IN ADVANCE
13
University
University of
of Southern
SouthernCalifornia
California
Centerfor
Center
forSystems
Systems
and
and
Software
Software
Engineering
Engineering
RDCR ARB – NDI-intensive Teams
(x,y):
(8, 10)
(presentation time, total time)
Acceptance Test Plan and Cases; Team's strong and weak points +
Shaping & Overall Project Evaluation; Full test plan and cases
(2, 3)
OCD. System purpose; changes in current system and deficiencies,
proposed new system, system boundary, and desired capabilities and
goals; top-level scenarios If there is no change, just present system
boundary diagram
(10,15) Prototype Update. Changes in significant capabilities (especially those with
high risk if gotten wrong)
(5,7)
Architecture. Overall and detailed architecture; design if critical;
COTS/reuse selections (NOT JUST CHOICES)
(6, 8)
Life Cycle Plan. Project plan - at lease until CCD or as appropriate; Team
members’ roles & responsibilities in 577b, Full Iteration Plan
(5, 10)
Feasibility Evidence. Focus on Risk Analysis, Traceability Matrix. Definition
of Done, 2 Metrics results, Technical Debt
• Plan on 2 minutes per briefing chart, except title
• Focus on changes (particularly new things) since DCR
• You may vary from the above: please notify ARB board members IN ADVANCE
14
14
University of Southern California
Center for Systems and Software Engineering
Grading Guidelines
Total = 65 points
(30)
(10)
(5)
(20)
4/2/2012
Progress of your work
Presentation
Risk Management
Quality
(C) USC-CSSE
15
University of Southern California
Center for Systems and Software Engineering
Milestone review tasks
• Prepare for milestone review
– Set scope
• Schedule review meeting
• Distribute meeting materials
• Conduct review meeting
– Progress, Quality, risk profile, feasibility
• Record decision
©USC-CSSE
16
University of Southern California
Center for Systems and Software Engineering
Milestone Reviews
• Rebaselined Development Commitment
Review
• Design Code Review
• Core Capability Drive thru
• Transition Readiness Review
University of Southern California
Center for Systems and Software Engineering
©USC-CSSE
18
University of Southern California
Center for Systems and Software Engineering
Internal Code Review
©USC-CSSE
19
University of Southern California
Center for Systems and Software Engineering
Outline
• Problems & Motivation
• Faithful vs. Unfaithful
• Preparation and Review Process
4/2/2012
(C) USC-CSSE
20
University of Southern California
Center for Systems and Software Engineering
Motivation
• To aid with successful transition
• Ensure that implementation is faithful to
the design
– Or at least consistent
• Sufficient documentation for maintenance
period
– Ease software understanding
– Enable evolutionary development
4/2/2012
(C) USC-CSSE
21
University of Southern California
Center for Systems and Software Engineering
Problems
• When implementation and design are
different
– The only way to understand implementation is
to read through code
– Documented artifacts appear useless
– Wasted efforts and time
• Ultimately, Lose-Lose situation
– Unhappy clients
– Unhappy developers bugged by clients
– Unhappy maintainers
4/2/2012
(C) USC-CSSE
22
University of Southern California
Center for Systems and Software Engineering
Architectural Drift
• Classic problem in software engineering
and software maintenance
• Often happen slowly during implementation
– Developers feel changes are minor
– Effects of changes multiply
4/2/2012
(C) USC-CSSE
23
University of Southern California
Center for Systems and Software Engineering
Requirements-to-Code Elaboration
Objective
x 2.46
Shall
Statements
x 0.89
Use-Case
x 7.06
• Impact factor from one step to
the next
• Increase in number of
“statements”
• Clearly, significant impact when
changes made to early stages
Use-Case Steps
x 66.91
SLOC
* Ali Afzal Malik, Supannika Koolmanojwong, Barry Boehm. “An Empirical Study of Requirements-to-Code Elaboration Factors
4/2/2012
(C) USC-CSSE
24
University of Southern California
Center for Systems and Software Engineering
Faithful Implementation
• The definition
• Structural elements  Source code
– All should be there
• Source code must not utilize new major
computational elements not specified in
architecture
• Source code must not contain new
connections not found in architecture
• Can we deviate from this?
4/2/2012
(C) USC-CSSE
25
University of Southern California
Center for Systems and Software Engineering
Unfaithful Implementation
• The implementation has its own
architecture
– Implementation is the architecture
• Impacts of failure to recognize distinction
between designed and implemented
architecture
– Ability to reason about application’s
architecture in future
– Misleading (what they think vs. what they have)
– Evolution strategies based on documented
architecture doomed to failure
4/2/2012
(C) USC-CSSE
26
University of Southern California
Center for Systems and Software Engineering
Two-Way Mapping
• This is what should have been done
• Changes can be discovered during design
or implementation phases
– What to do?
– How to effectively handle?
4/2/2012
(C) USC-CSSE
27
University of Southern California
Center for Systems and Software Engineering
Design to Implementation
• Decide to first visit the design
– Update the design
– Review the changes
– Implement according to the new design
• Always have a “blue print” to refer to
• Architects may have more understanding
on impact of design changes
– Easier to foresee future impacts
4/2/2012
(C) USC-CSSE
28
University of Southern California
Center for Systems and Software Engineering
Implementation to Design
• Changes made to the implementation
immediately
– Then trace back to design
– Update design to reflect new implementation
• Easier from developers perspective
• Many changes may have been missed in
design update
• Difficult to foresee future effects
– Unless highly experienced
4/2/2012
(C) USC-CSSE
29
University of Southern California
Center for Systems and Software Engineering
Preparation
• Source code files
– As implemented
• SSAD and UML models
• Personnel
– Must be present:
• Developer (coder)
• Architect(s)
– Optional
• Other team members
4/2/2012
(C) USC-CSSE
30
University of Southern California
Center for Systems and Software Engineering
Review Process
• Mainly done with code tracing and walkthrough
• Design patterns / Architecture frameworks
– Which is specified in SSAD?
– Meet the standards?
• Design classes vs. Implemented classes
– Consistent attributes
– Consistent operations
• Use-case tracing
– Consistency between use-case behavior and
implementation
4/2/2012
(C) USC-CSSE
31
University of Southern California
Center for Systems and Software Engineering
Grading Guidelines
–
–
–
–
Week of 03/25, 30 minutes
Location: SAL 322 or 329
Schedule with TA
Marks allocation - Total = 25 points
(5) Faithfulness to design patterns / architecture frameworks
(8) Faithfulness in design classes to implemented classes
mapping
(7) Accuracy of implemented Use-Case behaviors
(5) Overall
4/2/2012
(C) USC-CSSE
32
University of Southern California
Center for Systems and Software Engineering
Milestone Reviews
• Rebaselined Development Commitment
Review
• Design Code Review
• Core Capability Drive thru
• Transition Readiness Review
University of Southern California
Center for Systems and Software Engineering
Core Capabilities Drive-thru
©USC-CSSE
34
University of Southern California
Center for Systems and Software Engineering
©USC-CSSE
http://justincaseyouwerewondering.com/wp-content/uploads/2012/01/UsabilityTest.png
35
University of Southern California
Center for Systems and Software Engineering
CCD vs Testing
©USC-CSSE
http://www.digitalcunzai.com/usability_testing.php
36
University of Southern California
Center for Systems and Software Engineering
CCD Purpose
• Improve likelihood of successful transition
• Improve operational stakeholder
communication & motivation
– Sense of what they’ll be getting
• Hands-on usage opportunity
• Product will soon be theirs to manage
– Determine whether developers are on right track
• Use real operational scenarios (preferred)
©USC-CSSE
37
University of Southern California
Center for Systems and Software Engineering
CCD Purpose
• Determine whether client needs anything
further to ensure successful Transition and
Operation
–
–
–
–
–
Changes in priorities for remaining features?
Changes being made to operational procedures?
More materials needed for training?
Changes in system data or environment?
Anyone else who should experience CCD?
©USC-CSSE
38
University of Southern California
Center for Systems and Software Engineering
Collaboration Problem
FCR
Exploration &
Valuation
DCR
Development
Foundations
Operations
Construction
©USC-CSSE
Transition
39
University of Southern California
Center for Systems and Software Engineering
Solution: CCD
Exploration &
Valuation
Development
Foundations
Operations
Construction
©USC-CSSE
Transition
40
University of Southern California
Center for Systems and Software Engineering
Developer Preparation
• Schedule drive–through time with client
–
–
–
–
40-60 minutes generally OK
Place: SAL 322, SAL 329
Week of 03/25
Discuss with client
• Agenda
• Core Capabilities
• Scenarios (acceptance test sub-set)
• Drive–through users
– Coordinate with 577b staff
• schedule prior to CCD
• Specify hardware/software required (if needed)
http://blog.zilicus.com/enhancing-user-experience-of-zilicuspm/
©USC-CSSE
41
University of Southern California
Center for Systems and Software Engineering
Developer Preparation
• Acceptance Test Subsets
• Prepare draft User’s Manual
– Bring hard copies for clients & others
– Minimally: describe how to use core capabilities
• Outline form
– 1 high-level per capability
– Sublevels describe steps to perform capability
• Index cards
– 1-2 cards per capability
– Steps to perform capability on cards
©USC-CSSE
42
University of Southern California
Center for Systems and Software Engineering
Developer Preparation
• Prepare & dry run context presentation
– Bring hard copies for clients & others
• Concern Logs
– Can be in any form
• 577 template
OR
• Your own
– Included in the report
©USC-CSSE
43
University of Southern California
Center for Systems and Software Engineering
Client Preparation
• Communicate with client
• Not just limited to client(s), but user(s) as well
• Plan “user” test scenario(s) of core capabilities
– High-level description of typical usage
– Should exercise capabilities in way user would
• May want to discuss with
– Intended users
– Acceptance Test developers
• Data, usage scenarios, users, etc.
©USC-CSSE
44
University of Southern California
Center for Systems and Software Engineering
CCD : Baseline Agenda
• Summary of Core Capability content
– Prioritized capabilities
• Review example Core Capability usage
scenario
• Hands-on client usage
– Most of time should be spent here
• Discussion of IOC priorities
• Tailor agenda to your project
©USC-CSSE
45
University of Southern California
Center for Systems and Software Engineering
Client’s “Hands-on” Usage
• Imagine the reality once software is
delivered
• Let the clients play with the system
• Use of user’s guide/manual
– DO NOT tell the clients what to do
• Observe and listen
– Usability
– Reactions
– Etc.
©USC-CSSE
46
University of Southern California
Center for Systems and Software Engineering
CCD Products
• Concern logs (include things customer liked)
–
–
–
–
Core capabilities
User’s Manual
Tutorial
Test Cases
• As appropriate
– Re–prioritized list of remaining features
– List of changes
• Operational procedures
• System data or environment developers
©USC-CSSE
47
University of Southern California
Center for Systems and Software Engineering
CCD Report
• Gather and submit
– As-Is user’s manual
– Concern Logs
– Record of demonstration as performed
• Summarize Core Capabilities driven–through
• Include suggestions and positive feedbacks
– Be specific
– Break down by capability
– New risks, if any, and mitigation plans
• Things that are Core Capabilities, but were NOT exercised:
Mitigation = repeat CCD?
• Core capabilities not ready: Mitigation = do afterwards, coordinated
with Client
• Changes in understanding
– Reprioritized capabilities, if any
– COCOMO Estimation + Code Count reports
©USC-CSSE
48
University of Southern California
Center for Systems and Software Engineering
CCD Motivation
• Effort for remaining work
• More data for analysis
• Past estimation
– Overestimate?
– Underestimate?
• Analyze past estimations
©USC-CSSE
49
University of Southern California
Center for Systems and Software Engineering
CCD Summary
• CCD is an opportunity to
–
–
–
–
Set customer expectations
Get positive feedbacks and suggestions
Validate core capabilities
Validate development directions and
understandings
– Ease transition
– Identify new risks and mitigations
©USC-CSSE
50
University of Southern California
Center for Systems and Software Engineering
Grading Guidelines
Total = 25 points
(3)
(15)
(7)
4/2/2012
Preparation for the CCD
Progress of your work
Quality of the core capabilities
(C) USC-CSSE
51
University of Southern California
Center for Systems and Software Engineering
Milestone Reviews
• Rebaselined Development Commitment
Review
• Design Code Review
• Core Capability Drive thru
• Transition Readiness Review
University of Southern California
Center for Systems and Software Engineering
TRR Package Overview
• Transition Set
– Transition plan
– User manual
• Support Set
– Support plan
– Training materials
• inc. Tutorials & sample data
– Test plan, cases, and results
©USC-CSSE
53
University of Southern California
Center for Systems and Software Engineering
Transition Plan
• “Ensure that system’s operational stakeholders
are able to successfully operate & maintain
system”
• Plans for change from development mode to
operational mode
–
–
–
–
Site installation & test
Load data
Pilot Operations
Preparations for roll-out
©USC-CSSE
54
University of Southern California
Center for Systems and Software Engineering
User Manual
• Teach & guide user on how to use product
i.e., describe
• Steps
– For running SW
– Performing operations
• Expected
– Inputs
– Output(s)
• Measures to be taken if errors occur
©USC-CSSE
55
University of Southern California
Center for Systems and Software Engineering
Support Plan
• Guide system’s support stakeholders
(administrators, operators, maintainers, …)
on successful
– Operation
– Maintenance [and Enhancement?]
©USC-CSSE
56
University of Southern California
Center for Systems and Software Engineering
Training Materials
• Identify training
– Objectives
– Schedule
– Participants
• Prepare
– Lectures
– Examples
– Exercises
• Prepare any sample data need for training
©USC-CSSE
57
University of Southern California
Center for Systems and Software Engineering
TRR Presentation Summary
• Specific requirements for your presentation:
– Your product!
• i.e., fully working IOC version
– Salesman-like discussion of your project’s usefulness
• Base on your business case, etc
• Why is system going to be really great for customer
– Transition issues & transition plan
• if you delivered your product how did it go?
– (you should have by presentation)
• If not, when?
– Support issues
• How will you support product, once deployed?
– E.g. next term, for instance
– OK to say that
» You will never touch it ever again
» Everything’s up to customer 
©USC-CSSE
58
University of Southern California
Center for Systems and Software Engineering
TRR Agenda (80 Minutes)
5 min.
Introduction
– Operational concept overview
30 min.
15 min.
10 min.
Demo of IOC (Product status demonstration)
Quality assurance
- Test results
- Traceability Matrix.
- show that you comply with the Definition of Done that you
presented during RDCR ARB
- 2 Metrics results
- Technical Debt
Summary of Transition Plan and transition plan (as appropriate)
–
–
–
–
–
–
15 min.
HW, SW, site, staff preparation
Operational testing, training, & evaluation
Stakeholder roles & responsibilities
Milestone plan
Required resources
Software product elements (code, documentation, etc.)
Feedback
*** Times are approximate ***
©USC-CSSE
59
University of Southern California
Center for Systems and Software Engineering
Grading Guidelines
Total = 65 points
(30)
(10)
(5)
(20)
4/2/2012
Progress of your work
Presentation
Risk Management
Quality
(C) USC-CSSE
60
University of Southern California
Center for Systems and Software Engineering
Other things about milestone
reviews
•
Phase shifting
– The milestones are being made, but the work hasn’t actually been
completed, hence shifting it to subsequent phase
•
Project signoff / Project close-out
– Signifies completeness or business acceptance of the deliverable
– Prepare list of deliverables in advance
– Phase signoff – check point
• Conditional signoff – specific conditions that will need to be met in
the succeeding phases; spike in Scrum; need more feasibility
evidence
• Acceptable variance signoff – not completely satisfy, but deliver
with acceptable variance
• Postponed signoffs – move to next checkpoint, should not happen
– Closeout – sometimes include lesson learned , post-implementation
report, recognize outstanding work, archive project records
Ref: www.pmhut.com
©USC-CSSE
61
University of Southern California
Center for Systems and Software Engineering
Outline
• Schedule
– Guest Lecturers
– Individual Presentation
• Marks Allocation
• Possible 577b risks
• Team Re-Formation
(C)USC-CSSE
62
University of Southern California
Center for Systems and Software Engineering
Potential Guest Lecturers
•
•
•
•
•
•
•
Boeing
Defense Acquisition University
Aerospace Corporation
Cornerstone
Kyocera
Share the training
Los Angeles Department of Water and Power
(C)USC-CSSE
63
University of Southern California
Center for Systems and Software Engineering
Outline
• Schedule
– Guest Lecturers
– Individual Presentation
• Marks Allocation
• Possible 577b risks
• Team Re-Formation
(C)USC-CSSE
64
University of Southern California
Center for Systems and Software Engineering
Individual Presentation
• 80 points
• 2 kinds – Pick one
– TechTalk
• Product evaluation
– Individual Research Presentation
• New trends in software engineering
• 8 minutes presentation
(C)USC-CSSE
65
University of Southern California
Center for Systems and Software Engineering
Individual Presentation Schedule
8 presenters per day
Date
Activity
02 / 25
Tech Talk I
03 / 11
Tech Talk II
04 / 01
Tech Talk III
04 / 15
Research Presentation
04 / 22
Research Presentation
04 / 29
Research Presentation
(C)USC-CSSE
66
University of Southern California
Center for Systems and Software Engineering
TechTalk
• Don’t pick a tool that you already know
– pick a new one, challenging one
• Mainly open source tools
– some commercial for free 10days/30days
• Imagine your manager ask you to review the
tool/technology
– Use the tool, try the technology
– Show case / demo it to the class
– good points, bad points, when to use it, should we use it
(C)USC-CSSE
67
University of Southern California
Center for Systems and Software Engineering
DEN/ Remote students
• Call in
– Presentation through webex
• Presentation in person [optional]
68
University of Southern California
Center for Systems and Software Engineering
TechTalk Process
M Feb 2
M Feb 16
• Submit HW
2 TechTalk
or Individual
research
topic
• Will provide
feedback
• Last day of
selecting
and
scheduling
Individual
Presentation
W Feb 25
• First
Individual
Presentation
Note:
- For TechTalk, you will select from to-be-posted link (first come first serve – 8 people per
day
- For individual research presentation, you will submit a topic with abstract on February 2
- If you have an interesting tool / framework that is not in the list, please let me know
before January 21.
(C)USC-CSSE
69
University of Southern California
Center for Systems and Software Engineering
TechTalk Topics – PM & Prototype
Presentation date: February 25, 2015
PM & Prototyping tools
1 TuLeap - Life Cycle Management Software - http://www.enalean.com/
2 Alfresco - open source content management platform - http://www.alfresco.com/
3 SugarCRM - http://www.sugarcrm.com/
4 Feng Office - Project Management tool - http://www.fengoffice.com/web/
5 Activiti - BPM Tool - http://www.activiti.org/
6 Bonita BPM 6 - BPM tool - http://www.bonitasoft.com/
7 LibrePlan - Project Management Tool - http://www.libreplan.com/
8 OpenProject - Project Management Tool - https://www.openproject.org/
9 RedMine - Project Management Tool - http://www.redmine.org/projects/redmine
10 FluidUI https://www.fluidui.com
11 Proto.io http://proto.io
12 UXPin
http://uxpin.com
13 Justinmind http://www.justinmind.com
14 Notism https://www.notism.io/home
(C)USC-CSSE
70
University of Southern California
Center for Systems and Software Engineering
TechTalk Topics - II
Presentation date: March 11, 2015
QA &Testing tools
1 Badboy Software (www.badboy.com.au), web automated testing tool
2 Selenium (automated testing tool) - SElinium IDE (Beginner)
3 Selenium (automated testing tool) - SElinium WebDriver (Advanced)
4 Geb (browser automation solution) - http://www.gebish.org/
5 Cucumber - BDD tool - http://cukes.info/
6 Lettuce - BDD tool - http://lettuce.it/tutorial/simple.html
7 Robot Framework - test automation framework - http://robotframework.org/
8 Jmeter
9 Tsung - Load Testing Tool - http://tsung.erlang-projects.org/
10 Load Impact - Performance Testing Service on the cloud - http://loadimpact.com
11 Phabricator - Peer Code Review Tools - http://phabricator.org/
12 Capybara - Web app testing tool - http://jnicklas.github.io/capybara/
13 Tarantula - Testing tool - http://www.testiatarantula.com/
14 Smartbear - Testing tool - http://smartbear.com/products/free/
Load Runner - performance testing tool - http://www8.hp.com/us/en/software(C)USC-CSSE
15 solutions/software.html?compURI=1175451
71
University of Southern California
Center for Systems and Software Engineering
TechTalk Topics - III
Presentation date: April 01, 2015
Development tools and frameworks
1 Django - opensource web application framework
2 MongoDB - NoSQL DB
3 Couchbase Server - NoSQL DB - http://www.couchbase.com/
4 Apache Hadoop - http://hadoop.apache.org/
5 Apache Sqoop - http://sqoop.apache.org/
7 Bootstrap - http://getbootstrap.com/
8 Less - http://lesscss.org/
9 AngularJS - http://angularjs.org/
10 Backbone.js - http://backbonejs.org/
11 D3 - Data Driven Documents - http://d3js.org/
12 Jenkins - http://jenkins-ci.org/
13 Rasberry Pi - http://www.raspberrypi.org/
14 Apache Shiro - Java Security Framework - http://shiro.apache.org/
15 Varnish - Web application accelerator - https://www.varnish-cache.org/
16 Docker - Cloud application development tool - http://www.docker.io/
(C)USC-CSSE
72
University of Southern California
Center for Systems and Software Engineering
Individual Research Presentation
• Research
– Not report, not inform
• Presentation
– PPT, vdo, demo, prototype
73
University of Southern California
Center for Systems and Software Engineering
Possible topics
• Any software/ systems engineering topics
– Not limited to process improvement
• BUT needs to relate to CSCI577ab
– Or at least provide benefits to the class
– Or use CSCI577ab knowledge to apply to your
topic
74
University of Southern California
Center for Systems and Software Engineering
Possible Topics
•
•
•
•
•
•
•
•
•
•
•
•
Green and sustainable software
Cooperative and Human Aspects of Software Engineering
Games and Software Engineering
Software Engineering for Secure Systems
Software Engineering for Cloud Computing
Product Line Approaches in Software Engineering
Managing Technical Debt
Software Clones
Automation of Software Test
Software Measurements
Developing Tools as Plug-ins
Software Processes
75
University of Southern California
Center for Systems and Software Engineering
Possible Topics - Software processes
•
•
•
•
•
•
•
•
•
•
•
•
Agile/Lean processes in software and systems development
Assessment and improvement of software and systems processes
Cost estimation and project planning
Global software and systems development
Software and systems supply chain
Life cycle development methods including product-line engineering and all
others
Modeling and simulation of software and systems processes
Novel techniques for process representation and analysis of software and
systems processes
Process improvement
Process tools and metrics for software and systems engineering
Studies focused on specific portions of the development lifecycle including
requirements engineering, design, testing, independent verification and
validation and others
Process issues in health care, transportation, and automation systems
76
University of Southern California
Center for Systems and Software Engineering
Not so good topics
•
•
•
•
The Rational Unified Process
What is Cloud Computing?
Model-View-Controller Architecture
What’s new in HTML5
77
University of Southern California
Center for Systems and Software Engineering
DEN/ Remote students
• Call in
– Presentation through webex
• Presentation in person [optional]
78
University of Southern California
Center for Systems and Software Engineering
HW2
• Due: Monday February 2
• 10 points
• TechTalk
– Select the topic & date on to-be-posted doodle
– First come first serve (8 people per day)
– Brief report (100-300 words) on
• Quicklook evaluation
• Individual Research Presentation
– Abstract
• 100-300 words
– Keywords
– References
79
University of Southern California
Center for Systems and Software Engineering
Marks allocation
TechTalk
• 80 points
– 10 points : Time management
– 30 points : Quality of Demo
Scenario
– 20 points : Quality of Product
evaluation
– 20 points : Quality of
Presentation
Research presentation
• 80 points
–
–
–
–
–
5 points : Interesting
5 points : Soundness
10 points : Time management
10 points : Contribution to 577
10 points : Benefit to SE
students
– 20 points : Quality of Work
– 20 points : Quality of
Presentation
80
University of Southern California
Center for Systems and Software Engineering
Outline
• Schedule
– Guest Lecturers
– Individual Presentation
• Marks Allocation
• Possible 577b risks
• Team Re-Formation
(C)USC-CSSE
81
University of Southern California
Center for Systems and Software Engineering
Marks Allocation
Category
%
Individual Score (HW/In-Class)
24%
Individual Critique
11%
Tech Talk & Pair Research Presentation
10%
Individual Contribution
Team Score
5%
45%
Client Evaluation
5%
100%
(C)USC-CSSE
82
University of Southern California
Center for Systems and Software Engineering
Primary CS577b Risk Items
• Personnel
–
–
–
–
Commitment
Compatibility
Ease of communication
Skills (management, web/java, Perl, CGI, data
compression, …)
• Schedule
– Project scope
– IOC content
– Critical-path items (COTS, platforms, reviews, …)
• COTS
– See next chart
– Multiple COTS
(C)USC-CSSE
83
University of Southern California
Center for Systems and Software Engineering
Primary CS577b Risk Items
(cont.)
• Requirements & UI
– Not matching client user needs
• Performance
–
–
–
–
–
–
Memory, Disk Space usage (#Bits)
Bus, Network, CPU utilization & bandwidth (#Bits/sec)
Overhead sources
Reliability of deliver
Safe
Secure
• External tasks
– Client/operator preparation
– Commitment for transition
(C)USC-CSSE
84
University of Southern California
Center for Systems and Software Engineering
COTS & External Component
Risks
• COTS risks
– Immaturity
– Inexperience
– Incompatibility with
• Application
• Platform
• Other COTS
– Controllability
(C)USC-CSSE
85
University of Southern California
Center for Systems and Software Engineering
COTS & External Component
Risks (cont.)
• Non-commercial off-the shelf components
– Sources
• Reuse libraries
• Government (GOTS)
• Universities (ROTS)
– Issues
• Qualification testing
• Benchmarking
• Inspections
• Reference checking
• Compatibility analysis
• Both
– Safety
– Dependability
– Security
(C)USC-CSSE
86
University of Southern California
Center for Systems and Software Engineering
Top 11 - Risk distribution in CSCI577
12
10
8
6
4
2
0
(C)USC-CSSE
87
University of Southern California
Center for Systems and Software Engineering
Comparing between risks in Fall and Spring
6
5
4
3
2
Fall
1
Spring
0
(C)USC-CSSE
88
University of Southern California
Center for Systems and Software Engineering
Heads-Up: CS 577b Planning
Common LCP Problems @ RDCR
• RDCR operational prototype, business-case
iterations: What have you done since last
semester?
• Too many internal-increment deliverables
• Lack of core-capability specifics
– End-to-end demonstrable capability
• Lack of specific team member responsibilities
– By artifact & increment; but flexible
• Transition preparation
– Transition-leader’s success plan (teammates, clients)
(C)USC-CSSE
89
University of Southern California
Center for Systems and Software Engineering
CS577 Academic Integrity
Guidelines
• Individual Assignments
– OK to discuss
– Not OK to copy each others’ solution elements
– Not OK to copy external sources without attribution
• Within “Fair Use Guidelines”
• Team Assignments
– OK to use other teams’ patterns
• e.g. MS Project tasks
• Must give credit!!!
– Not OK to copy other teams’ complete/partial solutions
• e.g. MS course & project schedules
(C)USC-CSSE
90
University of Southern California
Center for Systems and Software Engineering
Outline
• Overview
• Schedule
– In-Class Team Discussion
– Guest Lecturers
– Individual Research Presentation
• Marks Allocation
• Possible 577b risks
• Team Re-Formation
(C)USC-CSSE
91
University of Southern California
Center for Systems and Software Engineering
577b project roles
•
•
•
•
•
•
Project Manager
Implementer
Tester
Trainer
IIV&Ver
Quality Focal Point
(C)USC-CSSE
92
University of Southern California
Center for Systems and Software Engineering
(C)USC-CSSE
93
University of Southern California
Center for Systems and Software Engineering
577b Project Activities
Rebaselined Foundations Phase
(C)USC-CSSE
94
University of Southern California
Center for Systems and Software Engineering
577b Project Activities
Development Phase – Construction Increment
(C)USC-CSSE
95
University of Southern California
Center for Systems and Software Engineering
577b Project Activities
Development Phase – Transition Increment
(C)USC-CSSE
96
University of Southern California
Center for Systems and Software Engineering
577b Project Artifacts
• Exploration, Valuation, and Foundations set
– OCD, SSAD, LCP, FED
• Initial Operational Capability set
– Test Plan & Cases, Test Procedures & Results
– Iteration Plan & Iteration Assessment Report (part of LCP)
– CCD Report
• Transition and Support set
– Transition Plan, Training Materials
– Regression Test Package
– User Manual
(C)USC-CSSE
97
Team Reformation
University of Southern California
Center for Systems and Software Engineering
Project
On-Campus
Off-campus
Suggestions
8
1 We Are Trojans (WAT network)
2 Soccer Data Webcrawler
3 SnapValet
3
1
4 FlowerSeeker
6
1
5 SnApp - Voice Communication System (VCS)
6 BlackProfessionals.net
1
7 Mission Science iRobots
3
1
5
1
6
1
8 e-LockBox
9 TipSure.com
10 REFERsy
11 ShareTheTraining.com
12 Cash Doctor 3.0 Mobile APP
13 Mobile Application for Mobile-Controlled Lighting
14 Women At Work Website Redesign
15 GOTRLA Smartphone App Development
3
7
7
7
10
10
Alaskari, Abdullah Mansour, A.
Hu, Yu-Hsiang
Lee, Danny, W.
Mardah, Hanadi, Omar
Mukhin, Sergey
Al Sudais, Sadeem, Saleh A
3 Horng, Patrick
3 Bousman, Brian, Gordon
(C)USC-CSSE
off-campus
off-campus
98
Download