Imp Que
Imp Que
Software Engineering
1] Introduction
Q-1] What is Software Engineering?
Q-2] Difference between Software Engineering and system engineering?
Q-3] Explain types of Software Products.
Q-4] Explain types of Software Application.
Q-5] Explain Software Engineering ethics.
Q-6] Explain software process and activities.
Q-7] Explain Coping with change.
3] System Modelling
Q-1] Explain Context model with example.
2
5] Testing
Q-1] What is Software Testing?
Q-2] Difference between verification and validation?
Q-3] Explain model of software testing process?
Q-4] Explain Development Testing?
Q-5] Explain test driven development?
Q-6] Explain Release testing?
Q-7] Explain user testing.
1] INTRODUCTION
2] Engineering is the application of scientific and practical knowledge to design, build, maintain,
and improve frameworks.
1. Huge Programming
2. Cost
3. Dynamic Nature
4. Quality Management
Application:
4
System Software
System Software is used to manage the computer resources and support the execution of
application programs.
E.g., operating systems, compilers
Application Software
Application software is designed to fulfil the user’s requirement by interacting with the user
directly.
Scientific Software –
Scientific software satisfies the needs of a scientific user to perform enterprise-specific tasks.
E.g., MATLAB, AUTOCAD etc.
software engineering can learn from system engineering can learn from
3
system engineering. software engineering.
1] Generic products-
These products are stand-alone software products that are produced by a development
organization and sold on the open market to any customer who is able to buy them.
Example- Antivirus
2] Customized products-
These are software products that are commissioned by and developed for a particular
customer.
3. Embedded control systems- These are software control systems that control and manage
hardware devices.
4. Batch processing systems- These are business systems that are designed to process data in
large batches.
5. Entertainment systems- These are systems for personal use that are intended to entertain
the user. Most of these systems are games.
6
6. Systems for modelling and simulation- These are systems that are developed to model
physical processes or situations.
Q-5] Explain Software Engineering ethics.
As a software engineer, you must behave in an ethical and morally responsible way if you are
to be respected as a professional engineer.
Some of professional responsibility:
1. Software specification- In this activity the customer and software engineer define the
software that is the produce and specify the constraint on its operation.
2. Software development- In this activity the software is designed and programmed by
software development.
3. Software validation- In this activity the software us checked to ensure that it is what the
customer requires.
7
4. Software evolution- In this activity the software is modifying to reflect changing customer
and market requirements.
Q-7] Explain Coping with change.
1] System Prototyping:
The System Prototyping is the Process of building model of a system. It helps the system
designed to build an information System that is easy to manipulate for end users
Advantages.
Incremental Delivery:
In this, the customer identifies the services to the Provide by Software system. Then they
identify which of services are most important and which are less important to that.
1. Requirements analysis and definition- In this stage software system’s services, constraints,
and goals are established by consultation with system users.
2. System and software design- The systems design process allocates the requirements to
either hardware or software systems. It establishes an overall system architecture.
Software design involves identifying and describing the fundamental software system and
their relationships.
3. Implementation and unit testing- In this stage, the software design is realized as a set of
programs or program units.
Unit testing involves verifying that each unit meets its specification.
4. Integration and system testing- In this stage, the individual program units or programs are
integrated and tested as a complete software system.
5. Operation and maintenance- In this stage the software system is installed and put into
practical use.
2] Specification, development, and validation activities are interleaved rather than separate,
with rapid feedback across activities.
In this stage the given Requirements are modified to reflect the available components.
Where modifications are impossible, the component analysis activity may be re-entered to search
for alternative solutions.
3] System design with reuse –
In this stage the framework of the system is designed or an existing framework is reused.
4] Development and integration-
The Software that cannot be externally procured is developed, and the components and
COTS systems are integrated to create the new system.
4] Transition Phase-
The final phase of RUP model is concerned with moving the software system from the
development area to the end user area.
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
5] Testing
• Cost-Effective
• Security
• Product quality
• Customer Satisfaction
• Functional Testing
• Non-Functional Testing or Performance Testing
• Maintenance
3 It does not require executing the code. It requires executing the code.
1] Unit Testing
Unit Testing is a software testing technique which individual units of software i.e.,
group of computer program modules, usage procedures, and operating procedures are tested
to determine whether they are suitable for use or not.
1] Manual
2] Automated.
1. Jtest
2. Junit
3. NUnit
4. EMMA
5. PHPUnit
2] Component Testing
Component Testing is a type of software testing in which usability of each individual
component is tested. Along with the usability test, behavioural evaluation is also done for
each individual component.
Objective of Component Testing:
3] System Testing
System Testing is a type of software testing that is performed on a complete integrated
system to evaluate the compliance of the system with the corresponding requirements.
1] Requirements-based testing:
It is a testing approach in which test cases, conditions and data are derived from
requirements.
Stages in requirement-based testing-
1] Defining test completion criteria
48
2] Design test cases
3] Execute tests
4] Verify test
5] Track and manage defects
2] Scenario testing
It a method in which actual scenarios are used for tasting the software application
instead of test cases.
Test scenarios are created for following reasons-
1] ensures complete test coverage
2] real use of software application
3] Performance testing
It is a software testing process used for testing the speed, response time, reliability,
scalability of software application under particular workload.
Performance testing is checking a software program-
1] speed- determines application responds quickly
2] scalability- determines maximum user load the software application can handle
3] stability- determines if the application is stable under varying loads
1st Phase: The first phase of testing is done by in-house developers or software engineers.
2nd Phase: The second phase of alpha testing is done by software quality assurance staff for
additional testing in an environment.
• Software’s reliability
• Free up your team for other projects.
2] Beta testing-
1] Beta Testing is performed by real users of the software application in a real
environment.
2] beta testing uses black box testing
3] beta testing is performed at end user of the product
4] beta testing doesn’t require a testing lab
5] beta testing requires only few weeks of execution Types of Beta Testing:
Availability is the probability that the system is operational, and ready to use.
OR
1] Reliability is the probability a system will produce the correct output, which is not
2] Reliability can only be defined formally with respect to a system specification i.e., a
1] Fault avoidance
Development technique are used that either minimise the possibility of mistakes or trap
Verification and validation techniques that increase the probability of detecting and
correcting errors before the system goes into service are used.
3] Fault tolerance
53
Run-time techniques are used to ensure that system faults do not result in system
Reliability measurement:
• System description
• Safety requirement
• Design analysis
• Verification and validation