Course Description
Modern information systems cover a wide range of applications, from the
realization of complex business processes, the accumulation of business
knowledge and the support of decision making, to documentation systems, and the
provision of personalized information services. The technological background of
information systems includes database systems, repositories, data warehouses,
information retrieval systems and communication technologies. For the design
and implementation of information systems special methodologies haven been
developed are still being developed. This course offers a systematic
introduction to information systems analysis and design and covers theoretical,
technical and methodological issues. The course will allow student to explore
and become familiar with various concepts, principles, and stages of
computer-based information systems analysis and design.
|
Course Contents
The course starts with a quick introduction to information systems analysis and
design explaining why analysis and design are important in the development of
computerized systems and introduce fundamental concepts such as those of
systems theory organizations. It then presents and discusses the stages of
information system development, using basic principles from software
engineering. Students are also exposed to techniques for gathering and
organizing information about an organization and how to transform this into a
feasibility study. We then concentrate on the activities of systems analysis
and the basic notation of the Unified Modeling Language (UML). In it we
introduce use cases, class diagrams, sequence diagrams, collaboration diagrams,
activity diagrams, and state-chart diagrams. The phase after requirements
analysis is system design. This part covers the transition to design, the
distinction between system design and object design, system architecture,
design patterns and the design of user interfaces and data storage. Throughout
the course we emphasize the use of CASE tools as aids for systems analysis and
design, and in particular the use of the standardized modelling language, UML.
This is a pragmatic course. The techniques taught are by-and-large heuristics
that have been shown to improve the quality of an information system, and
reduce the time it takes to complete it. Because of its pragmatic nature, the
course concentrates on apprenticeship techniques where students work in groups
on an actual information system problem.
|
Course Objectives
Upon completion of this course, each student should be able to:
-
Describe the role of analysis and design in software engineering
-
Gather and organize information about an organization and transform this into a
feasibility study
-
Specify the functional and non-functional requirements of an information system
and develop a description of its usage with Use Cases
-
Model various aspects of a system (structure, behaviour, interaction, states,
constraints, etc.)
-
Develop richer descriptions of a design using UML diagrams (including sequence
diagrams, class diagrams, state charts, and activity diagrams) and other
techniques
-
Specify the global and the software architecture of an information system
-
Design the database and the user interface of an information system
-
Understand mechanisms that can increase a design's flexibility and other good
design practices
|
Prerequisites:
Object Oriented Programming (HY 252)
|
Corequisites:
Database Systems (HY360)
Software Engineering (HY352)
|