Welcome! : Tahir Farooq
Welcome! : Tahir Farooq
Tahir Farooq
Text Book(s)
Software Engineering (9th Edition) by Ian Sommerville
Reference Books:
Software Engineering, A practitioners approach, Roger S.
Pressman.
Software is almost
everywhere!!!
Problems in software development
Common issues
The final software does not fulfill the needs of the
customer
Hard to extend and improve: if you want to add a
functionality later its mission impossible
Bad documentation
Bad quality: frequent errors, hard to use, ...
More time and costs than expected
But
that never
happens?
right?
Wrong!
Ariane 5 Flight 501
Cause: design errors in the software
http://www.youtube.com/watch?v=kYUrqdU
yEpI
Conclusion
Programming is NOT enough!
Project planning
Determining how to develop the software.
Cost analysis
Determining cost estimates.
Scheduling
Building a schedule for the development.
Software quality assurance plan
Determining activities that will help ensure quality of the product.
Work-breakdown structure
Determining the subtasks necessary to develop the product
SDLC (cont)
Design
Determining how the software should provide the functionality.
Architectural design
Designing the structure of the system.
Interface design
Specifying the interfaces between the parts of the system.
Detailed design
Designing the algorithms for the individual parts.
Implementation
Building the software.
SDLC (cont)
Testi
ng Executing the software with data to help ensure that the correct
software works ly.
Unit testing
Testing by the original developer.
Integration testing
Testing during the integration of the software.
System testing
Testing the software in an environment that matches the operational environment.
Alpha testing
Testing by the customer at the developers site.
Beta testing
Testing by the customer at the customers site.
Acceptance testing
Testing to satisfy the purchaser or SQA team.
Regression testing
Saving tests from the previous version to ensure that the new version retains the
previous capabilities.
Stress testing
Testing to make sure application work under stress (a exampl
lots of inputs for e)
SDLC (cont)
Delivery
Providing the customer with an effective
software solution.
Installation
Making the software available at the customers sit
operational e.
Training
Teaching the users to use the software.
Help desk
Answering questions of the user.
Maintenance
Updating and improving the software to ensure
continued usefulness.