SE - L01 - Software and Software Engineering
SE - L01 - Software and Software Engineering
SOFTWARE
ENGINEERING
(UNDERGRADUATE)
CSC 3114
MD RAIHAN MAHMUD
(UNDERGRADUATE) LECTURER, CS, AIUB
Slide - 2
WHY SYSTEM FAILS?
The system fails to meet the business requirements for which it was developed.The system is either
abandoned or expensive adaptive maintenance is undertaken.
There are performance shortcomings in the system, which make it inadequate for the users’ needs.
Again, it is either abandoned or amended incurring extra costs.
Errors appear in the developed system causing unexpected problems. Patches have to be applied at
extra cost.
Users reject the implemented system, lack of involvement in its development or lack of commitment
to it.
Systems are initially accepted but over time become un-maintainable and so pass into disuse.
2
Slide - 3
SCOPE OF SOFTWARE ENGINEERING
CS: to investigate a variety of ways to produce software, some good and some bad
SE: to be interested in only those techniques that make sound economic sense
Slide - 6
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
1. Requirements Analysis
2. Designing/Modeling
3. Coding /Development
4. Testing
5. Implementation/Integration phase
6. Operation/Maintenance
7. Documentation
Slide - 7
GOOD & BAD SOFTWARE
Time
Slide - 13
SOFTWARE ACTUAL FAILURE CURVE
Actual Curve
Time
Slide - 14
WHAT IS SOFTWARE ENGINEERING?
Technologies that make it easier, faster, and less expensive to build high-quality computer
programs
A discipline aiming to the production of fault-free software, delivered on time and within
budget, that satisfies the users’ needs
Myth 1: We already have a book full of standards and procedures for building software.
Wouldn’t that provide my people with everything they need to know?
Myth 2: My people have state-of-the-art software development tools; we buy them the
newest computers.
Myth 3: If we get behind schedule, we can add more programmers and catch up.
Myth 4: If I outsource the software project to a third party, I can relax and let that firm build
it.
Slide - 17
SOFTWARE MYTHS (CUSTOMER)
Myth 1: A general statement of objectives is sufficient to begin writing programs – we can fill
in the details later.
Myth 2: Project requirements continually change, but change can be easily accommodated
because software is flexible.
Slide - 18
SOFTWARE MYTHS (PRACTITIONER)
Myth 1: Our job is done once we write the program and get it to work.
Fact: the sooner you begin writing code, the longer it will take you to get done.
Myth 3:The working program is the only deliverable work product for a successful project.
R.S. Pressman & Associates, Inc. (2010). Software Engineering: A Practitioner’s Approach.
Kelly, J. C., Sherif, J. S., & Hops, J. (1992). An analysis of defect densities found during software
inspections. Journal of Systems and Software, 17(2), 111-117.
Bhandari, I., Halliday, M. J., Chaar, J., Chillarege, R., Jones, K., Atkinson, J. S., & Yonezawa, M. (1994).
In-process improvement through defect data interpretation. IBM Systems Journal, 33(1), 182-214.
SB