What is Software Engineering?

Perspectives

Areas

From Perspectives to Areas

From the above perspectives we can draw the following conclusions and how they impact on the different software engineering areas

Conclusion Results from Impacts on
Software engineers build software artefacts Definition of Software Engineering Software Process
These artefacts are sentences written in a language Software Development as a Formalisation Process Requirements Engineering, Software DesignSoftware Implementation
The sentences describe a solution to a problem Software Development as a Formalisation Process Software Design, Software Implementation
The problem is also described using a language Software Development as a Formalisation Process Requirements Engineering
Software engineers transform problem descriptions into solution descriptions Software Development as a Formalisation Process Software Process
Solution descriptions can become problem descriptions The Scope of Software Engineering Software Process
The focus of descriptions are how they can be executed by a computer The Scope of Software Engineering Requirements Engineering, Software DesignSoftware Implementation
The purpose of descriptions is the achievement of business goals Definition of Software Engineering Verification and Validation
The activities of understanding the problem and writing the solution are intertwined Software as Art and Engineering Software Process, Requirements EngineeringSoftware Design, Software Implementation
Software artefacts cannot be copied Software as a Social System Requirements Engineering
Software engineering deals with the size complexity of software artefacts Complexity in Software Engineering Project Management
The construction of software artefacts involves several stakeholders Complexity in Software Engineering Project Management
Stakeholders expect qualities from software artefacts Quality in Software Engineering Requirements Engineering

Annotated Reading

(1) Software and Obama’s Victory, by Martin Fowler

  • How the software drives the change of the organizational structure, clearly a E-system. Interestingly, the new organizational structure is inferred from existing software networking models, e.g. peer-to-peer.
  • It is a social system, which fosters patterned series of interrelationships, like topic focused meetings
  • The software system had to evolve due to their success, most of the systems started as ad-hoc applications
  • The problem, identify the potential voters, and the solution, generate classifications, became a new problem, how can these classifications be effectively created?
  • The software is also used to create an organization. In this case Enterprise Modelling is part of the software engineering tasks because the software artefact needs to have a model of the organization to promote local volunteer groups.
  • As a E-system, it changes reality and has to deal with the new reality it created but it was not designed for, “its raises a question of what happens should Republican supporters use it“. The need for evolution is also a key point in this case.

(2) ConversationalStories, by Martin Fowler

  • On the intertwine of problem understanding and solution constructions in agile methods.
  • Developers can change and propose new stories, write stories.
  • The strategy is named “conversational”.