What is SW ENGINEERING?
Software engineering is an engineering discipline that is concerned with all aspects of software production from initial conception to operation and maintenance
What are some concrete software processes?
Why is SW engineering difficult?
What is software?
Software product can either be:
- Generic - developed to be sold to a general market (excel or word)
- Custom - developed for a single customer according to their specification
What does it mean when saying SW is a modeling activity?
Because we have a problem and solution domain, which we can model i OOP
Fortolker jeg fra hans lorte slide
Working definition of software engineering:
Software Engineering is a collection of techniques, methodologies, and tools that help with the production of a high quality software system developed with a given budget before a given deadline while change occurs
Challenge: Dealing with complexity and change
Is knowledge acquisition (knowledge gaining) linear?
It is NOT linear
How would you outline software engineering?
What are ‘Techniques (Methods)’ in software development?
Our notes:
A process of outputting results using e.g. algorithms.
Lecture slides:
Formal procedures for producing results using a well-defined notation, such as algorithms and software processes.
How would you describe the problem-solving activity in software?
Which domains are difficult in SW development?
Problem (Application) domain and solution domain. Explanation: Deeply understanding the needs and context of the end users (problem domain) and then skillfully creating a technical solution (solution domain) that meets those needs effectively (CHADDY)
What are the stages in OOSD (object oriented software development)?
Define ‘Methodology’ in the context of software development.
A collection of techniques applied across software development, unified by a philosophical approach. Example: Agile methods.
Software engineering is a rationale managament activity. What does rationale management activity entail?
What are ‘Tools’ in software engineering?
Instruments or automated systems used to accomplish a technique. Examples include Eclipse and continuous integration.
What activities are common to all software processes?
Software specification
- Establish what functional (services) and non-functional (system’s operation and development) requirements there should be
Software development
- Software design (realise specifications) and implementation (translate design into executable)
Software validation
- Verification: “Are we building the product right?”
- Validation: “Are we building the right product?”
Software evolution
- Change existing software systems to meet new requirements. The software must evolve to remain useful
Explain this picture:
What does Barry’s variant of the Waterfall model contain?
It integrates quality assurance through validation and verification and feedback throughout the whole model rather than just through the neighbouring phases.
Her
A software process (model) describes:
systematic, structured and quantifiable
approaches to solve a repeatable manner
What are the steps of Barry’s variant of the Waterfall model?
System feasibility (Validation), SW Plans and Requirements (Validation), Product Design (Verification), Detail design (Verification), Code (Unit Test), Integration (Product Verification), Implementation (System Test), Operation + Maintenance (Revalidation).
A software process (model) is:
an abstract representation of a process. It presents a description of a process from some particular perspective.
What is the Spiral model and what are the goals?
It’s iterative and incremental. With each iteration the system scope is extended and the system grows step by step.
It focuses on the risk and minimises it.
Her
A software process addresses
in full or in part:
Define the steps of the Spiral model.
a. Define goals: specific objectives for
the phase are identified
b. Analyse risks: risks are assessed and activities are put in place to reduce the key risks
c. Development and validation: a development model for the system is chosen which can be any of the generic models.
d. Plan next iteration: the project is
reviewed and the next phase of the
spiral is planned.