software engineering is the application of
engineering to software .
We deal with software systems that are large and complex ,
built
by teams ,
exist in many versions .
Last many
years ,
and undergo
In software look
changes .
engineering ,
we at the
system as a whole .
Engineers abstract
away from a number of details that can
safely be
ignored .
I
idea
1
The with abstraction is to safely neglect the irrelevant details
"
for the task I want to do
A model is a simplified or partial representation of reality ,
defined in
order to accomplish a task or to reach an
agreement .
An abstraction is the
activity of
generalizing setting aside specific
and individual features .
Software design is activity of land using ) models
the
creating representing
an abstract view of the system .
software design ==
decision making
Design decisions are made on models .
There is a
design tradeoff :
design
"
the concept of
taking a decision in a
system usually trades off
some of the consequences this decision can have
"
A model represents a real There three features of model
system are a
good
:
.
i.
mapping feature a model is based on an original system
2. reduction feature reflects (relevant) selection of the
a model only a
original 's properties
3. pragmatic feature a model needs to be usable in place of an original
-
with respect to some purpose
~ model created
~
the thing that subject model intent with the intent
the model is about that satisfies
uses the model to a particular purpose
satisfy Iachieve his goals consumer
A consumer
may be human or software .
Consumer and intent influence
the abstraction level of a model .
The importance of a model
may vary .
, The purpose of a model can be descriptive or prescriptive .
'
descriptive purpose the model is created for describing a
phenomenon / subject
:
sketches and throw -
away models have a short life time and
are used to understand the reality better and to explore
possible solutions .
models of ideas and vision about the system to be
for
developed to exploit the model
having feedback before
implementing the
system .
models extracted from a
running system or source code
-
-
prescriptive purpose the model is meant to guide the
realisation of the system being modeled :
They guide the development of the system
The most common consumers of prescriptive models are
-
code
generators
Prescriptive models are often used for development
software development process
The software development process is the ordered set of activities .
of
''
the
The
goals of a development process are to determine order
stages involved in software development and evolution , and to establish
the transition criteria for
progressing from one stage to the next .
Thus ,
a process model addresses the following software project questions :
what shall we do next?
"
How shall continue do it ?
long we to
The main development activities are :
'
requirements engineering create the software specification .
specifies the main features of the system .
defines the quality to be met .
'
design detailed design of the
system descriptive and/or
bridge prescriptive) based on the
requirements .
'
implementation the executable software
testing
'
, The waterfall development process
-
The process exists in many variants ;
requirements all sharing sequential flow style .
definition .
Issues are poor agility ,
poor quality ,
and high risk .
system and i
document -
driven
software design
implementation
and unit testing
integration and
system testing
operation and
maintenance
Agile Traditional
#
§ continuous one -
off
€ Analysis Design Code Test
% activities activities
§
§
5
Agile principles
Agile methods iterative development with :
-
are
processes
g frequent releases of the product
-
1
A continuous interaction between the development
team and customer
*
a
a
reduce product documentation
continuous and
systematic assessment of
produced value and risks
in
"
the main characteristic of
agile is that a sprint all phases
"
are covered
"
in feature implemented
"
a sprint ,
one is selected to be
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller lauraduits1. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $7.04. You're not tied to anything after your purchase.