Podcast
Questions and Answers
A program is an executable code that solves a particular ______.
A program is an executable code that solves a particular ______.
problem
Software Engineering is the application of a systematic, disciplined, and ______ approach.
Software Engineering is the application of a systematic, disciplined, and ______ approach.
quantifiable
Software is a collection of not just executable codes only, but also other ______.
Software is a collection of not just executable codes only, but also other ______.
components
Engineering is the creative application of Science, Mathematics, and other technological ______.
Engineering is the creative application of Science, Mathematics, and other technological ______.
Signup and view all the answers
A Software Product is defined as a Software made for a specific ______.
A Software Product is defined as a Software made for a specific ______.
Signup and view all the answers
Software Engineering is the establishment and use of sound engineering principles to obtain economically reliable ______.
Software Engineering is the establishment and use of sound engineering principles to obtain economically reliable ______.
Signup and view all the answers
Fritz Bauer described Software Engineering as the practical application of scientific knowledge to the creative ______ and building of computer programs.
Fritz Bauer described Software Engineering as the practical application of scientific knowledge to the creative ______ and building of computer programs.
Signup and view all the answers
Software Engineers utilize engineering techniques to build ______.
Software Engineers utilize engineering techniques to build ______.
Signup and view all the answers
A developer can bypass SE Principle when writing ______ Programs.
A developer can bypass SE Principle when writing ______ Programs.
Signup and view all the answers
It is not possible for developers to bypass SE Principle when writing ______ Programs.
It is not possible for developers to bypass SE Principle when writing ______ Programs.
Signup and view all the answers
The principle of ______ simplifies the solution of a problem by omitting irrelevant details.
The principle of ______ simplifies the solution of a problem by omitting irrelevant details.
Signup and view all the answers
Another approach to tackle problem complexity is ______.
Another approach to tackle problem complexity is ______.
Signup and view all the answers
In the 1960s, many software projects ______.
In the 1960s, many software projects ______.
Signup and view all the answers
Software Demand was much higher than the ______.
Software Demand was much higher than the ______.
Signup and view all the answers
Every improvement in hardware capability led to a corresponding increase in software ______.
Every improvement in hardware capability led to a corresponding increase in software ______.
Signup and view all the answers
Resulting software was unreliable and expensive to ______.
Resulting software was unreliable and expensive to ______.
Signup and view all the answers
The emphasis on Software Project Management and Quality Processes like ISO 9001 occurred in the ______.
The emphasis on Software Project Management and Quality Processes like ISO 9001 occurred in the ______.
Signup and view all the answers
The growth of Computer-Aided Software Engineering (CASE) began in the ______.
The growth of Computer-Aided Software Engineering (CASE) began in the ______.
Signup and view all the answers
Widespread uses of software engineering principles started in the ______.
Widespread uses of software engineering principles started in the ______.
Signup and view all the answers
One of the major goals of software engineering is to ensure products are ______.
One of the major goals of software engineering is to ensure products are ______.
Signup and view all the answers
Myth 2 states that if we get behind schedule, we shall add more ______ to catch up.
Myth 2 states that if we get behind schedule, we shall add more ______ to catch up.
Signup and view all the answers
The unique attributes of software include being easy to ______.
The unique attributes of software include being easy to ______.
Signup and view all the answers
Domain experts have core knowledge of the software ______ area.
Domain experts have core knowledge of the software ______ area.
Signup and view all the answers
Realities about myths suggest that the company book of standards may not be ______.
Realities about myths suggest that the company book of standards may not be ______.
Signup and view all the answers
Adding more people to a late project could make it _____.
Adding more people to a late project could make it _____.
Signup and view all the answers
Beginning a program without an unambiguous Statement of Objectives (SOO) will lead to _____.
Beginning a program without an unambiguous Statement of Objectives (SOO) will lead to _____.
Signup and view all the answers
The major work begins after the project is _____.
The major work begins after the project is _____.
Signup and view all the answers
One of the most effective software quality assurance mechanisms is through the use of Formal Technical _____.
One of the most effective software quality assurance mechanisms is through the use of Formal Technical _____.
Signup and view all the answers
Working program is only a part of the software product; other deliverables such as ____ are equally important.
Working program is only a part of the software product; other deliverables such as ____ are equally important.
Signup and view all the answers
Project requirements could change, but the impacts could grow _____.
Project requirements could change, but the impacts could grow _____.
Signup and view all the answers
It is when I get the program running that I can really assess its _____.
It is when I get the program running that I can really assess its _____.
Signup and view all the answers
If a third party did not understand the project, it will not succeed in handling ____.
If a third party did not understand the project, it will not succeed in handling ____.
Signup and view all the answers
Study Notes
Program, Software & Products
- A program is an executable code that solves a specific problem.
- Software is not just program code; it includes associated libraries, documentation, and other components.
- A software product is a software made for a specific requirement.
Engineering
- Engineering involves the conception and development of products using well-defined scientific principles and methods.
- It encompasses the creative application of science, mathematics, and other technological disciplines for the design, construction, and maintenance of structures, devices, systems, and processes to solve problems.
Software Engineering
- Software engineering utilizes engineering techniques to build software.
- It is an engineering branch focusing on developing software products using well-defined scientific principles, methods, and procedures.
Importance of Software Engineering
- Large programs can be complex and difficult to develop without software engineering principles.
- Complexity increases exponentially with program size.
Reducing Complexity
- Software engineering uses two techniques: abstraction and decomposition.
Abstraction
- Simplifies problem solving by omitting irrelevant details.
- Considers only relevant aspects for a specific purpose.
Decomposition
- Divides complex problems into smaller, independently solvable components.
- Combines solutions from smaller problems to get the complete solution.
Software Crisis
- The Software Crisis of the 1960s was a catalyst for the evolution of software engineering.
Issues Leading to the Software Crisis
- Many software projects failed.
- Software became over budget.
- Software was unreliable and expensive to maintain.
- Most software could not satisfy customer requirements.
- Software demand was higher than supply.
- Every hardware improvement led to increased software complexity.
Evolution of Software Engineering
- Step 1 (1970s): Widespread use of software engineering principles.
- Step 2 (1980s): Automation of software engineering processes and growth of computer-aided software engineering (CASE).
- Step 3 (1990s): Emphasis on software project management and quality processes like ISO 9001.
- Step 4 (2000 and above): Object-oriented software methodology, AI-enabled software techniques and tools.
Software Stakeholders
- End-users: Users or their representatives
- Customers: Those who purchase the software
- Analysts: Specialize in software analysis during development
- Domain Experts: Have core knowledge of the software usage area
- Implementers: Experts in software implementation
- Managers: In charge of Human and Resource management
- Maintainers: In charge of software maintenance
- Others: Many other stakeholders exist.
Goals of Software Engineering
- Efficient
- Reliable
- Usable
- Modifiable
- Maintainable
- Re-usable
- Portable
- Testable
- Interoperable
- Correct
Unique Attributes of Software
- Easy to modify.
- No physical wear and tear like hardware.
- Unskilled people can create software.
- Development efforts can be difficult to visualize.
- Easy to replicate.
Myths about Software Engineering
-
Management Myths:
- Having a book of standards and procedures is enough for efficient programming.
- Adding more programmers to a late project will speed it up.
-
Customer Myths:
- Outsourced software projects automatically succeed.
- A general statement of objectives is enough to start programming.
- Project development should be flexible enough to accommodate new requirements during development.
-
Practitioner Myths:
- Once a program is working, the job is done.
- The quality of a program can only be assessed after it's running.
- The only deliverable that matters is a working program.
Reality vs. Myth
- Companies' standard books may not be complete, adaptable, or reflect modern SE practices.
- Adding programmers to a late software project can make it later.
- Outsourcing software without a clear understanding of the project can lead to failure.
- Starting programming without a clear statement of objectives can result in disaster.
- While changes are inevitable, their impact can grow significantly over time.
- Maintaining software is a significant part of the software lifecycle.
- Formal technical reviews from the start are essential for quality assurance.
- Besides working programs, documentation and other components are essential.
Question 1
- The difference between a program and software is that a program is a single executable code, while software is a collection of programs, libraries, documentation, and other components.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz explores the fundamentals of software engineering, including the differences between programs, software, and software products. It emphasizes the engineering principles applied in developing software and the importance of structured methodologies in managing complex software projects.