Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

The University of Lahore

Department of Computer Science& IT


Midterm Examination
Fall-2020 (SOLUTION)
Introduction to Software
Course Title: Course Code: CS-4346 Credit Hours: 3
Engineering
Course Instructors: Zara Hassan Program Name: BSCS
NosheenQamar
Time Allowed: 90 Minutes Maximum Marks: 40
Date: 18-11-2020 Course Mentor: Dr. Ijaz Ahmed
Student’s Name: Signature:
Reg. No: Section:

Objective Part (overwriting and cutting is not allowed) Time: 15 Minutes


Question # 1: Circle the correct option. (10 Marks)
1. The RUP is normally described from three perspectives-dynamic, static, and practice. What
does static perspective do:
a) It shoes the process activities that are enabled
b) It suggests good practices to be used during the process
c) It shows the phases of the model over time
d) All of the mentioned

2. Applications that execute on a remote computer and are accessed by users from
their own PCs or terminals.
a) Interactive transaction-based applications
b) Stand-alone applications
c) Embedded control systems
d) Batch processing systems

3. It involves identifying major system components and their communications?


a) Requirement Specification
b) Architecture Design
c) Database Design
d) Feasibility Study
4. The outcome of any software process activity is called _______.
a) Products
b) Roles
c) Requirement document
d) SRS
5. Component development and testing processes are interleaved in:
a) Incremental approach
b) Waterfall approach
c) Plan-driven approach
d) RUP

Page 1 of 5
6. A version of the system or part of the system is developed quickly to check the customer’s
requirements and the feasibility of some design decisions in
a) Software requirement engineering
b) Incremental development
c) Plan driven development
d) Software prototyping

7. Which statement about agile approach is false:


a) They consider design and implementation to be the central activities in the software
process
b) They incorporate other activities, such as requirements elicitation and testing, into
design and implementation
c) In agile, iteration occurs within activities
d) In agile, refactoring is continuous process
Is it important to have a very detailed specification and design before moving to
implementation? If so, you probably need to use
a) A plan-driven approach
8.
b) Water fall approach
c) Agile approach
d) Both A and B
Which of the following is not a feature of XP?
a) Refactoring
9. b) Simple design
c) Advance planning
d) Test-first development
You establish the general objectives for the project and design the software architecture in
_____ phase of SCRUM
a) Requirement phase
10. b) Sprint cycle
c) Initial phase
e) Project closure phase

Page 2 of 5
The University of Lahore
Department of Computer Science& IT
Midterm Examination
Fall-2020
CS4346-Introduction to Software Engineering

Subjective Part Time: 75 Minutes TotalMarks: 30


Question # 2: Answer briefly. (15 marks)
A. Why refactoring is required in agile development process.
Programming team look for possible software improvements and make these improvements even
where there is no immediate need for them.
This improves the understandability of the software and so reduces the need for documentation.
Changes are easier to make because the code is well-structured and clear.
Re-organization of a class hierarchy to remove duplicate code.
The replacement of inline code with calls to methods that have been included in a program
library.

B. The costs of software on a PC are often greater than the hardware cost.Why?
Software costs more to maintain than it does to develop.
For systems with a long life, maintenance costs may be several times development costs.
Software engineering is concerned with cost-effective software development.

C. How the cost of “Rework” can be reduced during SDLC.


Change avoidance, where the software process includes activities that can anticipate possible
changes before significant rework is required.
For example, a prototype system may be developed to show some key features of the system to
customers.
Change tolerance, where the process is designed so that changes can be accommodated at
relatively low cost.
This normally involves some form of incremental development. Proposed changes may be
implemented in increments that have not yet been developed.
If this is impossible, then only a single increment (a small part of the system) may have be
altered to incorporate the change.

Page 3 of 5
D. What are theMathematical specifications? Also highlight the problems of using
Mathematical specifications in writing software requirements.
These notations are based on mathematical concepts such as finite-state machines or sets.
Although these unambiguous specifications can reduce the ambiguity in a requirements
document, most customers don’t understand a formal specification. They cannot check that it
represents what they want and are reluctant to accept it as a system contract

E. Explain SCRUM sprint cycle.

Once these are agreed, the team organize themselves to develop the software.
During development stage the team is isolated from the customer and the organization, with all
communications channelled through the so-called ‘Scrum master’.
The role of the Scrum master is to protect the development team from external distractions.
At the end of the sprint, the work done is reviewed and presented to stakeholders. The next
sprint cycle then begins.

Question # 3: Case Study (15 Marks)


The mobile ordering software includes an in-store ordering mode that allowed for seamless
ordering and payment. An order placed by a guest on his/her smart phone appears in the kitchen
instantly, the same as if a cashier had entered the order. The table number is automatically
included with the order so that the food can be run out to the precise location.This application
allows the client to accept online and swiped payments right at the table. Uniwebb’s restraint
solutions include options for tips, loyalty programs and coupons.The flexible loyalty features of
the application were able to deliver a powerful program that, among other things, offered instant
rewards to guests based on cash spent. Offering a signup incentive reward made the program
appealing to a successful number of customers. The application was able to quickly collect
valuable guest information that could be used later for direct marketing and the promotion of
new location launches. Fully integrated online and mobile ordering allowed guests to earn
rewards both in store and online, increasing repeat customer visits.
 

Part A: What Software Process Model would you choose for the above mentioned scenario
and why? State your assumptions clearly, if any, and give logical reasons in support to your
answer. Mention two other processes which you did not select with reason. (10 marks)

Page 4 of 5
Part B: From the above case study select any 1 user requirements and draw their complete
system requirements specification including all functional and non-functional
requirements. (5 marks)

Page 5 of 5

You might also like