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 introduces 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. It then concentrates on the activities of systems analysis and the basic notation of the Unified Modeling Language (UML). It introduces 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 focus is given on 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.
Learning Objectives:
By completing this course, each student should
have understood the role of information systems analysis and design
be acquainted with collecting and organizing information about an organization and know how to prepare a feasibility study for an information system
be able to specify the functional and non-functional requirements of an information system as well as its Use Cases
be able to model the various aspects of an information system (structure, behavior, interaction, situations, integrity constraints, architecture, etc.)
be able to design the architecture of an information system
be able to prepare richer descriptions of a project using UML diagrams (class, state, activity, interaction diagrams)
can design the Database and the User Interface of an information system
have understood techniques that can increase the flexibility of a design and other principles of good design
Grading:
Specific details on grading can be found on the course’ s website
The courses of the Computer Science Department are designated with the letters "CS" followed by three decimal digits. The first digit denotes the year of study during which students are expected to enroll in the course.
First Digit
Advised Year of Enrollment
1,2,3,4
First, Second, Third and Fourth year
5,6
Graduate courses
7,8,9
Specialized topics
Code
Computer Science Area
A1
Computer architecture and microelectronics
A2
Computer systems, parallel and high performance computing
A3
Computer security and distributed systems
A4
Computer networks, mobile computing, and telecommunications
B1
Algorithms and systems analysis
B2
Databases, information and knowledge management
B3
Software engineering and programming languages
B4
Artificial Intelligence and machine learning
C1
Signal processing and analysis
C2
Computer vision and robotics
C3
Computer graphics and human-computer interaction
C4
Βioinformatics, medical informatics, and computational neuroscience
The following pages contain tables (one for each course category) summarizing courses offered by the undergraduate studies program of the Computer Science Department at the University of Crete. Courses with code-names beginning with "MATH" or "PHYS" are taught by the Mathematics Department and Physics Department respectively at the University of Crete.