1. What is software?
- Computer programs and associated documentation, developed either for a specific
customer or for a general market.
2. What is the primary concern of software engineering?
- Theories, methods, and tools for professional software development.
3. Name two types of software products.
- Generic products and customized products.
4. What does 'dependability' in software refer to?
- Characteristics like reliability, security, and safety.
5. List the essential attributes of good software.
- Maintainability, dependability and security, efficiency, acceptability.
6. What is the main difference between software engineering and computer science?
- Computer science focuses on theory and fundamentals, while software engineering
addresses the practicalities of developing and delivering useful software.
7. What percentage of software costs are related to development and testing?
- Roughly 60% for development and 40% for testing.
8. What is the purpose of software validation?
- To ensure the software meets the customer's requirements.
9. Why are software maintenance costs often higher than development costs?
- Because software changes are inevitable in a dynamic business environment.
10. Give an example of a customized product.
- Air traffic control software or traffic monitoring systems.
11. What are the four fundamental software engineering activities?
- Software specification, development, validation, and evolution.
12. Describe the two main challenges facing software engineering today.
- Coping with increasing diversity and demands for reduced delivery times, as well as
developing trustworthy software.
13. What is the ethical principle of 'PUBLIC' in the ACM/IEEE Code of Ethics?
- Software engineers shall act consistently with the public interest.
14. Explain the significance of 'software reuse' in web software engineering.
- It involves assembling systems from pre-existing software components, which is key for
efficient development.
15. What is a safety-critical system, and provide an example from the insulin pump case
study?
- A system whose failure can lead to severe consequences, e.g., an insulin pump
controlling blood sugar levels.
16. How has web development impacted software engineering?
- It led to distributed service-based systems, advances in programming languages, and
increased software reuse.
17. What does the principle of 'SOFTWARE EVOLUTION' involve?
- Modifying the software to reflect changing customer and market requirements.
18. How does scale affect software engineering?
- It must address systems ranging from small embedded devices to Internet-scale, cloud-
based systems serving global users.
19. Describe the architecture of an insulin pump system.
- It includes a blood sugar sensor, a micro-pump for insulin delivery, and software
calculating the correct dose.
20. What are systems of systems, and why are they significant?
- Systems composed of multiple software systems, significant for their complexity and
integration requirements.
MCQs:
1. What does software engineering focus on?
A. Software hacking
B. Software production
C. Hardware optimization
D. Cloud services
Answer: B. Software production
2. Which of these is NOT an attribute of good software?
A. Maintainability
B. Dependability
C. Randomness
D. Efficiency
Answer: C. Randomness
3. What is a generic product?
A. A product made for a specific customer
B. A product sold to any customer
C. A hardware product
D. A cloud-based product
Answer: B. A product sold to any customer
4. What are the four key software process activities?
A. Planning, analysis, coding, testing
B. Specification, development, validation, evolution
C. Coding, debugging, implementation, delivery
D. Designing, marketing, sales, delivery
Answer: B. Specification, development, validation, evolution
5. Which of the following is a customized software product?
A. Photoshop
B. Microsoft Word
C. Air traffic control system
D. Adobe Acrobat
Answer: C. Air traffic control system
6. What is the primary concern of software engineering?
A. Hardware integration
B. Programming techniques
C. Cost-effective software development
D. Cloud optimization
Answer: C. Cost-effective software development
7. What are the two main categories of software products?
A. Stand-alone and web-based
B. Generic and customized
C. Local and distributed
D. Integrated and modular
Answer: B. Generic and customized
8. Which software engineering challenge involves producing reliable systems faster?
A. Security improvement
B. Increasing diversity
C. Reduced delivery times
D. Scalability
Answer: C. Reduced delivery times
9. What fraction of software costs is typically spent on development?
A. 10%
B. 60%
C. 30%
D. 90%
Answer: B. 60%
10. Which principle is part of the ACM/IEEE Code of Ethics?
A. Software engineers must prioritize profits over quality
B. Software engineers shall act in the public interest
C. Always prioritize system speed over dependability
D. Ignore ethical concerns in emergencies
Answer: B. Software engineers shall act in the public interest
11. Which of the following is a stand-alone application?
A. Google Drive
B. Microsoft Word
C. Netflix
D. Twitter
Answer: B. Microsoft Word
12. What is a safety-critical system?
A. A system used for entertainment purposes
B. A system whose failure can lead to catastrophic consequences
C. A system designed for training new engineers
D. Any stand-alone system
Answer: B. A system whose failure can lead to catastrophic consequences
13. How do web-based systems differ from traditional systems?
A. They require more hardware resources
B. They involve distributed, service-based systems
C. They lack validation techniques
D. They always use generic products
Answer: B. They involve distributed, service-based systems
14. Which type of system involves modeling physical processes?
A. Data collection systems
B. Batch processing systems
C. Systems for modeling and simulation
D. Interactive transaction-based applications
Answer: C. Systems for modeling and simulation
15. What is an example of a data collection system?
A. A weather station
B. A video game
C. An inventory management tool
D. A simulation program
Answer: A. A weather station
16. What principle does 'Maintainability' in good software emphasize?
A. Strong protection from hackers
B. Easy adaptability to change
C. High computation speed
D. Unlimited scalability
Answer: B. Easy adaptability to change
17. What is a significant feature of cloud computing?
A. Low network dependency
B. Applications run locally on a PC
C. Users pay based on usage
D. No need for software maintenance
Answer: C. Users pay based on usage
18. What makes batch processing systems unique?
A. They process data in real time
B. They deal with hardware integration
C. They process data in large batches
D. They serve a global user base
Answer: C. They process data in large batches
19. Why is incremental development important for web-based systems?
A. It allows for early testing of hardware
B. It reduces the importance of reuse
C. Requirements for web systems can't be fully specified in advance
D. It ensures higher profitability
Answer: C. Requirements for web systems can't be fully specified in advance
20. What is one reason software maintenance costs are high?
A. Frequent system crashes
B. Long life of software systems requiring updates
C. High licensing fees
D. Complex hardware designs
Answer: B. Long life of software systems requiring updates
True/false questions
1. Software engineering is only concerned with coding.
Answer: False
2. Good software should be maintainable, dependable, efficient, and acceptable.
Answer: True
3. Customized software products are made for specific customers.
Answer: True
4. Web-based systems are standalone systems that do not require a network.
Answer: False
5. The primary focus of software engineering is developing theories, methods, and tools for
professional software development.
Answer: True
6. Software engineering addresses the practicalities of developing useful software, while
computer science focuses on theoretical aspects.
Answer: True
7. Maintaining software costs less than developing it.
Answer: False
8. Generic products are customized to meet individual customer needs.
Answer: False
9. Ethics are an integral part of software engineering.
Answer: True
10. The web has reduced the complexity of software engineering.
Answer: False
11. Dependable software should not cause damage in the event of a system failure.
Answer: True
12. Interactive transaction-based applications include e-commerce platforms.
Answer: True
13. Systems of systems are composed of multiple smaller software systems.
Answer: True
14. Software reuse is an important approach in web-based system development.
Answer: True
15. Agile methods are unsuitable for web-based systems.
Answer: False
16. Batch processing systems are designed to process real-time data.
Answer: False
17. The ACM/IEEE Code of Ethics includes eight ethical principles.
Answer: True
18. Efficient software is defined as software that uses minimal system resources.
Answer: True
19. The insulin pump control system is an example of a non-critical system.
Answer: False
20. Software evolution involves modifying software to meet changing requirements.
Answer: True