You are on page 1of 7

ASE

14 June 2023 14:38

****** SEQUENCE AND USE CASE DIAGRAMS ARE NOT AVAILABLE*********

1. What are the software engineering?


A. Definition:

• Software engineering is a detailed study of engineering


to the design, development and maintenance of
software.

• Software engineering was introduced to address the issues


of low-quality software projects.

• Problems arise when software generally exceeds timelines,


budgets, and reduced levels of quality

Communication: communicate with customers to


understand objectives and gather requirements
Planning: creates a “map” that defines the work by
describing tasks, risks and resources, work products, and
work schedule.
Modeling: Create a “sketch”, of what it looks like
architecturally, how the essential parts fit together, and
other characteristics.
Construction: code generation and testing.
Deployment: Delivered to the customer who evaluates
the products & provides feedback based on the evaluation.

2. Define reverse engineering with a neat sketch

• ANS:
• It is a process to achieve system specification by
thoroughly analyzing, and understanding the existing
system. This process can be seen as a reverse SDLC
model.

• Software Reverse Engineering is a process of recovering


the design, requirement specifications and functions of a
product from an analysis of its code. It builds a program
database and generates information from this.

• The purpose of reverse engineering is to facilitate the


maintenance work by improving the understandability of a
system and producing the necessary documents for a legacy
New Section 3 Page 1
system and producing the necessary documents for a legacy
system.

3. In what way a product can be related to a process?

The product and the process in software engineering are closely interconnected. The
product refers to the software or application being developed, while the process refers
to the methods and practices followed during its development lifecycle.
Quality: The quality of the product is influenced by the quality of
the process used to develop it.

Efficiency: A well-defined and streamlined process improves


efficiency in software development. Efficient processes help in
timely delivery, resource utilization, and minimizing rework,
ultimately leading to a better product.

4.Write a difference between system and web application software


A key difference between system software and web
application software lies in their primary purposes and
functionalities.
System software refers to the fundamental software that
operates and manages the computer system itself. It provides
a platform for running applications and facilitates
communication between hardware components. Examples of
system software include operating systems (e.g., Windows,
macOS, Linux), device drivers, firmware, and utility programs.
System software focuses on low-level tasks such as memory
management, file system management, and hardware
interactions. Its primary objective is to ensure the proper
functioning and coordination of hardware and software
resources.
On the other hand, web application software is designed
specifically for web-based environments and aims to provide
interactive experiences and services through web browsers.
Web applications are accessed over a network (typically the
Internet) and run on web servers. Users interact with these
applications using a web browser, and the application's
New Section 3 Page 2
applications using a web browser, and the application's
functionality and data are stored on the server. Examples of
web applications include online banking systems, e-
commerce websites, social media platforms, and online
collaboration tools. Web application software focuses on user-
centric features, such as user interfaces, data processing,
and communication with external systems.
In summary, while system software focuses on managing
computer hardware and providing a foundation for running
applications, web application software is designed to deliver
interactive experiences and services through web browsers in
a networked environment.
5.Write the difference between functional and non functional requirements

6.what are the bigger challenges face by the software development process?

Ans: The software development process encompasses various challenges that developers commonly
face. Here are some of the bigger challenges:

1. Requirements Management: Gathering and managing requirements can be a complex task.


Understanding and documenting the needs of stakeholders accurately is crucial.

2. Time and Resource Management: Estimating the time required for development tasks and effectively
allocating resources is a constant challenge.
3. Changing Requirements: Software projects often experience evolving requirements as stakeholders
gain more insights or market conditions change.
4. Communication and Collaboration: Successful software development relies on effective
communication and collaboration among team members, stakeholders, and clients.

5. Quality Assurance and Testing: Ensuring software quality through comprehensive testing is essential.
6. Security and Privacy: Developing secure software and protecting user data is critical.

7. Deployment and Maintenance: Deploying software to various environments and maintaining it


throughout its lifecycle can be challenging. Ensuring smooth updates, addressing compatibility issues,
and providing ongoing support require dedicated efforts.
8. Keeping Up with Technology:.Keeping up with these advancements, learning new skills, and adopting
suitable technologies can be a constant challenge.

7. what are the seven requirements of software engineering ?


ANS:
Requirement engineering consists of seven different tasks as follow:
1. Inception: Inception is a task where the requirement engineering asks a set of questions to
establish a software process. In this task, it understands the problem and evaluates with the

New Section 3 Page 3


establish a software process. In this task, it understands the problem and evaluates with the
proper solution. It collaborates with the relationship between the customer and the developer.
2. Elicitation: Elicitation means to find the requirements from anybody. The requirements are
difficult because the following problems occur in elicitation:
Problem of scope: The customer give the unnecessary technical detail rather than clarity of the
overall system objective.
Problem of understanding: Poor understanding between the customer and the developer
regarding various aspect of the project like capability, limitation of the computing environment.
Problem of volatility: In this problem, the requirements change from time to time and it is difficult
while developing the project.
3. Elaboration: In this task, the information taken from the user during inception and elaboration
and is expanded and refined in elaboration. Its main task is developing a pure model of software
using functions, features, and constraints of the software.
4. Negotiation: In a negotiation task, a software engineer decides how will the project be achieved
with limited business resources.To create rough guesses of development and access the impact of
the requirement on the project cost and delivery time.
5. Specification: In this task, the requirement engineer constructs a final work product. The work
product is in the form of software requirement specification
6. Validation :The work product is built as an output of the requirement engineering and that is
accessed for the quality through a validation step. The formal technical reviews from the software
engineer, customer and other stakeholders helps for the primary requirements validation
mechanism.
7. Requirement management: It is a set of activities that help the project team to identify, control
and track the requirements and changes can be made to the requirements at any time of the
ongoing project. These tasks start with the identification and assign a unique identifier to each of
the requirement. After finalizing the requirement traceability table is developed.

8.
what are different steps in negotiation requirements?

Negotiation is a complex process that involves several steps. Here are the different
steps involved in negotiation:
1.Preparation: This step involves gathering information and understanding the
requirements and objectives of both parties involved in the negotiation. It includes
identifying the desired outcomes, assessing the available resources, and researching
the other party's position.
2.Opening: The opening stage is where both parties present their initial positions,
objectives, and concerns. Each party outlines their expectations and priorities for the
negotiation.
3.Bargaining: This is the main phase of negotiation where both parties engage in a give-
and-take process. This step involves active communication, exploration of alternatives,
and creative problem-solving.
4.Problem-solving: In this step, both parties work together to identify and address any
underlying issues or obstacles that may be preventing a resolution.
5.Agreement: Once both parties have reached a consensus on the terms and conditions
of the negotiation, they formalize the agreement. This involves documenting the agreed-
upon terms, 6.Implementation: After the agreement is reached, the next step is to
implement the agreed-upon terms.
7.Review and evaluation: The final step involves reviewing the negotiation process and
evaluating the outcomes. Both parties assess whether the negotiated agreement is
meeting their expectations and objectives. This step helps identify lessons learned and
areas for improvement in future negotiations.

9.
What are principal of agile and explain
User requirements are expressed in extreme programing explain ?

• Agile Modeling (AM) is a practices-based


process that describes how to be an
effective modeler.
Agile Modeling (AM), should conform to. These
principles are:

1. Our highest priority is to satisfy the customer through


early and continuous delivery of valuable software.

New Section 3 Page 4


2. Welcome changing requirements, even late in
development. Agile processes harness change for the
customer’s competitive advantage.
3. Deliver working software frequently, from a couple of
weeks to a couple of months, with a preference to the
shorter time scale.
4. Business people and developers must work together
daily throughout the project.
5. Build projects around motivated individuals. Give
them the environment and support they need, and trust
them to get the job done.
6. The most efficient and effective method of conveying
information to and within a development team is face-to-
face conversation
. Working software is the primary measure of
progress.
8. Agile processes promote sustainable
development. The sponsors, developers, and
users should be able to maintain a constant
pace indefinitely.
9. Continuous attention to technical excellence
and good design enhances agility.
10. Simplicity—the art of maximizing the
amount of work not done— is essential.
11. The best architectures, requirements, and
designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on
how to become more effective, and then tunes
and adjusts its behavior accordingly.
10. explain
User requirements are expressed in extreme programing explain ?

Extreme Programming (XP) is an agile software development methodology that


emphasizes close collaboration between developers and customers throughout the
development process. In XP, user requirements are expressed and addressed through
various practices and techniques. Here's how user requirements are handled in
Extreme Programming:

1.User Stories: In XP, user requirements are typically expressed as user stories. User
stories are brief, simple descriptions of a specific feature or functionality from the
perspective of the end user. These stories capture the "who," "what," and "why" of a
requirement in a concise format.

2. 2.User Story Cards: User stories are often written on index cards or sticky notes,
referred to as user story cards.

3. 3.Iterative and Incremental Development: XP follows an iterative and incremental


development approach, where requirements are tackled in small, manageable

New Section 3 Page 5


development approach, where requirements are tackled in small, manageable
increments. User stories are prioritized based on their value and urgency, and the
development team focuses on implementing a subset of high-priority stories in each
iteration or sprint.

4. 4.Customer Collaboration: XP promotes close collaboration between the development


team and the customer or end user. Customers are actively involved in the development
process, providing continuous feedback, clarifying requirements, and validating
implemented features. .

5. 5.Test-Driven Development (TDD): XP places a strong emphasis on automated testing.


Test-driven development (TDD) is a core practice in XP, where developers write
automated tests before writing the actual code. that validate whether the implemented
functionality meets the desired requirements.

6. 6.Acceptance Tests: XP utilizes acceptance tests to verify that user requirements are
met. Acceptance tests are written based on user stories and serve as a set of criteria
that the implemented functionality must satisfy.

7. 7.Continuous Integration: XP emphasizes frequent integration of code changes and


continuous feedback. As the development progresses, the implemented features are
continuously integrated into the main codebase.

By adopting these practices, XP ensures that user requirements are continuously


refined, tested, and integrated into the development process.

11.Explain water fall model


The waterfall model is a sequential software development process that follows a linear and structured approach. It is called the "waterfall" model
because each phase flows downward to the next one, similar to a waterfall.

???Write your own content according to this


12.Summerize management software myth and

• Myth means, a false belief or idea


• Affect managers, customers (and other non-technical
stakeholders) and practitioners

• Are believable because they often have elements of


truth,
but …

• Invariably lead to bad decisions,


therefore …

Insist on reality as you navigate your way through


New Section 3 Page 6
• Insist on reality as you navigate your way through
software engineering
Myth1:

• “We already have a book of standards and


procedures for building software. It does provide my
people with everything they need to know …”
Fact:

• Software experts do not know all the requirements


for the software development.

• And all existing processes are incomplete as new


software development is based on new and different
problem.
It is important to recognize that implementing management software is a collaborative
process involving the software provider or vendor and the organization's internal
stakeholders. Open communication and a thorough understanding of the organization's
needs are crucial to ensure that the software is configured and customized
appropriately.
In conclusion, management software is not a one-size-fits-all solution. While it provides
a foundation for managing various aspects of an organization, customization and
adaptation are typically required to align the software with the specific processes and
requirements of each organization.

New Section 3 Page 7

You might also like