Software Engineering Internal PDF | PDF | Software Testing | Programming
0% found this document useful (0 votes)
39 views

Software Engineering Internal PDF

The document defines software and lists common types. It explains differences between programs and software, stages of the software development process, and code of ethics. It also discusses software myths, generic process models like waterfall and iterative models, requirement engineering processes, and activities to build software products. The waterfall model is explained as a linear sequential process while the iterative model focuses on initial simplified requirements and progressively adding more features through iterations.

Uploaded by

Surekha Mohan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

Software Engineering Internal PDF

The document defines software and lists common types. It explains differences between programs and software, stages of the software development process, and code of ethics. It also discusses software myths, generic process models like waterfall and iterative models, requirement engineering processes, and activities to build software products. The waterfall model is explained as a linear sequential process while the iterative model focuses on initial simplified requirements and progressively adding more features through iterations.

Uploaded by

Surekha Mohan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Software Engineering

1) Define Software? Types of Software?(ANY THREE)


Software is considered to be collection of executable
programming code,associated libraries and documentations.Software
includes:
 The documentation includes functional requirements
specification,system requirements specification,Design document and
Testing documents.
 The standard operating procedure manuals include Software
installation manual,Software operations manual,and system
administration manual.
 Configuration files include controlling roles, responsibilities,
workflow, business logic and security parameters of software
Different types of Software are:
 System Software: A collection of programs written to service other
programs.
Eg: Operationg system,Compilers
 Application Software: Stand-alone programs that solve a specific
business need.
Eg: MS-Office
 Utility software: Utility software is part of the system software and
performs specific tasks to keep the computer running.
Eg: Anti virus
 Product-line Software: Designed to provide a specific capability for
use by many different customers.
Eg: DBMS
 Web applications: They allow web users to interact with remote
business applications and databases.
Eg: Google Apps

2) Explain any 3 differences between Program & Software?


SOFTWARE PROGRAM
Software is a term which is designed Program is a set if instructions
to perform some specific set of which performs only a specific task.
operations.

A Software consists of bundles of A Program consists of a set of


programs and data files. instructions which are coded in the
programming language like
C,C++,Java.......

A Software can be classified into A Program can’t be classified into


two categories such as Application various categories.
software and System software
A software is developed by either A program is developed by a single
single programmer or a group of programmer but it’s not a native
programmer’s but it’s a native user. user.

SDLC is used to develop every SDLC is not used to make programs.


software.

A Software isn’t compiled when we A program is compiled every time


give it commands to perform when we need to generate some
specific operations. output from it

Every software has a dedicated user Programs don’t have a user


interface. interface.

3) Explain Software development process and its stages?


Requirement Gathering and Analysis: The relevant information is
gathered from the client to develop a product.
Design: The requirements gathered in the SRS document is used as an
input and software architecture is used for implementing system
development.
Coding: Once the developer gets the design document.The software
design is translated into source code
Testing: Once the coding is completed and the modules are released for
testing.The developed software is tested thoroughly and any
defects found are assigned to developers to get them
fixed.Retesting ,Regression testing is done until the point at which
the software is as per the customer expectation.
Deployment: Once the product is tested it is deployed in the production
environment.
Maintenance: If any issue comes up and needs to be fixed is to be taken
care by the developers.
4) Explain any 3 code of ethics and professional practice?
Public: Software engineers shall align their actions consistently in
accordance with public interest.
Customer and Employer: Software engineers shall act keeping in mind
the best interests of their customer and employer with the public
interest.
Product: Software engineers shall ensure that the products and related
changes made by them are confirming to the highest professional
standards.
Judgment:Software engineers shall uphold integrity in their professional
judgement.
Management: Software engineering manages and leaders shall adopt
ethical approach in dealing with software development and
maintenance.
Profession: Software engineer shall nurture the integrity and reputation
of the professional with the public interest.
Colleagues: Software engineering shall be equitable and supportive of
their colleagues.
Self-learning: Software engineers shall engage themselves in lifelong
learning about the practice of their profession.

5) Explain Software Myths?


Management Myths: Managers with software responsibility are often
under pressure to maintain budget and improve quality.A software
manager often grasps at belief in a software myth.
Customer Myths:The customer believes the myths about software
because software managers do little to correct misinformation.A customer
who requests computer software may be a person at the next desk.
Software Myths: It beliefs about software and the process used to build
it can be traced to the earliest days of computing.Myths have a number of
attributes that have made them insidious.

6) Explain about Generic software process models?(ANY THREE)


 Code and Fix model: It is basically an adhoc approach to maintain
software.The main objective of this model is to identify the problem
and then fix it as soon as possible.
 The main advantage is that it performs its work at low cost and
very quickly.
 This model is not suitable for large project system.
 Waterfall model: It requires a well understanding and knowledge of
requirements and technology related to it.
 It is very easy and convenient to implement the waterfall model.
 sometimes it is not possible to state all the requirements explicitly.

 V model:The high-level design (HLD) phase focuses on system


architecture and design. It provide overview of solution, platform,
system, product and service/process.
 This is a highly-disciplined model and Phases are completed one at a
time.
 Not a good model for complex and object-oriented projects.

 Evolutionary Developments:Evolutionary model is a combination of


Iterative and Incremental model of software development life cycle.
 It reduces the error because the core modules get tested thoroughly
 Sometimes it is hard to divide the problem into several versions

 Iterative software Process model:An iterative life cycle model does


not attempt to start with a full specification of requirements.
 Testing and debugging during smaller iteration is easy.
 Requirement changes can cause over budget.

 Spiral model: The spiral model combines the idea of iterative


development.This Spiral model is a combination of iterative
development process model and waterfall model.
 High amount of risk analysis
 Can be a costly model to use.

 Rational Unified Process (RUP): RUP model focuses on building


model of problem domain.It is an iterative process model.
 It provides good documentation, it completes the process in itself.
 Hard to integrate again and again.

7) Write down the steps in Requirement Engineering process?(ANY


THREE)
Requirement Engineering is a sub discipline of both systems
Engineering and software Engineering.It aim is to find out goals,
functions and constraints of hardware and software systems.
 Feasibility Study:The objective behind the feasibility study is to
create the reasons for developing the software that is acceptable to
users, flexible to change.
 Requirement Elicitation and Analysis: This is also known as the
gathering of requirements. Here, requirements are identified with the
help of customers and existing systems processes.
 Software Requirement Specification: Software requirement
specification is a kind of document which is created by a software
analyst after the requirements collected from the various sources.
 Software Requirement Validation: After requirement specifications
developed, the requirements discussed in this document are validated.
The user might demand illegal, impossible solution may misinterpret
the needs.
 Software Requirement Management: Requirement management is
the process of managing changing requirements during the
requirements engineering process and system development.

8) What are the activities to build a software product?


Requirement Analysis: The requirements are defined by both customers
and engineers together. At least 3 types of requirements are
defined:Abstract functional requirements,non-functional requirements
and undesirable system behaviour.
Software Design: Design of the software is undertaken as part of the
activity.
Software Development: Source code is written after design.
Software Testing: Testing of developed software is undertaken to prove
that the software delivers and meets the customer’s expectations.
Software Implementation: After receiving user’s acceptance,the
software product is released.

9)Explain about Waterfall model?


The waterfall model is a breakdown of project activities
into linear sequential phases.The approach is typical for certain
areas of engineering design.The waterfall model also called as
the Classic life cycle.
It requires a well understanding and knowledge of requirements and
technology related to it
(Mention life cycle stages)
Advantages :
It is very easy and convenient to implement the waterfall model.
For implementation of small systems, it is very useful.
Disadvantages :
Firstly, the requirement analysis is done and in the beginning, sometimes
it is not possible to state all the requirements explicitly.
Linear nature of the waterfall model induces blocking states.

10)Explain about the Iterative model?


An Iterative life cycle model does not attempt to start with a full
specification of requirements by first focusing on an initial,simplified set
user features.It progressively gains more complexity and a border set of
features until the target system is complete.It can also be reviewed in
order to identify further requirements.This process is then repeated by
delivering a new version of the software for each iteration.

Advantages:
 Testing and debugging during smaller iteration is easy.
 A Parallel development can plan.
 It is easily acceptable to ever-changing needs of the project.
 Risks are identified and resolved during iteration.
Disadvantages:
 It is not suitable for smaller projects.
 More Resources may be required.
 Design can be changed again and again because of imperfect
requirements.
 Requirement changes can cause over budget.

11) Explain about Spiral model?


 A Spiral model looks like a spiral with many loops.The exact number
of loops of the spiral is unknown and can vary from project to project.
 This model supports risk handling and the project is delivered in
loops.Each loop of the spiral is called a Phase of the software
development process.
 The exact number of phases needed to develop the product can be
varied by the project manager depending upon the project risks.

Objectives determination and identify alternative solutions:


Requirements are gathered from the customers and the objectives are
identified, elaborated, and analyzed

Identify and resolve Risks: During the second quadrant, all the possible
solutions are evaluated to select the best possible solution.

Develop next version of the Product: During the third quadrant, the
identified features are developed and verified through testing.
Review and plan for the next Phase: In the fourth quadrant, the
Customers evaluate the so far developed version of the software.

Advantages:
 High amount of risk analysis
 Useful for large and mission-critical projects.
Disadvantages:
 Can be a costly model to use.
 Risk analysis needed highly particular expertise
 Doesn't work well for smaller projects.

12) Explain about V-model?

It represents a development process that may be considered as


extension of the waterfall model.Instead of moving down in a linear
way,the process steps are bent upwards after the coding phase,to form
typical V-shape.

Verification is the process of checking that a software achieves its goal


without any bugs.Validation is the process of checking whether the
software product is up to the mark or in other words product has high
level requirements.
Design Phase:
Business Requirement Analysis: This is the first phase in the
development cycle where the product requirements are understood from
the customer’s perspective.
System Design: Once you have the clear and detailed product
requirements, it is time to design the complete system.
Architectural Design: Architectural specifications are understood and
designed in this phase. This is also referred to as High Level Design
(HLD).
Module Design: In this phase, the detailed internal design for all the
system modules is specified, referred to as Low Level Design (LLD).
Validation Phases:
Unit Testing: Unit testing is the testing at code level and helps eliminate
bugs at an early stage, though all defects cannot be uncovered by unit
testing.
Integration Testing: Integration tests are performed to test the
coexistence and communication of the internal modules within the system.
System Testing: System tests check the entire system functionality and
the communication of the system under development with external
systems.
Acceptance Testing: Acceptance tests uncover the compatibility issues
with the other systems available in the user environment.

Advantages:
 This is a highly-disciplined model and Phases are completed one at a
time.
 Works well for smaller projects where requirements are very well
understood.
Disadvantages:
 High risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.

You might also like