0% found this document useful (0 votes)
20 views12 pages

Se Ans

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views12 pages

Se Ans

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 12

Section A

1. What is the prime objective of software engineering?

Ans :- The prime objective of software engineering is to help developers obtain


high-quality software. This quality is achieved through the use of Total Quality
Management (TQM), which enables continuous process improvement, leading to
the development of more established approaches to software engineering.

2. Define software engineering paradigm?

Ans :- Software engineering paradigms define the fundamental principles,


methodologies, and practices used to develop high-quality software systems.

3.Give the importance of software engineering?

Ans :-Software engineering is a critical field that designs, develops, and tests
technology to solve real-world problems. It's important because software is used in
almost every industry and business, and it can help businesses work more
efficiently.

4. Distinguish between process and methods?

Ans:- The software process is a set of steps or a set of activities that are used
during the development of software. And if we perform all the steps accordingly
then the expected result can be produced that is going to be efficient and provides
value to the customer.

The prescribed process in which a particular task or activity is performed as per the
objective is known as Method. It provides standardized steps to perform a task.
Methods avoid confusion and ambiguity and vary from task to task.

5. Write any two characteristics of software as a product?

Ans :- 1. Intangibility: Unlike physical products, software is intangible and cannot


be physically touched or held. Its value lies in its functionality and ability to solve
problems, rather than its physical form.

2. Scalability: Software can be easily scaled to accommodate a larger user base or


increased demand. This is in contrast to physical products, which may require
additional manufacturing or resources to meet growing demand.

6. What are the non-function requirements of software engineering?

Ans:- Non-functional requirements (NFRs) are constraints or requirements that


specify the quality of software. They address important quality issues that can
affect users, clients, and developers, and can lead to inconsistent software and cost
overruns.

7. What is data dictionary? How is it used in software engineering?

Ans:- In software engineering, a data dictionary is a set of information about the


system and its components, such as databases, programs, file, and tables.A data
dictionary is used to catalog and communicate the structure and content of data,
and provides meaningful descriptions for individually named data objects.

8.What is the software architecture?

Ans:- A software architecture is an abstract view of a software system distinct from


the details of implementation, algorithms, and data representation.

9. Why testing is important with respect to software?

Ans:- Software testing is imperative, as it identifies any issues and defects with the
written code so they can be fixed before the software product is delivered.
Improves product quality. When it comes to customer appeal, delivering a quality
product is an important metric to consider.

10. Mention the advantages of CASE tools?

Ans :- CASE tools offer several advantages,

a) including improved productivity

b)enhanced collaboration,

c) better quality assurance,

d) automated documentation

e) standardization, and effective risk management.


Section -B

Q2. Identify the umbrella activities in software engineering process?

Ans:- Software engineering is a collection of interconnected phases. These steps


are expressed or available in different ways in different software process models.
Umbrella activities, such as project management, quality assurance, and
documentation, support these phases, ensuring consistency, quality, and efficient
progress throughout the development process.

Umbrella activities consist of different tasks:

1.Software Project Tracking and Control

2. Formal Technical Reviews

3. Software Quality Assurance

4. SCM or Software configuration management

5. Document Preparation and Production

6. Re-usability Management

7. Measurement and Metrics

Q3.Explain the feasibility studies.What are the outcomes? Does it have either
implicit or explicit effects on software requirements collection?

Ans :- A feasibility study for software engineering analyzes all aspects of a project
before it begins, including technical, economic, financial, legal, and environmental
considerations. The study's primary goal is to determine if the project is feasible to
complete within the given time frame and budget constraints. The process
involves:

a) Collecting data

b) Evaluating different aspects of the project based on specific parameters

c) Reaching a consensus regarding whether or not it is feasible to complete the


project .

Q4. Describe how softwarev requirements are documented? State the importance
of documentation?

Ans :- Software documentation is a written piece of text that is often accompanied


by a software program. This makes the life of all the members associated with the
project easier. It may contain anything from API documentation, build notes or just
help content. It is a very critical process in software development. It’s primarily an
integral part of any computer code development method.

Importance of software documentation :

1. Write from reader’s point of view:- It’s important to keep in mind the targeted
audience that will be learning, and working through the software’s documentation
to understand and implement the fully functional robust software application and
even the ones who will be learning for the purpose of using the software.

2. Avoid unnecessary repetition:

While the idea of hyperlinking and backlinking may seem redundant at the
moment, but it aids in avoiding the need of redundancy. The back-end database
stores every piece of information as an individual unit and displays it in various
different variety of context so redundancy at any point will not be maintainable and
is considered a bad practice.

3. Follow a certain standard organization:

In order to maintain the professionalism, accuracy, and precision of the document a


certain set of principles must be followed taking reference from other software
documentations that would aid in organizing and structuring the content of the
documentation in a much productive and organized way.

Q5. Write a short note on user interface design process?

Ans:- User interface (UI) design is the process of crafting interfaces that are both
aesthetically pleasing and intuitive to use. It's about creating a seamless bridge
between humans and technology.

Key Stages:
1. Define Goals & Research:

Establish the project's objectives and conduct user research to understand their
needs, expectations, and pain points.

2. Ideation & Prototyping:

Brainstorm and sketch different design concepts, then translate them into low-
fidelity prototypes for early testing and feedback.

3. Visual Design & Usability Testing:

Refine the visual elements like layout, typography, and color scheme. Conduct
usability testing to identify and address any usability issues.

4. Iteration & Refinement:

Based on user feedback, iterate and refine the design until it meets usability and
accessibility standards.

5. Implementation & Launch:

Develop the final interface based on the approved design and launch the product.

Q6.Justify "Design is not coding and coding is not design"?

Ans:- Coding is defined as computer language or programming used for


developing an application. The designing in computer language refers to website
development based on html script.

Designing a websites with attributes and framing on right place is different from
set of lines denoting the programming language with huge content which is
basically the backend process. Hence coding is part of designing. It is not
designing, in the same manner design is not coding.

Q7. Why the software needs maintainance ?Explain in detail about the
maintainance process?

Ans:- Software maintenance is the process of keeping software systems running


correctly, efficiently, and securely, while ensuring they meet user needs. It can
involve fixing bugs, adding new features, improving performance, or updating
software to work with new hardware or software systems.

Reasons for maintenance

Prevent deterioration: To prevent the software from deteriorating as it adapts and


changes

Improve reliability: To identify and fix bugs and errors, preventing them from
causing system failures or impacting user experience

Adapt to changes: To adapt to changes in user needs, new technologies, and


regulations

Maintenance process Problem identification and analysis, Design, Implementation


and software testing, Deployment and monitoring, and Continuous improvement.

Section - C

Q8. Explain waterfall model for software life cycle and discuss various activities in
each phase?

Ans :- The Waterfall Model was the first Process Model to be introduced. It is very
simple to understand and use. In a Waterfall model, each phase must be completed
before the next phase can begin and there is no overlapping in the phases. The
waterfall model is the earliest SDLC approach that was used for software
development.

the different phases of the waterfall model are :-

Requirements: The first phase involves understanding what needs to design and
what is its function, purpose, etc. Here, the specifications of the input and output or
the final product are studied and marked.

System Design: The requirement specifications from the first phase are studied in
this phase and system design is prepared. System Design helps in specifying
hardware and system requirements and also helps in defining overall system
architecture. The software code to be written in the next stage is created now.

Implementation: With inputs from system design, the system is first developed in
small programs called units, which are integrated into the next phase. Each unit is
developed and tested for its functionality which is referred to as Unit Testing.

Integration and Testing: All the units developed in the implementation phase are
integrated into a system after testing of each unit. The software designed, needs to
go through constant software testing to find out if there are any flaws or errors.
Testing is done so that the client does not face any problem during the installation
of the software.

Deployment of System: Once the functional and non-functional testing is done,


the product is deployed in the customer environment or released into the market.

Maintenance: This step occurs after installation, and involves making


modifications to the system or an individual component to alter attributes or
improve performance. These modifications arise either due to change requests
initiated by the customer, or defects uncovered during live use of the system. The
client is provided with regular maintenance and support for the developed
software.

Q9 What are the characteristics of a good design ? How design evaluation is


performed?

Ans:- The design phase of software development deals with transforming the
customer requirements as described in the SRS documents into a form
implementable using a programming language. The software design process can be
divided into the following three levels or phases of design:

1. Interface Design

2. Architectural Design

3. Detailed Design

Interface design is the specification of the interaction between a system and its
environment. This phase proceeds at a high level of abstraction with respect to the
inner workings of the system i.e, during interface design, the internal of the
systems are completely ignored, and the system is treated as a black box. Attention
is focused on the dialogue between the target system and the users, devices, and
other systems with which it interacts. The design problem statement produced
during the problem analysis step should identify the people, other systems, and
devices which are collectively called agents.

Interface design should include the following details:

1.Precise description of events in the environment, or messages from agents to


which the system must respond.

2.Precise description of the events or messages that the system must produce.

3.Specification of the data, and the formats of the data coming into and going out
of the system.

Architectural design is the specification of the major components of a system,


their responsibilities, properties, interfaces, and the relationships and interactions
between them. In architectural design, the overall structure of the system is chosen,
but the internal details of major components are ignored. Issues in architectural
design includes:

1.Gross decomposition of the systems into major components.

2.Allocation of functional responsibilities to components.

3.Component Interfaces.

4.Component scaling and performance properties, resource consumption


properties, reliability properties, and so forth.

5.Communication and interaction between components.

Detailed design is the specification of the internal elements of all major system
components, their properties, relationships, processing, and often their algorithms
and the data structures. The detailed design may include:

1. Decomposition of major system components into program units.

2.Allocation of functional responsibilities to units.

3.User interfaces.
4.Unit states and state changes.

Q10. What do you mean by integration testing? Explain their outcomes?

Ans . Integration testing is the process of testing the interface between two
software units or modules. It focuses on determining the correctness of the
interface. The purpose of integration testing is to expose faults in the interaction
between integrated units. Once all the modules have been unit-tested, integration
testing is performed.

here are some outcomes:-

a) Identify the components: Identify the individual components of your application


that need to be integrated. This could include the frontend, backend, database, and
any third-party services.

b) Create a test plan: Develop a test plan that outlines the scenarios and test cases
that need to be executed to validate the integration points between the different
components. This could include testing data flow, communication protocols, and
error handling.

c) Set up test environment: Set up a test environment that mirrors the production
environment as closely as possible. This will help ensure that the results of your
integration tests are accurate and reliable.

d) Execute the tests: Execute the tests outlined in your test plan, starting with the
most critical and complex scenarios. Be sure to log any defects or issues that you
encounter during testing.

e) Analyze the results: Analyze the results of your integration tests to identify any
defects or issues that need to be addressed. This may involve working with
developers to fix bugs or make changes to the application architecture.

Q11. Write short note on

a)COCOMO estimation criteria.

b) Software metrics

Ans :- a) COCOMO Estimation Criteria:- The COCOMO Model is a procedural


cost estimate model for software projects and is often used as a process of reliably
predicting the various parameters associated with making a project such as size,
effort, cost, time, and quality. It was proposed by Barry Boehm in 1981 and is
based on the study of 63 projects, which makes it one of the best-documented
models.

The key parameters that define the quality of any software product, which are also
an outcome of COCOMO, are primarily effort and schedule:

1) Effort: Amount of labor that will be required to complete a task. It is measured


in person-months units.

2) Schedule: This simply means the amount of time required for the completion of
the job, which is, of course, proportional to the effort put in. It is measured in the
units of time such as weeks, and months.

b) Software metrics :- A software metric is a measure of software characteristics


which are measurable or countable. Software metrics are valuable for many
reasons, including measuring software performance, planning work items,
measuring productivity, and many other uses.

Within the software development process, many metrics are that are all connected.
Software metrics are similar to the four functions of management: Planning,
Organization, Control, or Improvement.

Software metrics can be classified into two types as follows:

1. Product Metrics: These are the measures of various characteristics of the


software product. The two important software characteristics are:

a) Size and complexity of software.

b) Quality and reliability of software.

These metrics can be computed for different stages of SDLC.

2. Process Metrics: These are the measures of various characteristics of the


software development process. For example, the efficiency of fault detection. They
are used to measure the characteristics of methods, techniques, and tools that are
used for developing software.

Q12. Write briefly on

a) CASE :- Computer-aided software engineering (CASE) is the implementation of


computer-facilitated tools and methods in software development. CASE is used to
ensure high-quality and defect-free software. CASE ensures a check-pointed and
disciplined approach and helps designers, developers, testers, managers, and others
to see the project milestones during development.

IT can also help as a warehouse for documents related to projects, like business
plans, requirements, and design specifications. One of the major advantages of
using CASE is the delivery of the final product, which is more likely to meet real-
world requirements as it ensures that customers remain part of the process.

It illustrates a wide set of labor-saving tools that are used in software development.
It generates a framework for organizing projects and to be helpful in enhancing
productivity. There was more interest in the concept of CASE tools years ago, but
less so today, as the tools have morphed into different functions, often in reaction
to software developer needs. The concept of CASE also received a heavy dose of
criticism after its release.

b) Software complexity measure:- Software complexity is a natural byproduct of


the functional complexity that the code is attempting to enable. With multiple
system interfaces and complex requirements, the complexity of software systems
sometimes grows beyond control, rendering applications and portfolios overly
costly to maintain and risky to enhance. Left unchecked, software complexity can
run rampant in delivered projects, leaving behind bloated, cumbersome
applications.

The software engineering discipline has established some common measures of


software complexity. Perhaps the most common measure is the McCabe essential
complexity metric. This is also sometimes called cyclomatic complexity. It is a
measure of the depth and quantity of routines in a piece of code.

Using cyclomatic complexity measured by itself, however, can produce the wrong
results. A module can be complex, but have few interactions with outside modules.
A module can also be relatively simple, but highly coupled to many other modules,
actually raising the overall complexity of the codebase beyond measure. In the first
case, complexity metrics will look bad, while in the second the complexity metrics
will look good – but the result will be deceptive. Thus, it is important to also
measure the coupling and cohesion of the modules in the codebase to get a true
system-level software complexity measure.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy