SYSTEM MODELING

Based on the book by I.T. Hawryszkiewycz - "Introduction to Systems Analysis and Design" (Prentice-Hall).

This is a course intended for undergraduate students, who have completed introductory courses in information systems. As well as a suggested set of lectures, the following are also provided:

COURSE

The course contains the following lectures:
 
Lecture Subject Content Book chapter Supplementary material and overheads Study goal Reading
1 Introduction Outlines why a systematic approach is needed in system design. 
Describes different kinds of systems and why they need different design approaches.
1 Introductory  Critically examine existing systems and how they are built. Chapters 2 and 3 should also be read as background. 
2 Requirements analysis Introduces the development process emphasizing requirements analysis. 5 and 7 Overheads on 
requirements analysis 
 
 
Understand the importance of communication and how it changes during the development process. Chapters 5 and 7 on development processes and requirements analysis.
3 Structured systems analysis and data flows Describes an overview of structured systems analysis with introduction to data flows. 8 Learn the basic concepts 
of data flow diagrams. 
Learn how to judge the 
quality of a data flow diagram
Chapter 8
4 Data flows Complete data flows. 8 - Learn the difference between logical and physical data flow diagrams Continue chapter 8 concentrating on leveling and physical-logical analysis
5 Data analysis E-R modeling 9 . Learn the basic concepts of  E-R modeling Chapter 9 
6 Data analysis (cont).  Subsets and advanced issues 9 - Learn about subsets and how to draw E-R diagrams..
7 Object class models Introduction to object modeling 11 - Learn about the basic concepts of object models. -
8 Object models (cont). Describing object class models 11 - Learn about relationships between object classes -
9 Use cases Describing systems by use cases 11

 

Learn how to describe system dynamics by use cases -
10 Event traces and flows How event trace and flow diagrams are derived from use cases and used to construct object class diagrams 11
 
How to reduce use cases to object class models. -
11 Development processes Following an example 
through the design cycle
12 
Case 4
Follow a beginners process Starting with use cases to construct a class diagram -
12 Standards Describing the evolution to a standard modeling method. 12 - Describing UML, the Unified Modeling Language -
13 Comparing methodologies Compares structured systems analysis and object modeling and where they would be preferred. - - Understand differences between SSA and OO and their advantages. Review chapters 8 through to 12.
14 Design and implementation phases of the development process Describes how development goes on to implementation - - Develop a broad understanding of steps used in design and implementation. Overview chapters 14 through to 18.


KNOWLEDGE DEVELOPMENT
 

At the end of lecture 2 you should have some general knowledge of how computer system development is carried out. You should also be aware of why it is necessary to develop specifications that CLEARLY state user requirements.

You should know that system development process is made up of a number of closely related steps.
You should also be aware that there is a variety of development processes to deal with different kinds of user requirements.

At the end of lecture 6 you should know the main modeling methods used in structured systems analysis.

At the end of lecture 9 you should know the main modeling methods used in object development processes

At the end of lecture 10 you should be able to combine these modeling methods into a development process.


TUTORIALS

The tutorial program parallels the lecture program and suggests the study program that you should follow to understand system modeling.
 
Week Subject Reading and Exercises Tutorial goal
1 Introduction To many this will be a revision. Read Chapters 1,2 and 3. 
Ask yourself the following questions
Understand the importance of specification and processes used in development. To see why different processes may be needed for different applications.
2 Requirements analysis Some questions you may wish to ask yourself. 
Your tutor will go through the discussion question in Chapters 5 and 7 with you.
Understand the different development processes and how requirements analysis can differ for each kind of process.
3 Data flows Some questions you may wish to ask yourself to understand the basic DFD concepts. 
Then attempt Data flow exercises
To make sure you know some of the properties of good DFDs. You must clearly undertand 
  • The main DFD concepts. 
  • Context diagram and leveling. 
  • What data conservation is. 
  • Good naming principles. 
  • How scripts and DFDs go together. 
  • What data balancing is. 
4 Data flows Continue with Data flow exercises To understand the steps used to develop a DFD. Especially important is the difference between physical and logical DFDs. Learn to identify physical DFDs and convert them to logical DFDs.
5 Entity Relationship modeling Some questions you may wish to ask about the basic concepts. 
Then attempt the elementary ER Modeling Exercises to understand the basic conepts 
To understand the basic E-R 
modeling concepts. You should 
become familiar with 
  • Entity sets and entities
  • Relationship sets and relationships
  • Cardinality
  • N-ary relationships
  • Derived relationships
6 Further ER exercises Continue E-R exercises. Learn some additional concepts especially subsets. 
Apply E-R modeling to larger 
problems
7 Object Modeling Some important questions you may wish to consuder. Then try the 
Object Modeling Exercises
To understand the basic concepts of OO modeling and become familiar with: 
  • Object classes and object class diagrams
  • Object class features including properties and methods
  •  association and containment as two of the relationships between object classes
  • Basic ideas about inheritance and polymorphism.
  • Learn what object classes are and differences from E-R diagram. 
 
8 Object modeling (cont.) -
9 Use Cases Consider some question and then do the Use Case Exercises To describe the usage world using use cases. The difference between use cases and scenarios. How the use case model shows all the use cases.
10 Event trace and event flow Modeling  Consider some  questions and then do the Event Flow Exercises To learn ways to derive object classees from use cases using event trace and flow diagrams.
11 Development process Look at the important issues in the development process. Describe a beginners process 
 
To learn how the modeling techniques are combined into the development process.
12
Standards
 
Learn how some of the earlier techniques fit into methodologies. The trend to a standard methodology, UML.
13
Comparison
The difference between structured systems analysis and object modeling.


SELF ASSESSMENT QUESTIONS

You may wish to use the following questions to test your knowledge of the subject.