Soft Model Tool & Tech Critcal System总结

Problem statement for the given brief issue questions

Problem statement should contain 5W (when = when the issue occurs, where=where the issue occurs, why=why this is important, what=what is the issue, and who=who does the problem affect)

Writing functional and non-functional requirements for the given brief issue questions. Writing Use Case diagram for the given brief issue questions.

Tips: summary of using the arrows of Use Case Diagram

be aware of arrow pointing of the include (arrow point to sub-activity that been include) and extent (arrow point to main-activity)

example Use Case diagram

Design system architecture (e.g. Class diagram, Package diagram, MVC pattern) for the given brief issue questions.
Class diagram:

Tip: Summary of using arrow

Example Class diagram

Sequence Diagram (UML):

Tip: Summary of using arrow

What are design patterns and architecture patterns:

Architecture pattern is a description of component and connector types and a pattern of their runtime control and/or data transfer. Example of architecture pattern:

  • Model-View-Controller (MVC): having three logical components

​ o Model component - manage system data and associate operation.

​ o View component – how data is present to user

​ o Controller component – manage user interaction

  • Repository Pattern: managed in a central repository that is accessible to all system components. Components not interact directly with others but only through the repository.
  • Client-Server Pattern: system is organized into services, with each service delivered from a separate server.
  • Microservice Architecture Pattern: building a small independent application that communicates with each other for the entire system.

Design pattern is a description of the problem and the essence of its solution. There are 4 essential elements (Pattern name, Problem description, Solution description, Consequences) Example of design pattern:

  • Adapter Pattern (Structural: how class and object are composed to form larger structure) : When an exiting class performs the service that client needs but has different method name. Adater pattern can be applied.
  • Observe Pattern (Behavioral: the way of class and object interact. Communication between classes) : defined one to many, dependency between objects so that when one object change state, all will be updated automatically. (trigger)
  • Composite Pattern (Structural: how class and object are composed to form larger structure) : represent part, hierarchies of objects.

What is a Wireframe and what is it useful for

Wire Frame is a tool in any screen design process. It’s a schematic produced display where all of agreed features and functions within the web site specifications will appear. It is a Blueprint for layout, text and image placement.

The main purpose of using Wirefram is they are very cost effective, in that they save time further down line within project

Other useful stuff

Critical system: when the system failure it may have serious consequences.eg. People die if it failed (medical device).

Meaning of the words
Boundaries - Which problem needs to be solved?
Context – Where is the problem?
Stakeholder – Whose problem, is it?
Goal – Why does it need to be solved?
Scenarios – How might a software system help?
Constraints – (“Limit”) ??What is the difference between constraints and scope??
Feasibility and Risks – What might prevent us solving it?

Software Modelling – There are 8 design principles, in the exam 2014-2015 asking only 3 meanings of Modularization, Abstraction, and Encapsulation.

  • Modularization: separate the software into small pieces. Keep separate into small parts until only one component is made for one purpose.

  • Abstraction: focus only on important features only. Specify what need to be done
    e.g.

a. “computer 1 send message to server 2”

b. “computer1 retrieves the servers’ information, open TCP/IP connection, send the message, wait for response, and closes the connection”

So message a is abstraction as it is focus on important words only.

  • Encapsulation: Adding more detail from Abstraction step with only the essential information that needs to be carried out.
In Software Architectures there are 4+1 view model
  • Development view: illustrates a system from programmers (component diagram, package diagram)
  • Logical view: concern about functionality (class diagrams, state diagrams)
  • Physical view: depict system from system engineering (deployment diagram)
  • Process view: explain about process (activity diagram)
  • Scenario: (use case view)