SlideShare a Scribd company logo
Software engineering (CMP-3310)
Short Questions
1. Write the fundamental activties that are involved in softwaredevelopment
process?
Ans: Softwaredevelopment process involved following activties:
1) Planning
2) Analysis
3) Design
4) Implementation
5) Testing
6) Maintenance
2. What are the different phases of rational unified process?
Ans: Rational unified process (RUP) is an object oriented and web enabled
programdevelopment methodology. Ithas following phases,
1) Inception phase
2) Elaboration phase
3) Construction phase
4) Transition phase
3. What are the drawbacks of spiralmodel?
Ans: Following are the drawbacks of spiralmodel,
 Itcan be costly model to use
 In this model, risk analysis requires highly specific expertise
 Projectsuccess highly depend on the risk analysis phase
 It does’nt work well for smaller projects
4. Differentiate between proactive and reactive approaches to handle risks?
Ans: A risk is a potential problem, it might or not happen.
According to proactive approach risks are identified before they happen and
their probability and potential are assessed. On the other hand reactive
approach says worrying about problems when they happen.
5. What are two basic ways to estimate the size of a project?
Ans: The size of a project is estimated by following,
a) Lines of code
b) Function points, which are defined as the number of:
 Inputs
 Outputs
 Inquires
 Internal files
 External interfaces
6. What is modularity?
Ans: In softwareengineering, modularity is the extent to which a software may
be divided into smaller modules. Software modularity indicates that the
number of application modules are capable of serving a specific business
domain. It is successful because developers use prewritten code which saves
resources.
7. Define cohesion and coupling?
Ans: Cohesion is the degree to which the all elements of a component are
directed towards a single task. Types includes,
 Coincidental
 Logical
 Temporal
 Procedural
 Communicational
 Sequential
 Functional
Coupling is the degree of dependence such as interactions among components.
Types includes,
 Content coupling
 Common coupling
 External coupling
 Control coupling
 Stamp coupling
8. What is software architecture design?
Ans: The software architecture of a program is the structure which comprises
software elements, externally visible properties of those elements and the
relationships among them.
9. Differentiate refactoring and refinement?
Ans: Refactoring is the re-working of internal implementation of the existing
functionality with the aim of optimizing performance like speed, memory etc.
while program refinement is another term which is the verifiable
transformation of an abstract formal specification into a software. Stepwise
refinement allows this process to be done in stages.
10. What is difference between verification and validation?
Ans: The distinction between two terms is largely to do with the role of
specification. Validation is the process of checking whether the specifications
check the customer’s needs while verification is the process of checking that
the software meets the specifications.
11. Compare testing and debugging?
Ans: Software developers check their code to remove bugs , this process is
called as debugging while software testing is the process in which software
testing teams test the whole software to ensure no error it has , and it meets
all the requirements and specifications.
12. Differentiate between white box and black box testing?
Ans: White box testing is the software testing method in which internal
structure of the item being tested is known to the tester. It is mainly applicable
to the lower level of testing like unit testing, integration testing and generally
software developers do that kind of testing.
Black box testing is the software testing method in which internal structure of
the item being tested is not known to the tester. It is mainly applicable to
higher level of testing like acceptance testing and generally independent
software testers do that kind of testing.
13. How quality is related to the standards?
Ans: Software quality can be improved by enforcing standards but it is very
difficult to enforce standards on actual program behavior. Standardizing the
process can help make sure that no steps are skipped but, standardizing to an
inappropriate process can reduce productivity quality.
14. Why we use CMM?
Ans: CMM stands for capability maturity model which measure for maturity of
an organization’s software process. It is methodology used to develop and
refinement of a software develop process. Capability maturity model have 5
maturity model,
1. Initial
2. Managed
3. Defined
4. Quantitatively managed
5. Optimizing
Long Questions
1. What is project management? Explain project management
life cycle?
Ans: A softwareprojectis a complete procedureof softwaredevelopment
fromrequirement gathering to testing and maintenance carried out,
according to the execution methodologies, in a specified period of time to
achieve intended softwareproduct.
Need of software project management:
There are several factors both internal and external which may impact the
cost, time and quality of a software which bring risk in software
development so, it is essential to manage software projects efficiently.
Software project management life cycle has following phases:
 Communication:
The first step where user initiates the request for a desired software
product.
 Requirement gathering:
In this phase the requirements for proposed system are collected using
number of practices like studying the existing system, conducting inter-
views of users, and developers etc.
 Feasibility study:
In feasibility phase it is analyzed that, “ Is the project is financially,
technologically feasible for the organization?”
 System analysis:
At this step softwaredevelopers decide to roadmap their plan and try to
Bring up the best software model to suitable for the project. System
analysis include the understanding of software product limitations,
learn system related problems or changes to be done in existing system.
 Software design:
In this step engineers make logical and physical design of the proposed
softwareand produced metadata, data dictionaries, logical diagrams etc
 Coding:
This step is also known as programming phase. The implementation of
Software design starts in terms of writing programming code in suitable
language and developing error free executable programs efficiently.
 Testing & integration:
Software testing is done after coding by developers and conducted by
testing experts and then software is integrated with libraries, database
and other programs.
 Implementation:
This means installing the software on the user’s machine. Software is
tested for portability, adaptability and integration related issues are
solved during implementation.
2. Explain the fundamental software design concepts?
Ans: Softwaredesign is a process to transformuser requirements into some
suitable form, which helps the programmer in software coding and
implementation.
Software design is the first step in SDLC (software design life cycle), which
moves the concentration fromproblem domain to problem solution. It tries
to specifies how to fulfill the requirements mentioned in SRS.
Software design levels:
Software design yields three levels of results:
 Architecture design – The architectural design is the highest abstract
version of the system. It identifies the software as a system with
many components interact with each other. At this stage, designers
get the idea of proposed solution domain.
 High-level design – The high level design breaks the ‘single entity
multi-component’ concept of architecture design into less abstracted
view of sub systems and modules and depicts their interaction with
each other. High level design focuses on how the system along with
all of its components can be implemented in form of modules. It
recognize modular structure of each sub system and their relation
and interaction among each other.
 Detailed design - detailed design deals with the implementation part
what is seen as a system and its sub systems in the previous two
designs. It is more detailed towards modules and their
implementation. It defines logical structure of each module and their
interfaces to communicate to other modules .
Modularization:
Modularization is a technique to divide a software system into multiple
discrete and independent modules which are expected to be carrying out
tasks independently. These modules may work as the basic constructs for
the entire software. Designers tend to design modules such that they can
be executed or compiled seperately independently.
Concurrency:
Concurrency provides the capability to the software to execute more than
one part of code to execute parallel to each other. It is necessary for the
programmers , designers to recognize those modules which can be made
execution parallel.
Coupling & Cohesion:
Cohesion is the degree to which the all elements of a component are
directed towards a single task. Types includes,
 Logical
 Temporal
 Procedural
 Communicational
 Sequential
 Functional
Coupling is the degree of dependence such as interactions among
components. Types includes,
 Content coupling
 Common coupling
 External coupling
 Control coupling
 Stamp coupling
3. Compare and contrast between agile software development
and formal methods?
Agile Software development – Agile software development is a set of
principles for software development in which requirements and solutions
evolve through collaboration between self organizing. It promotes adaptive
planning, evolutionary development, early delivery, and continuous
improvement, and it encourages rapid and flexible response to change .
The manifesto for agile software development also known as agile
manifesto, based on the following principles,
1. Customer satisfaction by early and valuable software delivery.
2. Welcome changing requirements, even in late requirements.
3. Working software is delivered frequently (weeks rather than month)
4. Close daily cooperation between business people and developers.
5. Projects are build around motivated individuals who are trusted.
6. Face to face communication is best form of communication.
7. Working software is the best measure of progress. Etc……
Formal methods:
In computer science, formal methods are particular kind of mathematically
based techniques for specification and verification of software and
hardware systems. The use of formal methods for hardware and software
design is motivated by expectation that as in order engineering discipline,
performing appropriate mathematical analysis can contribute to reliability
of a design. Formal methods can be applied at various points through the
development process:
 Specification
 Development
 varification
Agile methods Formal methods
Low critically Extreme critically
Senior developer Senior developers
Requirements change often Limited requirements
Small no of developers Requirements that can modeled
Culture that responds to changes Extreme quality
4. What is requirements elicitation? Explain any three
requirements elicitation techniques?
Ans: In requirements engineering, requirement elicitation is a practice of
collecting the information of a system from the users, customers and other
stakeholders.
Requirement elicitation process can be depicted using following
procedures:
o Requirements gathering
o Organizing requirements
o Negotiation and discussion
o Documentation
There are various requirements elicitation techniques:
 Interviews
 Survays
 Questionaries
 Task analysis
 Domain analysis
 Brainstorming
 Prototyping
 Observation
Interviews:
Interviews arestrong mediumto collect requirements. Organizations may
Conductseveral types of interviews such as:
 Structured (closed) interviews whereevery single information to
gather is decide in advance, they follow pattern and matter of
discussion firmly.
 Non-structured (open) interviews, whereinformation to gather are
not decide in advance, more flexible and less biased.
 Oralinterviews
 Written interviews
Surveys:
Organization may conduct surveys among various stakeholdersby querying
about their expectation and requirements from the upcoming system.
Questionnaire:
A document with predefined set of objectives questions and respective
options is handed over to all stakeholders to answers, which are collected
and compiled.
A short coming of this technique is, if an option for some mentioned in the
questionnaire, the issue might be left unattended.
5. Why refactoring play important role in software design?
Ans: Refactoring is a change made to the internal design of a softwareto
make it easier to understand and cheaper to modify withoutchanging its
observablebehavior.
Refactoring improves the designof astructure:
Without refactoring, the design of the programwill decay, the code loses
it’s structure. Itbecomes harder to see design by reading the code.
Refactoring is re-working on codeto makeit reuseable.
Refactoring makes software easier tounderstand:
Programming is in many ways a conversation with computer. You write code
that tells the computer what to do and it responds by doing exactly what you
tell it. But if someone will try to read your code in few months, then it will be
very difficult for him to understand your written code. So, he would be
refactor it to understand the working of the code. In shorthe should refactor
the unfamiliar code by look at the lines to understand whatthese are saying.
Refactoring helps youfindbugs in software design:
Refactoring helps in finding the bugs fromthe softwaredesign becauseit
applies on the internal structureof code so bugs are caught by refactoring
process .
Refactoring helps youtoprogram faster:
At the end, all points come down to this: refactoring helps you develop code
more quickly.
A good design is essential for rapid softwaredevelopment. Indeed the whole
point of having a good design is to allow rapid development. Without a good
design you can progress quickly for a while, but soon the poor design starts to
slow you down. You spend time finding and fixing bugs instead adding new
functions.
A good design is essential to maintaining speed in softwaredevelopment,
refactoring helps you develop more rapidly, becauseit stops the design of the
systemfromdecaying. Itcan even improve a design.
6. Write a brief note on re-engineering?
Ans: Softwarere-engineering is the examination and alteration of a system
to re-constitute it in a new form.
Why do we need re-engineering?
Itis applicable when some subsystems of a larger systemrequire frequent
maintenance. Itinvolve putting in the effort to make it easier to maintain.
Software re-engineering andLegacy systems:
Legacy systems arethe old softwaresystems which areessential for the
business process support. Softwarere-engineering is concerned with re-
implementing legacy systems to make them moremaintainable. Itmay be
the viable way to ensurethat legacy systems can continue in service.
Advantages of software re-engineering:
Re-engineering a softwaresystems has two key advantages,
 Reduced risk
As the softwaresystemis already exist, the risk is less as compared to
developing a new software.
 Reduced cost
The cost of re-engineering is significantly less than the developing a
new softwaresystem.
Steps involvedinsoftware re-engineering:
I. Sourcecode translation
Itis a process of translating a sourcecode from one programming
language to another. The translated language may be the updated
version of the original language or a completely different language.
II. Reverseengineering
Itis the process of analyzing softwarewith the objective of recovering
It’s design and specification. The programitself is unchanged by the
reverseengineering process.
III. Programstructureimprovement
Itthe process of improving the structureof the programto optimize
memory useand the lack of understanding of s/w engineering.
IV. Program modularization
Itis the process of reorganizing a programso that related program
parts are collected together and considered as a single module.
Differenttypes of modules can be created,
a) Data abstractions
b) Hardwaremodules
c) Functional modules
d) Process supportmodules
Ad

More Related Content

What's hot (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
What is agile model
What is agile modelWhat is agile model
What is agile model
Software Testing Books
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
software engineering
software engineeringsoftware engineering
software engineering
Azad public school
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
MuhammadTalha436
 
Error Detection & Recovery
Error Detection & RecoveryError Detection & Recovery
Error Detection & Recovery
Akhil Kaushik
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
srijavel
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
Huawei Technologies
 
Software process
Software processSoftware process
Software process
Jennifer Polack
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
Muhammad Yousuf Abdul Qadir
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
TanishqRongta1
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
Baskarkncet
 
Unit 2
Unit 2Unit 2
Unit 2
Jignesh Kariya
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
Bala Ganesh
 
Reusability
ReusabilityReusability
Reusability
university of education,Lahore
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
MuhammadTalha436
 
Error Detection & Recovery
Error Detection & RecoveryError Detection & Recovery
Error Detection & Recovery
Akhil Kaushik
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
srijavel
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
Muhammad Yousuf Abdul Qadir
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
TanishqRongta1
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
Bala Ganesh
 

Similar to Software Engineering Solved Past Paper 2020 (20)

Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
Толкын Миргаликызы
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
Prachi Sasankar
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
DrPrabakaranPerumal
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
priyaaresearch
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)
MuhammadTalha436
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
vishal choudhary
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project Management
NANDINI SHARMA
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)
ghayour abbas
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
Kalpna Saharan
 
SDLC comprises seven different stages: planning, analysis, design, developmen...
SDLC comprises seven different stages: planning, analysis, design, developmen...SDLC comprises seven different stages: planning, analysis, design, developmen...
SDLC comprises seven different stages: planning, analysis, design, developmen...
abhitiw321
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
JayaKamal
 
Software models
Software modelsSoftware models
Software models
MOULA HUSSAIN KHATTHEWALE
 
Software Quality Measure
Software Quality MeasureSoftware Quality Measure
Software Quality Measure
Editor IJCATR
 
Software Engineering Evolution Software Paradigm
Software Engineering Evolution Software ParadigmSoftware Engineering Evolution Software Paradigm
Software Engineering Evolution Software Paradigm
ArchanaKK4
 
4_59247024118127714222222222222222255.pptx
4_59247024118127714222222222222222255.pptx4_59247024118127714222222222222222255.pptx
4_59247024118127714222222222222222255.pptx
berihufsaha12
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
Dr. Radhey Shyam
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
Priyajit Sen
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
Prachi Sasankar
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
priyaaresearch
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)
MuhammadTalha436
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project Management
NANDINI SHARMA
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)
ghayour abbas
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
Kalpna Saharan
 
SDLC comprises seven different stages: planning, analysis, design, developmen...
SDLC comprises seven different stages: planning, analysis, design, developmen...SDLC comprises seven different stages: planning, analysis, design, developmen...
SDLC comprises seven different stages: planning, analysis, design, developmen...
abhitiw321
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
JayaKamal
 
Software Quality Measure
Software Quality MeasureSoftware Quality Measure
Software Quality Measure
Editor IJCATR
 
Software Engineering Evolution Software Paradigm
Software Engineering Evolution Software ParadigmSoftware Engineering Evolution Software Paradigm
Software Engineering Evolution Software Paradigm
ArchanaKK4
 
4_59247024118127714222222222222222255.pptx
4_59247024118127714222222222222222255.pptx4_59247024118127714222222222222222255.pptx
4_59247024118127714222222222222222255.pptx
berihufsaha12
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
Priyajit Sen
 
Ad

More from MuhammadTalha436 (20)

Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
MuhammadTalha436
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineering
MuhammadTalha436
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
MuhammadTalha436
 
Software engineering interview questions
Software engineering interview questionsSoftware engineering interview questions
Software engineering interview questions
MuhammadTalha436
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
MuhammadTalha436
 
Prototype model (software engineering)
Prototype model (software engineering)  Prototype model (software engineering)
Prototype model (software engineering)
MuhammadTalha436
 
Incremental model (software engineering)
Incremental model (software engineering)Incremental model (software engineering)
Incremental model (software engineering)
MuhammadTalha436
 
V model (software engineering)
V model (software engineering)V model (software engineering)
V model (software engineering)
MuhammadTalha436
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)
MuhammadTalha436
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
MuhammadTalha436
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
MuhammadTalha436
 
A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering
MuhammadTalha436
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
MuhammadTalha436
 
Project Management Complete Concept
Project Management Complete Concept Project Management Complete Concept
Project Management Complete Concept
MuhammadTalha436
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
MuhammadTalha436
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
MuhammadTalha436
 
Object Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of ExamsObject Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of Exams
MuhammadTalha436
 
Object Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ ExamsObject Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ Exams
MuhammadTalha436
 
Solved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ ExamsSolved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ Exams
MuhammadTalha436
 
Islamiyat Past Papers BSSE (2015-2020)
Islamiyat Past Papers BSSE (2015-2020)Islamiyat Past Papers BSSE (2015-2020)
Islamiyat Past Papers BSSE (2015-2020)
MuhammadTalha436
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
MuhammadTalha436
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineering
MuhammadTalha436
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
MuhammadTalha436
 
Software engineering interview questions
Software engineering interview questionsSoftware engineering interview questions
Software engineering interview questions
MuhammadTalha436
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
MuhammadTalha436
 
Prototype model (software engineering)
Prototype model (software engineering)  Prototype model (software engineering)
Prototype model (software engineering)
MuhammadTalha436
 
Incremental model (software engineering)
Incremental model (software engineering)Incremental model (software engineering)
Incremental model (software engineering)
MuhammadTalha436
 
V model (software engineering)
V model (software engineering)V model (software engineering)
V model (software engineering)
MuhammadTalha436
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)
MuhammadTalha436
 
Software Quality Assurance in software engineering
Software Quality Assurance in software engineeringSoftware Quality Assurance in software engineering
Software Quality Assurance in software engineering
MuhammadTalha436
 
A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering A Risk Analysis and Management in Software Engineering
A Risk Analysis and Management in Software Engineering
MuhammadTalha436
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
MuhammadTalha436
 
Project Management Complete Concept
Project Management Complete Concept Project Management Complete Concept
Project Management Complete Concept
MuhammadTalha436
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
MuhammadTalha436
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
MuhammadTalha436
 
Object Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of ExamsObject Oriented Programming Short Notes for Preperation of Exams
Object Oriented Programming Short Notes for Preperation of Exams
MuhammadTalha436
 
Object Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ ExamsObject Oriented Solved Practice Programs C++ Exams
Object Oriented Solved Practice Programs C++ Exams
MuhammadTalha436
 
Solved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ ExamsSolved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ Exams
MuhammadTalha436
 
Islamiyat Past Papers BSSE (2015-2020)
Islamiyat Past Papers BSSE (2015-2020)Islamiyat Past Papers BSSE (2015-2020)
Islamiyat Past Papers BSSE (2015-2020)
MuhammadTalha436
 
Ad

Recently uploaded (20)

Operations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdfOperations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdf
Arab Academy for Science, Technology and Maritime Transport
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Timber Pitch Roof Construction Measurement-2024.pptx
Timber Pitch Roof Construction Measurement-2024.pptxTimber Pitch Roof Construction Measurement-2024.pptx
Timber Pitch Roof Construction Measurement-2024.pptx
Tantish QS, UTM
 
Fundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic CommunicationsFundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic Communications
Jordan Williams
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
To study Digestive system of insect.pptx
To study Digestive system of insect.pptxTo study Digestive system of insect.pptx
To study Digestive system of insect.pptx
Arshad Shaikh
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Unit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its typesUnit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its types
bharath321164
 
Unit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theoriesUnit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theories
bharath321164
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
Envenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptxEnvenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptx
rekhapositivity
 
Diabetic neuropathy peripheral autonomic
Diabetic neuropathy peripheral autonomicDiabetic neuropathy peripheral autonomic
Diabetic neuropathy peripheral autonomic
Pankaj Patawari
 
Open Access: Revamping Library Learning Resources.
Open Access: Revamping Library Learning Resources.Open Access: Revamping Library Learning Resources.
Open Access: Revamping Library Learning Resources.
Rishi Bankim Chandra Evening College, Naihati, North 24 Parganas, West Bengal, India
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Timber Pitch Roof Construction Measurement-2024.pptx
Timber Pitch Roof Construction Measurement-2024.pptxTimber Pitch Roof Construction Measurement-2024.pptx
Timber Pitch Roof Construction Measurement-2024.pptx
Tantish QS, UTM
 
Fundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic CommunicationsFundamentals of PR: Wk 4 - Strategic Communications
Fundamentals of PR: Wk 4 - Strategic Communications
Jordan Williams
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACYUNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
UNIT 3 NATIONAL HEALTH PROGRAMMEE. SOCIAL AND PREVENTIVE PHARMACY
DR.PRISCILLA MARY J
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
To study Digestive system of insect.pptx
To study Digestive system of insect.pptxTo study Digestive system of insect.pptx
To study Digestive system of insect.pptx
Arshad Shaikh
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
To study the nervous system of insect.pptx
To study the nervous system of insect.pptxTo study the nervous system of insect.pptx
To study the nervous system of insect.pptx
Arshad Shaikh
 
Unit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its typesUnit 4: Long term- Capital budgeting and its types
Unit 4: Long term- Capital budgeting and its types
bharath321164
 
Unit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theoriesUnit 5: Dividend Decisions and its theories
Unit 5: Dividend Decisions and its theories
bharath321164
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
Envenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptxEnvenomation---Clinical Toxicology. pptx
Envenomation---Clinical Toxicology. pptx
rekhapositivity
 
Diabetic neuropathy peripheral autonomic
Diabetic neuropathy peripheral autonomicDiabetic neuropathy peripheral autonomic
Diabetic neuropathy peripheral autonomic
Pankaj Patawari
 

Software Engineering Solved Past Paper 2020

  • 1. Software engineering (CMP-3310) Short Questions 1. Write the fundamental activties that are involved in softwaredevelopment process? Ans: Softwaredevelopment process involved following activties: 1) Planning 2) Analysis 3) Design 4) Implementation 5) Testing 6) Maintenance 2. What are the different phases of rational unified process? Ans: Rational unified process (RUP) is an object oriented and web enabled programdevelopment methodology. Ithas following phases, 1) Inception phase 2) Elaboration phase 3) Construction phase 4) Transition phase 3. What are the drawbacks of spiralmodel? Ans: Following are the drawbacks of spiralmodel,  Itcan be costly model to use  In this model, risk analysis requires highly specific expertise  Projectsuccess highly depend on the risk analysis phase  It does’nt work well for smaller projects
  • 2. 4. Differentiate between proactive and reactive approaches to handle risks? Ans: A risk is a potential problem, it might or not happen. According to proactive approach risks are identified before they happen and their probability and potential are assessed. On the other hand reactive approach says worrying about problems when they happen. 5. What are two basic ways to estimate the size of a project? Ans: The size of a project is estimated by following, a) Lines of code b) Function points, which are defined as the number of:  Inputs  Outputs  Inquires  Internal files  External interfaces 6. What is modularity? Ans: In softwareengineering, modularity is the extent to which a software may be divided into smaller modules. Software modularity indicates that the number of application modules are capable of serving a specific business domain. It is successful because developers use prewritten code which saves resources. 7. Define cohesion and coupling? Ans: Cohesion is the degree to which the all elements of a component are directed towards a single task. Types includes,
  • 3.  Coincidental  Logical  Temporal  Procedural  Communicational  Sequential  Functional Coupling is the degree of dependence such as interactions among components. Types includes,  Content coupling  Common coupling  External coupling  Control coupling  Stamp coupling 8. What is software architecture design? Ans: The software architecture of a program is the structure which comprises software elements, externally visible properties of those elements and the relationships among them. 9. Differentiate refactoring and refinement? Ans: Refactoring is the re-working of internal implementation of the existing functionality with the aim of optimizing performance like speed, memory etc. while program refinement is another term which is the verifiable transformation of an abstract formal specification into a software. Stepwise refinement allows this process to be done in stages.
  • 4. 10. What is difference between verification and validation? Ans: The distinction between two terms is largely to do with the role of specification. Validation is the process of checking whether the specifications check the customer’s needs while verification is the process of checking that the software meets the specifications. 11. Compare testing and debugging? Ans: Software developers check their code to remove bugs , this process is called as debugging while software testing is the process in which software testing teams test the whole software to ensure no error it has , and it meets all the requirements and specifications. 12. Differentiate between white box and black box testing? Ans: White box testing is the software testing method in which internal structure of the item being tested is known to the tester. It is mainly applicable to the lower level of testing like unit testing, integration testing and generally software developers do that kind of testing. Black box testing is the software testing method in which internal structure of the item being tested is not known to the tester. It is mainly applicable to higher level of testing like acceptance testing and generally independent software testers do that kind of testing. 13. How quality is related to the standards? Ans: Software quality can be improved by enforcing standards but it is very difficult to enforce standards on actual program behavior. Standardizing the process can help make sure that no steps are skipped but, standardizing to an inappropriate process can reduce productivity quality.
  • 5. 14. Why we use CMM? Ans: CMM stands for capability maturity model which measure for maturity of an organization’s software process. It is methodology used to develop and refinement of a software develop process. Capability maturity model have 5 maturity model, 1. Initial 2. Managed 3. Defined 4. Quantitatively managed 5. Optimizing Long Questions 1. What is project management? Explain project management life cycle? Ans: A softwareprojectis a complete procedureof softwaredevelopment fromrequirement gathering to testing and maintenance carried out, according to the execution methodologies, in a specified period of time to achieve intended softwareproduct. Need of software project management: There are several factors both internal and external which may impact the cost, time and quality of a software which bring risk in software development so, it is essential to manage software projects efficiently.
  • 6. Software project management life cycle has following phases:  Communication: The first step where user initiates the request for a desired software product.  Requirement gathering: In this phase the requirements for proposed system are collected using number of practices like studying the existing system, conducting inter- views of users, and developers etc.  Feasibility study: In feasibility phase it is analyzed that, “ Is the project is financially, technologically feasible for the organization?”  System analysis: At this step softwaredevelopers decide to roadmap their plan and try to Bring up the best software model to suitable for the project. System analysis include the understanding of software product limitations, learn system related problems or changes to be done in existing system.  Software design: In this step engineers make logical and physical design of the proposed softwareand produced metadata, data dictionaries, logical diagrams etc  Coding: This step is also known as programming phase. The implementation of Software design starts in terms of writing programming code in suitable
  • 7. language and developing error free executable programs efficiently.  Testing & integration: Software testing is done after coding by developers and conducted by testing experts and then software is integrated with libraries, database and other programs.  Implementation: This means installing the software on the user’s machine. Software is tested for portability, adaptability and integration related issues are solved during implementation. 2. Explain the fundamental software design concepts? Ans: Softwaredesign is a process to transformuser requirements into some suitable form, which helps the programmer in software coding and implementation. Software design is the first step in SDLC (software design life cycle), which moves the concentration fromproblem domain to problem solution. It tries to specifies how to fulfill the requirements mentioned in SRS. Software design levels: Software design yields three levels of results:  Architecture design – The architectural design is the highest abstract version of the system. It identifies the software as a system with many components interact with each other. At this stage, designers get the idea of proposed solution domain.
  • 8.  High-level design – The high level design breaks the ‘single entity multi-component’ concept of architecture design into less abstracted view of sub systems and modules and depicts their interaction with each other. High level design focuses on how the system along with all of its components can be implemented in form of modules. It recognize modular structure of each sub system and their relation and interaction among each other.  Detailed design - detailed design deals with the implementation part what is seen as a system and its sub systems in the previous two designs. It is more detailed towards modules and their implementation. It defines logical structure of each module and their interfaces to communicate to other modules . Modularization: Modularization is a technique to divide a software system into multiple discrete and independent modules which are expected to be carrying out tasks independently. These modules may work as the basic constructs for the entire software. Designers tend to design modules such that they can be executed or compiled seperately independently. Concurrency: Concurrency provides the capability to the software to execute more than one part of code to execute parallel to each other. It is necessary for the programmers , designers to recognize those modules which can be made execution parallel.
  • 9. Coupling & Cohesion: Cohesion is the degree to which the all elements of a component are directed towards a single task. Types includes,  Logical  Temporal  Procedural  Communicational  Sequential  Functional Coupling is the degree of dependence such as interactions among components. Types includes,  Content coupling  Common coupling  External coupling  Control coupling  Stamp coupling 3. Compare and contrast between agile software development and formal methods? Agile Software development – Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self organizing. It promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change .
  • 10. The manifesto for agile software development also known as agile manifesto, based on the following principles, 1. Customer satisfaction by early and valuable software delivery. 2. Welcome changing requirements, even in late requirements. 3. Working software is delivered frequently (weeks rather than month) 4. Close daily cooperation between business people and developers. 5. Projects are build around motivated individuals who are trusted. 6. Face to face communication is best form of communication. 7. Working software is the best measure of progress. Etc…… Formal methods: In computer science, formal methods are particular kind of mathematically based techniques for specification and verification of software and hardware systems. The use of formal methods for hardware and software design is motivated by expectation that as in order engineering discipline, performing appropriate mathematical analysis can contribute to reliability of a design. Formal methods can be applied at various points through the development process:  Specification  Development  varification Agile methods Formal methods Low critically Extreme critically Senior developer Senior developers Requirements change often Limited requirements Small no of developers Requirements that can modeled
  • 11. Culture that responds to changes Extreme quality 4. What is requirements elicitation? Explain any three requirements elicitation techniques? Ans: In requirements engineering, requirement elicitation is a practice of collecting the information of a system from the users, customers and other stakeholders. Requirement elicitation process can be depicted using following procedures: o Requirements gathering o Organizing requirements o Negotiation and discussion o Documentation There are various requirements elicitation techniques:  Interviews  Survays  Questionaries  Task analysis  Domain analysis  Brainstorming  Prototyping  Observation Interviews: Interviews arestrong mediumto collect requirements. Organizations may Conductseveral types of interviews such as:
  • 12.  Structured (closed) interviews whereevery single information to gather is decide in advance, they follow pattern and matter of discussion firmly.  Non-structured (open) interviews, whereinformation to gather are not decide in advance, more flexible and less biased.  Oralinterviews  Written interviews Surveys: Organization may conduct surveys among various stakeholdersby querying about their expectation and requirements from the upcoming system. Questionnaire: A document with predefined set of objectives questions and respective options is handed over to all stakeholders to answers, which are collected and compiled. A short coming of this technique is, if an option for some mentioned in the questionnaire, the issue might be left unattended. 5. Why refactoring play important role in software design? Ans: Refactoring is a change made to the internal design of a softwareto make it easier to understand and cheaper to modify withoutchanging its observablebehavior. Refactoring improves the designof astructure: Without refactoring, the design of the programwill decay, the code loses it’s structure. Itbecomes harder to see design by reading the code. Refactoring is re-working on codeto makeit reuseable.
  • 13. Refactoring makes software easier tounderstand: Programming is in many ways a conversation with computer. You write code that tells the computer what to do and it responds by doing exactly what you tell it. But if someone will try to read your code in few months, then it will be very difficult for him to understand your written code. So, he would be refactor it to understand the working of the code. In shorthe should refactor the unfamiliar code by look at the lines to understand whatthese are saying. Refactoring helps youfindbugs in software design: Refactoring helps in finding the bugs fromthe softwaredesign becauseit applies on the internal structureof code so bugs are caught by refactoring process . Refactoring helps youtoprogram faster: At the end, all points come down to this: refactoring helps you develop code more quickly. A good design is essential for rapid softwaredevelopment. Indeed the whole point of having a good design is to allow rapid development. Without a good design you can progress quickly for a while, but soon the poor design starts to slow you down. You spend time finding and fixing bugs instead adding new functions. A good design is essential to maintaining speed in softwaredevelopment, refactoring helps you develop more rapidly, becauseit stops the design of the systemfromdecaying. Itcan even improve a design.
  • 14. 6. Write a brief note on re-engineering? Ans: Softwarere-engineering is the examination and alteration of a system to re-constitute it in a new form. Why do we need re-engineering? Itis applicable when some subsystems of a larger systemrequire frequent maintenance. Itinvolve putting in the effort to make it easier to maintain. Software re-engineering andLegacy systems: Legacy systems arethe old softwaresystems which areessential for the business process support. Softwarere-engineering is concerned with re- implementing legacy systems to make them moremaintainable. Itmay be the viable way to ensurethat legacy systems can continue in service. Advantages of software re-engineering: Re-engineering a softwaresystems has two key advantages,  Reduced risk As the softwaresystemis already exist, the risk is less as compared to developing a new software.  Reduced cost The cost of re-engineering is significantly less than the developing a new softwaresystem. Steps involvedinsoftware re-engineering: I. Sourcecode translation Itis a process of translating a sourcecode from one programming language to another. The translated language may be the updated version of the original language or a completely different language.
  • 15. II. Reverseengineering Itis the process of analyzing softwarewith the objective of recovering It’s design and specification. The programitself is unchanged by the reverseengineering process. III. Programstructureimprovement Itthe process of improving the structureof the programto optimize memory useand the lack of understanding of s/w engineering. IV. Program modularization Itis the process of reorganizing a programso that related program parts are collected together and considered as a single module. Differenttypes of modules can be created, a) Data abstractions b) Hardwaremodules c) Functional modules d) Process supportmodules