Korte uitleg over hoe de course gaat verlopen en uitleg over de requirements specification.

Downloads

Powerpoint
Formative exam week 1 and 2 Questions (Without answers)
Formative exam week 1 and 2 Questions (With answers)

Aantekeningen

Because software is complex we need a methodology. This is needed so we can plan, control and give an estimate to the client.

Different roles in software development:

  • Customer: Requires a computer system.
  • Software engineer: Understands how the customer wants the program to be and designs it accordingly.
    • This design is not always the right way to do it. Needs to work with the programmer to find a solution.
  • Programmer: Implements the design that the software engineer made. (Can be the same person as the engineer)

Software development methods

Three different methods:

  • Waterfall: Finish a step before moving to the next one.
  • Interative / incremental: Develop an increment of functionality and repeat that in a feedback loop.
  • Agile: user feedback is essential and loops with several levels of detail.

Software development life cycle (SDLC)

  • Defines the general steps that are taken to build the software.
  • Defines responsibilities of the members during every step.
  • Some steps overlap, but there are phases defined which has to be completed.
  • If a step is not successfull you can fall back to an earlier step.

Waterfall
Waterfall method

Source: Wikipedia

Unidirectional, there is no way back. You’ll have to finish the step before moving to the next step.

Interative and incremental
Iterative and incremental method

Source: Wikipedia

The four middle steps will be repeated untill the end user is completely happy. The end user is involved in the evaluation phase.

Agile
Customer will be involved with everything. There are multiple methods within Agile that do the same but work in different ways. An example for a method that is agile, is Scrum.

Requirements
There are two different sorts of requirements:

  • Functional requirements
    • What should the system do.
      • As a user I need to be able to sign in.
  • Non-functional requirements
    • Under what conditions does the system have to do it.
      • Sign in page needs to load within a second.
    • Constraints
      • What limitations does the system have.
        • We can only use Ubuntu as server.

ISO 25010

Modeling

Best way to start modeling is to step into the world of the users and the customers. This way you start to understand the problem more and you can make more accurate models.

4+1 view

With this view you are modeling multiple views from multiple angles of the system to be made. this way you can show your customer how the software is going to look from every standpoint. These views contain views from different stakeholders, suach as: end-users, developers and project managers.

4+1 view

Source: Wikipedia

  • Logical view:
    • Shows an abstract description of the system en the kind of interaction.
    • UML: State Diagrams, Class diagrams
  • Development view:
    • Illustrates the system from the programmers perspective.
    • UML: Component diagram, Class diagram
  • Process view:
    • Explains the systems processes and shows the runtime behavior of the system.
    • UML: Activity diagrams, sequence diagrams
  • Physical view:
    • Concerned with how the system looks when it is deployed. Which physical connections have to be made.
    • UML: Deployment diagrams
  • Scenarios
    • Describes the functionality of the system from the perspective of the user.
    • UML: Use-case diagram

op pagina 61 tot 78 van de powerpoint staat een summary met wat tips.