CSC375 · TU past paper
Software Engineering 2079 question paper
The complete TU 2079 exam paper for Software Engineering (CSC375), all 12 questions with solved model answers written to the mark scheme.
Tap a question to open its answer.
- 110 marksCoping with ChangeHideAnswer
Explain how prototyping model help in developing software? Differentiate between Evolutionary and throw-away prototype model.[10]
A software prototype is a working model of the proposed system built before the actual system is developed. It helps developers and customers to visualize, evaluate, and refine requirements before full-scale development begins. The proto...
- 210 marksFunctional and Non-Functional RequirementsHideAnswer
Differentiate between functional and non-functional requirement. Describe any three functional and non-functional requirement for library management system.[10]
--- Basis Functional Requirements Non-Functional Requirements --------- Definition Describes what the system should do (functions, features, behaviours) Describes how the system should perform (quality attributes, constraints) Focus Func...
- 310 marksIntroduction to Quality Management and ConHideAnswer
Explain in detail about the activities carried out in software configuration management. Why it is required?[10]
Software Configuration Management (SCM) is a set of activities designed to manage changes to software products throughout the software development life cycle. It is a discipline that applies technical and administrative direction to iden...
- 45 marksAgile DevelopmentHideAnswer
Explain the Agile software development and its applications. [5]
Agile development is a software development method based on iterative and incremental development in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It is also known as rapid...
- 55 marksDifference between Software Engineering anHideAnswer
Differentiate between software engineering and system engineering. [5]
Software Engineering is the discipline concerned with the application of systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software. It focuses exclusively on software products, proces...
- 65 marksIntroduction to Quality Management and ConHideAnswer
What do you understand by software quality assurance? [5]
Software Quality Assurance (SQA) is a set of activities that ensures processes, procedures, and standards defined for a software project are implemented correctly. It is a process that works parallel to the development of software and fo...
- 75 marksSoftware Process ModelsHideAnswer
Explain the component based software engineering. [5]
Component Based Software Engineering (CBSE) is a procedure that focuses on the design and development of computer-based systems with the help of existing reusable software components. It is also known as the reuse-oriented model or Integ...
- 85 marksValidation and Verification TestingHideAnswer
Differentiate between verification and validation. Explain the software Inspection process. [5]
--- Basis Verification Validation --------- Definition Concerned with building the system right Concerned with building the right system Focus Checks whether the software conforms to its specifications Checks whether the software meets u...
- 95 marksSoftware MaintenanceHideAnswer
Differentiate between reengineering and reverse engineering. [5]
--- Reengineering is the process of examining and altering an existing system to reconstitute it in a new form. It involves understanding the current system and then rebuilding or restructuring it to improve quality, maintainability, or ...
- 105 marksNumericalProject PlanningHideAnswer
Suppose that a project was estimated to be 400 KLOC. Calculate the effort and development time for organic and semidetached. [5]
COCOMO Basic Model - Effort and Development Time
STEP 1 - Given Data
- Project Size = 400 KLOC
- Modes required: Organic and Semidetached
- Basic COCOMO constants (standard):
Mode a b c d Organic 2.4 1.05 2.5 0.38 Semidetached 3.0 1.12 2.5 0.35 Formulas: $$E = a \times (KLOC)^b \text{ (Person-Months)}, \qquad D = c \times (E)^d \text{ (Months)}$$
STEP 2 - Solve
Note: $\ln(400) = 5.99146$
1. Organic Mode
Effort: $$E = 2.4 \times 400^{1.05}$$ $$400^{1.05} = e^{1.05 \times 5.99146} = e^{6.29103} = 539.6$$ $$E = 2.4 \times 539.6 = 1295.0 \text{ PM}$$
Development Time: $$D = 2.5 \times (1295.0)^{0.38}$$ $$\ln(1295.0) = 7.16626$$ $$0.38 \times 7.16626 = 2.72318$$ $$(1295.0)^{0.38} = e^{2.72318} = 15.23$$ $$D = 2.5 \times 15.23 = 38.07 \text{ Months}$$
2. Semidetached Mode
Effort: $$E = 3.0 \times 400^{1.12}$$ $$400^{1.12} = e^{1.12 \times 5.99146} = e^{6.71044} = 819.0$$ $$E = 3.0 \times 819.0 = 2457.0 \text{ PM}$$
Development Time: $$D = 2.5 \times (2457.0)^{0.35}$$ $$\ln(2457.0) = 7.80674$$ $$0.35 \times 7.80674 = 2.73236$$ $$(2457.0)^{0.35} = e^{2.73236} = 15.37$$ $$D = 2.5 \times 15.37 = 38.43 \text{ Months}$$
Summary Table
Mode Effort (PM) Development Time (Months) Organic ≈ 1295 PM ≈ 38.07 Months Semidetached ≈ 2457 PM ≈ 38.43 Months - 115 marksBehavioral ModelsHideAnswer
What is behavioral model? Explain with an example. [5]
Behavioral Model
Definition
A behavioral model is a type of system model that describes the dynamic behavior of a system as it executes. It shows what happens or what should happen when a system responds to a stimulus from its environment. Behavioral model is one of the four main types of system models used to represent a system from different perspectives (along with contextual, interaction, and structural models).
Behavioral models are primarily used during requirement engineering to help system analysts validate system functionality and communicate clearly with customers about how the system will behave at runtime.
Types of Stimuli in Behavioral Models
Behavioral models are driven by two main types of stimuli:
- Data-driven stimuli -- a sequence of data arrives and the system processes it step by step.
- Event-driven stimuli -- the system responds to a specific event (which may or may not carry data).
Common Notation: State Diagram (State Machine Model)
A widely used behavioral model is the State Diagram (or State Machine Diagram), which shows:
- States -- conditions or situations during the life of a system
- Transitions -- movement from one state to another triggered by an event
- Events/Actions -- what causes the transition or what happens during it
Example: Microwave Oven Behavioral Model
Consider a simple microwave oven system. Its behavior can be modeled as follows:
[Idle] ---(Door Opened)---> [Door Open] [Door Open] ---(Door Closed)---> [Idle] [Idle] ---(Set Time & Start)---> [Operating] [Operating] ---(Timer Expired)---> [Operation Complete] [Operating] ---(Door Opened)---> [Interrupted] [Interrupted] ---(Door Closed)---> [Idle] [Operation Complete] ---(Cancel/Reset)---> [Idle]Explanation of States:
State Description Idle Microwave is waiting for user input Door Open Door has been opened; cooking cannot start Operating Microwave is actively cooking Interrupted Cooking was stopped because door was opened Operation Complete Timer has expired; cooking is done How it works:
- When the microwave is Idle and the user sets a time and presses Start, it moves to Operating.
- If the door is opened during operation, it moves to Interrupted state for safety.
- Once the timer expires, it moves to Operation Complete and signals the user (e.g., beeps).
- The system returns to Idle after reset or cancel.
Importance of Behavioral Model
- It helps validate requirements by showing how the system reacts to different inputs and events.
- It helps communicate the expected dynamic behavior to both developers and customers.
- It is essential for real-time and safety-critical systems where correct response to events is crucial.
In summary, a behavioral model captures the dynamic, event-driven nature of a system and is a key tool in system modeling for requirement engineering and system design.
- 125 marksInteraction ModelsHideAnswer
Draw use case diagram and sequence diagram for online movie ticketing system. [5]
--- A use case model is a graphical representation of the interactions among the elements of a system and its external entities called actors. It focuses on the functional requirements and provides an outside view of the system. - User/C...