0% found this document useful (0 votes)
25 views9 pages

SWE Questions Bank CH1

Uploaded by

Ahmed M Nagy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views9 pages

SWE Questions Bank CH1

Uploaded by

Ahmed M Nagy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Chapter 1 Summary: Introduction to Software Engineering

1.1 What is Software Engineering?

 Software Engineering combines software (programming code, libraries,


and documentation) and engineering principles.
 IEEE Definition:
1. A systematic approach to developing and maintaining software.
2. A study of the methodologies involved.

1.2 Software Development

 Software is not just a program but a collection of components built to


meet specific user needs.
 Software can be tailored for general or specialized use.

1.3 Software Evolution

 Software changes to adapt to user needs or technological advancements.


 Laws of Software Evolution (Lehman):
1. Continuing change.
2. Increasing complexity.
3. Self-regulation.

1.4 Software Paradigms

 Frameworks and approaches for designing software:


o Procedural, Object-Oriented, and Component-Based paradigms.

1.5 The Need for Software Engineering

 To manage the complexity of large-scale systems.


 Ensures reliability, scalability, and maintainability.

1.6 Characteristics of Good Software

 Should meet functionality, performance, and user requirements.


 Attributes: Maintainability, Efficiency, Usability, and Dependability.

1.7 Software Development Ethics

 Following professional standards and ethical practices.


 Code of Ethics principles by ACM and IEEE:
1. Public interest first.
2. Act in the best interests of the client and employer.
3. Uphold professional standards.

1. What is the IEEE definition of Software Engineering?


o A) A set of programming tools
o B) Application of systematic methods to software development
o C) Writing code efficiently
o D) A type of software testing
2. Which of the following is NOT a component of software?
o A) Executable code
o B) Libraries
o C) Documentation
o D) Hardware
3. Software Engineering aims to:
o A) Develop standalone programs
o B) Use scientific methods for software design
o C) Create hardware systems
o D) None of the above
4. Software is considered to be:
o A) A collection of executable code only
o B) Libraries without documentation
o C) A collection of code, libraries, and documentation
o D) Binary code of programs
5. Which of the following is NOT a software category?
o A) Application software
o B) Embedded software
o C) Hardware components
o D) System software
6. Software developed for a specific need is called:
o A) Packaged software
o B) Tailored software
o C) Application software
o D) Firmware
7. Fritz Bauer defined Software Engineering as:
o A) A discipline for writing efficient code
o B) Applying engineering principles for reliable software
o C) Managing software lifecycle
o D) Testing software modules
8. Which of the following is NOT a software characteristic?
o A) Scalability
o B) Maintainability
o C) Durability
o D) Usability
9. What does software evolution refer to?
o A) Initial software development
o B) Adapting software to meet new demands
o C) Testing software systems
o D) None of the above
10. The first law of software evolution states:
o A) Software must be scalable
o B) Software will continuously change
o C) Software needs testing
o D) Software obsolescence
11. Lehman’s laws of software evolution apply to:
o A) Small programs
o B) Evolving software systems
o C) Hardware components
o D) None of the above
12. Which of the following is a characteristic of the object-oriented
paradigm?
o A) Functions only
o B) Procedural workflows
o C) Data encapsulation and inheritance
o D) None of the above
13. The procedural paradigm is based on:
o A) Classes and objects
o B) Data abstraction
o C) Step-by-step instructions
o D) Logical circuits
14. Component-based software engineering focuses on:
o A) Developing software from scratch
o B) Reusing existing software modules
o C) Procedural design
o D) None of the above
15. Which paradigm is most suitable for scalable, large-scale
systems?
o A) Object-oriented
o B) Procedural
o C) Component-based
o D) Both A and C
16. Which is NOT a characteristic of good software?
o A) Maintainability
o B) Usability
o C) Complexity
o D) Scalability
17. Which attribute ensures software performs as expected under
defined conditions?
o A) Usability
o B) Dependability
o C) Scalability
o D) Efficiency
18. Efficiency in software design refers to:
o A) Low power usage
o B) Optimal use of system resources
o C) High throughput
o D) User satisfaction
19. The Code of Ethics for software professionals is defined by:
o A) ISO
o B) ACM and IEEE
o C) ISO and ANSI
o D) None of the above
20. The principle of “Public” in the Code of Ethics states:
o A) Acting for self-interest
o B) Consistency with public interest
o C) Providing all data to the public
o D) None of the above
21. Ethical responsibilities of software engineers include:
o A) Ensuring reliability and security
o B) Sacrificing quality for faster delivery
o C) Withholding information from clients
o D) Acting only in personal interest
22. Which law of software evolution deals with increasing
complexity?
o A) Law of self-regulation
o B) Law of continuing change
o C) Law of increasing complexity
o D) None of the above
23. In software development, maintainability ensures:
o A) Quick adaptability to new requirements
o B) High initial development cost
o C) Reduced user satisfaction
o D) None of the above
24. Reusing existing software components is part of:
o A) Procedural programming
o B) Component-based software engineering
o C) Object-oriented programming
o D) None of the above
25. Good software must satisfy which requirements?
o A) Functional
o B) Non-functional
o C) Both functional and non-functional
o D) None of the above
26. Which of the following is an example of a non-functional
requirement?
o A) System must allow user login
o B) System must respond within 2 seconds
o C) System must process payments
o D) System must generate reports
27. The law of software evolution that states software evolves to
become more complex is:
o A) Self-regulation
o B) Increasing complexity
o C) Continuing growth
o D) Decreasing entropy
28. Which software attribute measures ease of use?
o A) Efficiency
o B) Usability
o C) Scalability
o D) Maintainability
29. Which paradigm emphasizes “objects” as the central element?
o A) Object-oriented paradigm
o B) Procedural paradigm
o C) Component-based paradigm
o D) Logical paradigm
30. Procedural programming organizes code based on:
o A) Objects and classes
o B) Functions and sequences
o C) Components and modules
o D) None of the above
31. Software ethics focuses on:
o A) Client interests
o B) Public safety and welfare
o C) Following engineering standards
o D) All of the above
32. Which is an ethical responsibility of a software engineer?
o A) Sacrificing safety for cost
o B) Ensuring public interest
o C) Disregarding confidentiality agreements
o D) None of the above
33. Which of the following represents a challenge in software
engineering?
o A) Developing error-free software
o B) Managing software complexity
o C) Avoiding maintenance altogether
o D) Both A and B
34. A systematic approach to software engineering helps to:
o A) Reduce software costs
o B) Improve reliability
o C) Ensure quality standards
o D) All of the above
35. Which is NOT an advantage of object-oriented programming?
o A) Code reusability
o B) Simplified debugging
o C) Data encapsulation
o D) Requires no planning
36. Software testing primarily ensures:
o A) Reduced development cost
o B) Fewer hardware dependencies
o C) Software correctness and quality
o D) Scalability of the system
37. The success of software projects depends on:
o A) Strict deadlines
o B) Adherence to software engineering principles
o C) Usage of the latest technology
o D) None of the above
38. Which software type is generally pre-installed in electronic
devices?
o A) Tailored software
o B) Firmware
o C) Engineering software
o D) Application software
39. Which is NOT a phase of the software lifecycle?
o A) Maintenance
o B) Design
oC) Deployment
o D) Manufacturing
40. Reusability in software reduces:
o A) Complexity
o B) Cost and development time
o C) Reliability
o D) Scalability
41. Which of the following is NOT one of Lehman’s laws of software
evolution?
o A) Continuing change
o B) Increasing complexity
o C) Software entropy
o D) Self-regulation
42. Which paradigm uses “inheritance” as a key feature?
o A) Procedural paradigm
o B) Object-oriented paradigm
o C) Functional paradigm
o D) None of the above

43. Dependability in software engineering refers to:


o A) Usability and efficiency
o B) Reliability and maintainability
o C) Scalability and reusability
o D) Both A and B
44. Which is an ethical responsibility of a software engineer?
o A) Sacrificing safety for cost
o B) Ensuring public interest
o C) Disregarding confidentiality agreements
o D) None of the above
45. Which of the following represents a challenge in software
engineering?
o A) Developing error-free software
o B) Managing software complexity
o C) Avoiding maintenance altogether
o D) Both A and B
46. A systematic approach to software engineering helps to:
o A) Reduce software costs
o B) Improve reliability
o C) Ensure quality standards
o D) All of the above
47. Which is NOT an advantage of object-oriented programming?
o A) Code reusability
B) Simplified debugging
o
o C) Data encapsulation
o D) Requires no planning
48. Software testing primarily ensures:
o A) Reduced development cost
o B) Fewer hardware dependencies
o C) Software correctness and quality
o D) Scalability of the system
49. The success of software projects depends on:
o A) Strict deadlines
o B) Adherence to software engineering principles
o C) Usage of the latest technology
o D) None of the above
50. Which software type is generally pre-installed in electronic
devices?
o A) Tailored software
o B) Firmware
o C) Engineering software
o D) Application software

Answers

1. B
2. D
3. B
4. C
5. C
6. B
7. B
8. C
9. B
10. B
11. B
12. C
13. C
14. B
15. D
16. C
17. B
18. B
19. B
20. B
21. A
22. C
23. A
24. B
25. C
26. B
27. B
28. B
29. A
30. B
31. D
32. B
33. D
34. D
35. D
36. C
37. B
38. B
39. D
40. B
41. C
42. B
43. B
44. B
45. D
46. D
47. D
48. C
49. C
50. B

You might also like