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

Tutorial1 20 09 23

Software engineering is a modeling, problem-solving and knowledge acquisition activity. It involves building models of systems, solving problems through an engineering method, and acquiring knowledge through a non-linear process. Software engineering aims to capture context and rationale for decisions through rationale management.

Uploaded by

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

Tutorial1 20 09 23

Software engineering is a modeling, problem-solving and knowledge acquisition activity. It involves building models of systems, solving problems through an engineering method, and acquiring knowledge through a non-linear process. Software engineering aims to capture context and rationale for decisions through rationale management.

Uploaded by

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

SOFTWARE ENGINEERING

What is software engineering?

 Software engineering is a modeling activity.


software engineers build many different models of the system and of the
application domain
 Software engineering is a problem-solving activity
 Software engineering is a knowledge acquisition activity.
software engineers collect data, organize it into information, and formalize
it into knowledge
 Software engineering is a rationale-driven activity.
Need to capture the context in which decisions were made and the
rationale behind these decisions.
1. Modeling

 One of the basic methods of science is modeling.


 A model is an abstract representation of a system that enables us to answer
questions about the system.
 Models also allow to visualize and understand systems that either no
longer exist or that are only claimed to exist.
2. Problem solving

 Engineering is a problem-solving activity.


 The engineering method includes five steps:
1. formulate the problem
2. analyze the problem
3. search for solutions
4. decide on the appropriate solution
5. specify the solution

 Software engineering is an engineering activity. It requires


experimentation
3. Knowledge acquisition

 Knowledge acquisition is a nonlinear process.


 There are several software processes that deal with this problem by avoiding
the linear dependencies.
1. Risk-based development attempts to anticipate surprises late in a
project by identifying the high-risk components.
2. Issue-based development attempts to remove the linearity altogether.
Rationale management

 Assumptions that developers make about a system change constantly.


 Design and implementation faults discovered during testing and usability
problems discovered during user evaluation trigger changes to the solution
models.
 It is necessary to capture and understand the context in which each design
decision was made. This additional knowledge is called the rationale of the
system
Software engineering concepts
 A Project, whose purpose is to develop a software system.
 It is composed of a number of Activities.
 Each Activity is in turn composed of a number of Tasks
 A Task consumes Resources
 Resources produces a Work Product
 A Work Product can be either a System, a Model, or a Document.
 Resources are either Participants, Time, or Equipment.
Participants and roles

 Developing a software system requires the collaboration of many people.


 The client, the product manager, end users
 We refer to all the persons involved in the project as participants.
Systems and models

 System to refer to the underlying reality


 Model to refer to any abstraction of the reality.
 The project schedule, its budget, and its planned deadlines are models of the
development project.
Work products

 A work product is an artifact that is produced during the development.


Ex:document or a piece of software

 work product for the project’s internal consumption as an internal work


product.
 work product for a client as a deliverable.
Activities, tasks, and resources

 An activity is a set of tasks that is performed toward a specific purpose.


Ex: Delivery, Management
 Activities are also sometimes called phases.
 A task represents an atomic unit of work that can be managed.
 Resources are assets that are used to accomplish work.
Ex: time,equipment, and labor.

You might also like