Please enable JavaScript.
Coggle requires JavaScript to display documents.
What is software engineering and what are software processes? - Coggle…
What is software engineering and what are software processes?
Definition of software engineering
The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines
idea = developing the software should be like any other engineering work
SWEBOK: Guide to the Software Engineering Body of Knowledge
Knowledge areas
Software design
Software construction
Software testing
Software maintenance
Software configuration management
Software engineering management
Software engineering process
Software engineering models and methods
Software quality
Software Engineering Professional Practice
Software Engineering Economics
Computing Foundations
Engineering Foundations
Software requirements
Body of knowledge
Model
Method
Definition of software process
Software process is the related set of activities and processes that are involved in developing, utilizing and evolving a software system
Five common factors
Specification
Implementation
Validation
Software deployment and IT service management
Further development
Software process is a systematic group of sequential activities and outputs related to them which all produce the software product.
Process models
They are used to depict similar processes with one common description = processes at typical level
Three level differentation:
Meta model
Process model
Process instance
It should be:
Descriptive
Instructive
Explanatory
Impacts to selection of the software process
Nature of the software
Environment
Size of the software
Human factors
Definitions for software quality
Characteristic features, properties etc.; to what extent do these meet the requirements of the customer/user
Level of superiority, excellence
The most important product for the customer
Customer satisfaction
Components that are objectively evaluted + subjectively evaluted + not to be evaluted
Apart from the price all other factors that influence the buying decision
Software engineering problems
Software crisis 1968
Projects exceeded the budget
Projects exceeded the schedule
Software were very inefficient
Software were of bad quality
Software did not meet the requirements
Projects were out of control and the maintenance of the code was difficult
Software were never delivered
Basic problems
Client's side
Users don’t know what they want
Client doesn’t want to commit oneself to the written documents
New requirements (features) keep coming, even though the deal is sealed
Communication doesn’t work
Client doesn’t want to hear about the technology
Representatives of the client don’t understand the nature of creating software
Implementor's side
Technical staff don’t usually understand the users’ needs (don’t understand what the users want)
"If you have a hammer, everything looks like a nail” in other words one keeps on doing the things old fashioned way
”I know better!”, ”This is a cool feature.” etc.
Communication doesn’t work