Modelling information systems Fundamentals of Information Technology Session 4 Models • Models are abstractions, which allow people to concentrate on the essentials of a system by omitting non-essential details (The tube map has no details of trains or staff, road or rivers). • Models are simplifications: they help us to understand large, multi-faceted, complex systems. • Models help us to solve problems without having to build concrete artefacts (e.g. we can build a model of a bridge before actually building the bridge – very helpful). • Models provide a common language of description (modelling language) so that we can communicate the complexity of systems to others. Models • Models are used to represent problem situations. • A number of models may be used to provide distinct views of the same problem situation (here the London transport infrastructure). Models and information systems • Information systems have several different aspects that need to be modelled. – Hardware – Software • Functionality (what the system does) • Data storage (what data the system holds) • User interface (how the user interacts with the system) – Network/communications • When designing IS, each aspect is modelled individually giving different views of a system. • Having a range of views helps to reduce complexity and help designers identify and remove potential problems at an early stage. Static and dynamic models • Models need to represent both the static and dynamic elements of a system. • Static elements are those elements that do not change over time (e.g. hardware or data structures). • Dynamic elements are those elements which change as the system is used (e.g. a bank account balance). • Modelling dynamic elements is often referred to as process modelling. • Modelling data is often referred to as data modelling. Modelling languages • Modelling languages are systems of notation that use one or more diagramming techniques. • A diagramming technique consists of a set of graphical symbols for representing objects, processes and relationships in information systems. • Modelling languages and diagramming techniques are designed to be: – – – – – Clear and expressive enough to represent complex reality Unambiguous Universal Easy to produce Supported by drawing tools Modelling languages • There are a number of different modelling languages available to designers of information systems. Amongst the most commonly encountered are: – – – – Unified Modelling Language (UML) Structured Systems Analysis and Design Method (SSADM) Business Process Modelling Jackson Structured Programming UML diagramming examples Use case diagram Activity diagram SSADM diagramming examples Guest guest Reservation number Confirm reservation Reservation details reservations makes Confirmed reservation reservation Room number Allocate room Unoccupied rooms rooms takes Staff Data flow diagram Entity relationship diagram Business Process Modelling diagramming Examples Send confirmation No Start Receive reservation request Check occupancy end Hotel is full? Yes Send apology and alternative Flowchart Objects, processes, relationships • Diagramming notations are generally made up of symbols for objects, processes and relationships. • Objects are things; they are referred to using nouns. Guest Reservation Room • Processes are actions; they are referred to with verbs. Confirm reservation Allocate room receive reservation request Check occupancy • Processes have inputs and outputs and usually result in some form of transformation. Reservation Confirm reservation Confirmed reservation Objects, processes, relationships • Relationships exist between two or more objects. • In systems diagramming they are actions, and are referred to with verbs. makes Guest Reservation Modelling tools • A number of tools exist for creating models of information systems. • Some are specific to particular modelling languages (e.g. Rational Rose for UML). • Others are general and provide the notation for many different modelling languages and diagramming techniques (e.g. Microsoft Visio). • Simple diagrams can also be created using basic drawing tools like Word, although it is difficult to produce professional level drawings. Modelling tools • One of the most popular general modelling tools on the market is Visio. • SCSIS has Visio installed in its labs. It can also be downloaded free from ELMS. • Visio has a huge range of diagramming notations including: – – – – – – – – UML SSADM Business Process Workflow Hardware Networks Web Databases • It creates diagrams that can be imported into other documents, such as Word. Flowcharts • Flowcharts are a basic and much used diagramming technique that have their origin in Business Process Modelling. • They are mainly used to model simple business or organisational processes, but they can be used to model any kind of process (e.g. business, mathematical, etc.). Send confirmation Start Receive reservation request No Check occupancy end Hotel is full? Yes Send apology and alternative Basic flowchart symbols Checkout? yes Start terminator Process flow Add product to cart Checkout? process decision no Add product to cart loop • A terminator indicates the beginning or end of a system or sub-system. • A process flow shows the direction of the process. • A process indicates an action within the system. • A decision shows a conditional point in the system. where two or more outcomes are possible. • A loop shows an action that can be repeated. Designing a flowchart 1. Brainstorm the system you want to model. 2. Define scope of the system (e.g. start point and end point). 3. Define and logically order each process in the system. 4. Create the flow between each process. 5. Include any decision branches, loops, terminations. 6. Check the completed chart and look for logic problems, inaccuracies, etc.. 7. Redraw the flowchart until you are satisfied it is a correct model of the system. Hands-on exercises • Now do – Activity 4 – Modelling information systems