Upload
asidharth09
View
219
Download
0
Embed Size (px)
Citation preview
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 1/14
Software Best Practices
Session 1
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 2/14
2
Symptoms of Software
Development User needs not met
Requirements change
Modules don’t integrate
Code hard to maintain
Late discovery of flaws
Poor quality and performance No coordinated effort
Build and release problems
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 3/14
3
Root Causes Insufficient requirements
Communication problem
Brittle architecture
Complexity of the domain
Poor testing Waterfall development
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 4/14
4
Software Best Practices Have been
harvested from
1000 of customers 1000 of projects
Industry experts
Develop SoftwareIteratively
Manage requirements Visually model the
software(UML)
Build component
architectures Continuously verify
quality
Control changes
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 5/14
5
Waterfall Process Problems
Pushes risk forward
in time Costly to undo
mistakes fro earlierphases
Delays andaggregatesintegration andtesting
Code and unit test
Design
Subsystem integration
System test
Requirementsanalysis
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 6/14
6
Iterative Development Produces an Executable
InitialPlanning
Planning
Requirements
Analysis & Design
Implementation
Test
Deployment
Evaluation
Management
Environment
Each iterationresults in anexecutable release
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 7/147
Requirement Management A systematic approach to eliciting, organizing,
documenting and managing the changingrequirements of a software application
Aspects of requirement management Analyze the problem
Understand the user needs
Define the system Manage the scope
Refine the system definition
Build the right system
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 8/148
Build component architectures Component-based architectures enable economically
significant re-use
In contrast with re-use of individual modules,
significant design elements typically frameworks for important domain or enterprise
abstractions
can be applied to multiple related applications.
The emergence of commercial componentinfrastructures such as Microsoft’s COM, the OMG’s CORBA, and Sun’s Enterprise Java Beans offer well-supported platforms with which to assemblecomponent-based architectures
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 9/149
Model visually A model is a simplification of reality that provides a
complete description of a system from a particularperspective
Modeling is important because it helps thedevelopment team Visualize
Specify
Construct
and document the structure and behavior of a system’sarchitecture
Use Unified Modeling Language for communicationamong the team members and with the client
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 10/1410
Continuously verify the quality Software problems are 100 to 1000 times
more costlier to repair after deployment
While repairing software, we might looseopportunities, eventually loosing clients
A software is qualitative if
The application does functionally what’s required
Reliable
Software should perform under load and shouldbe delivered on time
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 11/1411
UML Modeland
Implementation
Tests
Iteration 1
Test Suite 1
Iteration 2
Test Suite 2
Iteration 4
Test Suite 4
Iteration 3
Test Suite 3
Test Each Iteration
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 12/1412
ALERTREPORT
Workspace
Management
Process
Integration
Parallel
Development
Build
Management
CM is more than just check-in andcheck-out
What Do You Want to Control?
Control, track, and monitor changes toenable iterative development
Establish secure workspaces for eachdeveloper
Automate integration and buildmanagement
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 13/1413
Controlling Parallel Development
• Multiple developers
• Multiple teams
• Multiple sites
•
Multiple iterations• Multiple releases
• Multiple projects
• Multiple platforms
8/13/2019 Software Best Practices Team-1
http://slidepdf.com/reader/full/software-best-practices-team-1 14/14
14
Aspects of a CM System
• Change Request Management
• Configuration Status Reporting
• Configuration Management (CM)
•
Change Tracking• Version Selection
• Software Manufacture