- Type
- Highlighted handout
- Course
- CS605 Software EngineeringII
- Size
- PDF 3.1 MB
- Updated
- 23 Oct 2026
You get 3 free files a day on the website. Add the Chrome extensionSign in with the extension for 30 a day.
Preview text
Text from pages 7, 8 of 181. Download the file for all 181 pages.
Introduction to Software Engineering
This course is a continuation of the first course on Software Engineering. In order to set the context of our discussion, let us first look at some of the definitions of software engineering.
Software Engineering is the set of processes and tools to develop software. Software Engineering is the combination of all the tools, techniques, and processes that used in software production. Therefore Software Engineering encompasses all those things that are used in software production like:
Programming Language Programming Language Design Software Design Techniques Tools Testing Maintenance Development etc.
So all those thing that are related to software are also related to software engineering.
Some of you might have thought that how programming language design could be related to software engineering. If you look more closely at the software engineering definitions described above then you will definitely see that software engineering is related to all those things that are helpful in software development. So is the case with programming language design. Programming language design is one of the major successes in last fifty years. The design of Ada language was considered as the considerable effort in software engineering.
These days object-oriented programming is widely being used. If programming languages will not support object-orientation then it will be very difficult to implement objectoriented design using object-oriented principles. All these efforts made the basis of software engineering.
Well-Engineered Software
Let’s talk something about what is well-engineered software. Well-engineered software is one that has the following characteristics.
It is reliable It has good user-interface It has acceptable performance It is of good quality It is cost-effective Every company can build software with unlimited resources but well-engineered software is one that conforms to all characteristics listed above.
Software has very close relationship with economics. When ever we talk about engineering systems we always first analyze whether this is economically feasible or not. Therefore you have to engineer all the activities of software development while keeping its economical feasibility intact.
The major challenges for a software engineer is that he has to build software within limited time and budget in a cost-effective way and with good quality
Therefore well-engineered software has the following characteristics.
Provides the required functionality Maintainable Reliable Efficient User-friendly Cost-effective
But most of the times software engineers ends up in conflict among all these goals. It is also a big challenge for a software engineer to resolve all these conflicts.
The Balancing Act!
Software Engineering is actually the balancing act. You have to balance many things like cost, user friendliness, Efficiency, Reliability etc. You have to analyze which one is the more important feature for your software is it reliability, efficiency, user friendliness or something else. There is always a trade-off among all these requirements of software. It may be the case that if you try to make it more user-friendly then the efficiency may suffer. And if you try to make it more cost-effective then reliability may suffer. Therefore there is always a trade-off between these characteristics of software.
These requirements may be conflicting. For example, there may be tension among the following:
Cost vs. Efficiency Cost vs. Reliability Efficiency vs. User-interface
A Software Engineer is required to analyze these conflicting entities and tries to strike a balance.
Challenge is to balance these requirements.
Software Engineers always confront with the challenge to make a good balance of all these tings depending on the requirements of the particular software system at hand. He
Related CS605 files
All CS605 files →- CS605 Midterm Solved File 5 by Team Hadi Midterm PDF 4.4 MB
- CS605 Midterm Quiz by Attiq Kundi Quiz PDF 813 KB
- CS605 Final Term Highlighted Handouts by Masters Highlighted PDF 2.9 MB
- CS605 Official Handouts Official handout PDF 2 MB Free
- CS605 Handouts Handout PDF 1.1 MB
- CS605 Highlighted Handouts Set 4 by Masters Highlighted PDF 2.9 MB
Get more out of VUBuddy, for free
- Unlimited downloads
- The explanation behind every MCQ answer
- Study offline on slow data
- 30 downloads a day instead of 3
- Sign in and buy Pro Semester here
One Pro Semester membership works in both the extension and the app.