Software Engineering Semester Questions
The previous questions for cse-401 software engineering semester exam
Software Engineering Semester Questions
Software Engineering Previous Exam Questions
Final Examination - 2021
- Define software engineering. Discuss the scope and necessity of software engineering. (5)
- Identify at least four basic characteristics that differentiate a simple program from a software product. (3)
- State five symptoms of the present software crisis. (4)
- What is software life cycle model? Explain the problems that might be faced by an organization if it does not follow any software life cycle model. (5)
- What are the phase entry and phase exit criteria of classical waterfall model. (3)
- Identify at least two activities carried out during each quadrant of the spiral model. (4)
- Why rapid development and rapid delivery is now the most critical software requirements? (3)
- List and describe the principles of agile methods. When you recommend agile methods for developing a software? (6)
- Define refactoring, collective ownership, and pair programming. (3)
- How do you define user and system requirements? Give example. (4)
- List and explain the metrics for specifying nonfunctional requirements. (4)
- What are the ways of writing a requirements specification? (4)
- During the requirements validation process what types of checks should be carried out on the requirements in the requirements document? (4)
- Draw and describe an abstract model of the ‘traditional’ testing process, as used in plan-driven development. (5)
- Define unit testing, component testing, and system testing. (3)
- What are the principal concerns of software quality management? (2)
- How do you define quality conflicts? (2)
- What are the benefits of involving users in release testing at an early stages of development? (3)
- Draw the block diagram of acceptance testing process. (5)
- What is legacy software? Why should we improve this type of software and how? (3)
- Write down the steps for level 1, level 2, and level 3 ER-diagram generation processes. (5)
- What are the difference between the analysis and data modeling techniques? (4)
- What do you understand by software engineering? Why is software engineering necessary? (4)
- What are the distinctions between the development of generic software and that of custom software? (4)
- Apart from the challenges of heterogeneity, rapid delivery and trust, identify other problems and challenges that software engineering is likely to face in near future. (4)
- Why is it crucial to distinguish between creating user requirements and creating system requirements during the requirements engineering process? (4)
- Discuss an example of a type of system where social and political factors might strongly influence the system requirements. Explain why these factors are important in your example. (4)
- Using your knowledge of how an ATM is used, develop a set of use cases that could serve as a basis for understanding the requirements for an ATM system. (4)
- Briefly describe the waterfall model with its pros and cons. (4)
- Describe the framework activity of Software Development Life Cycle (SDLC). (4)
- Explain why programs that are developed using evolutionary development are likely to be difficult to maintain. (4)
- Draw and describe risk management process in software engineering. (4)
- Define some technology and organizational risk that may arise during software development. (4)
- Explain why the rapid delivery and deployment of new systems is often more important to businesses than the detailed functionality of these systems. (4)
- Explain why a high-quality software process should lead to high-quality software products. (5)
- Does it ethical for a company to quote a low price for a software contract know that the requirements are ambiguous and that they can charge a high price for subsequent changes requested by the customer? (5)
- What do you understand by process and product standard? (2)
- What are the benefits of involving users in release testing at an early stage in the testing process? Are there disadvantages in user involvement? (5)
- Define white box and black box testing. (2)
- Some people argue that developers should not be involved in testing their own code but that all testing should be the responsibility of a separate team. Give arguments for and against testing by the developers themselves. (5)
- Why project management is important in software engineering? (4)
- Classify professionals according to their personalities. (3)
- What are the significant factors that should be taken into account in deciding whether or not a change should be approved? (5)
- Briefly describe the related activities involves in configuration management of a software system product. (5)
- Give an explanation of why software changes are inevitable. (4)
- Define baseline, codeline and mainline. (3)
Final Examination - 2023
- What do you understand by software engineering? What are the key challenges that you might face as a software engineer? (4)
- Classify and explain software according to their application types. (4)
- Write and explain some essential attributes of good software. (4)
- Discuss the role of a project manager in software development projects. (4)
- Explain the concept of risk management and how it is handled in software projects. (4)
- What are the main components of a project plan? Explain each briefly. (4)
- What is software process? List all major software process activities. (3)
- Based on your experience with your team project, answer briefly these questions about the software life cycle. (9)
- Which stage was most difficult? Why?
- What did your team do in response?
- Which stage was most straightforward? Why?
- Briefly describe the Spiral process model with its proper diagram. (4)
- What do you understand by Verification and Validation in terms of software engineering? (2)
- In what ways extreme programming and agile methodologies are similar? (2)
- What are the principles of agile methods? Briefly explain in accordance with your understanding. (4)
- What is refactoring? How does it play an important role in software testing? (4)
- Briefly describe the project planning process appropriate figure. (4)
- Describe all factors that can affect software pricing. (4)
- Define requirements engineering. List and explain different types of requirements. (4)
- Briefly describe the structure of requirements document. (4)
- Do you think that good software requirements lead to good software? Discuss briefly from requirements engineering perspective. (4)
- Define Software Quality Assurance (SQA) and its objectives. (4)
- How do you validate your requirements? (2)
- How do you classify risk in a project? Give some examples of risks with their probability and consequences. (6)
- Discuss the impact of DevOps on software development and deployment. (6)
- Explain the role of artificial intelligence (AI) in software engineering. Provide examples of AI applications in this field. (6)
Final Exam - 2024
- What do you understand by software engineering? What are the key challenges that you might face as a software engineer? (4)
- Categorize software products. Discuss about the essential attributes of good software. (5)
- Define software process. Compare between plan-driven and agile processes. (3)
- What is the significance of different process models? How to choose suitable process model for different types of software projects? (4)
- Define rework in terms of software development. What are the steps used to reduce the costs of rework? (4)
- What kind of metrics you use for finding software quality? (4)
- Why is integration testing harder than unit testing? (2)
- Explain software quality management for large system. (5)
- Explain Boehm’s Spiral model with the help of a schematic diagram. (5)
- Describe various categories of maintenance. Which category consumes maximum effort and why? (5)
- Explain why it is necessary to maintain a software system over its lifetime. (5)
- What are the objectives of requirement analysis? (2)
- Explain the requirements engineering process. (5)
- Distinguish between known risk and predictable risk. (3)
- In general, how do we know when to stop testing and declare it “done”, or at least done for now? (4)
- Define agility. Explain how the principles underlying agile methods lead to the accelerated development and deployment of software. (5)
- Extreme programming expresses user requirements as stories, with each story written on a card. Discuss the advantages and disadvantages of this approach to requirements description. (4)
- Define Scrum. Discuss about the different stages in the Scrum sprint cycle with proper diagram. (3)
- You are asked by your manager to deliver software to a schedule that you know can only be met by asking your project team to work unpaid overtime. All team members have young children. Discuss whether you should accept this demand from your manager or whether you should persuade your team to give their time to the organization rather than to their families. Identify the factors that might be significant in your decision. (6)
- What is the influence of cohesion on maintenance? (3)
- Why it is expensive and risky to replace legacy systems with new systems? (3)
- Explain why the process of project planning is iterative and why a plan must be continually reviewed during a software project. (4)
- Is it ethical for a company to quote a low price for a software contract knowing that the requirements are ambiguous and that they can charge a high price for subsequent changes requested by the customer? (4)
- A colleague who is a very good programmer produces software with a low number of defects but consistently ignores organizational quality standards. How should his managers react to this behavior? (4)
This post is licensed under CC BY 4.0 by the author.