2079

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.

  1. 110 marksCoping with ChangeAnswer

    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...

  2. 210 marksFunctional and Non-Functional RequirementsAnswer

    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...

  3. 310 marksIntroduction to Quality Management and ConAnswer

    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...

  4. 45 marksAgile DevelopmentAnswer

    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...

  5. 55 marksDifference between Software Engineering anAnswer

    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...

  6. 65 marksIntroduction to Quality Management and ConAnswer

    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...

  7. 75 marksSoftware Process ModelsAnswer

    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...

  8. 85 marksValidation and Verification TestingAnswer

    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...

  9. 95 marksSoftware MaintenanceAnswer

    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 ...

  10. 105 marksNumericalProject PlanningAnswer

    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):
    Modeabcd
    Organic2.41.052.50.38
    Semidetached3.01.122.50.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

    ModeEffort (PM)Development Time (Months)
    Organic≈ 1295 PM≈ 38.07 Months
    Semidetached≈ 2457 PM≈ 38.43 Months
  11. 115 marksBehavioral ModelsAnswer

    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:

    1. Data-driven stimuli -- a sequence of data arrives and the system processes it step by step.
    2. 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:

    StateDescription
    IdleMicrowave is waiting for user input
    Door OpenDoor has been opened; cooking cannot start
    OperatingMicrowave is actively cooking
    InterruptedCooking was stopped because door was opened
    Operation CompleteTimer 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.

  12. 125 marksInteraction ModelsAnswer

    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...