<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE curriculum SYSTEM "curriculum.dtd">
<curriculum id="COMP227" lastmodified="27/05/2004">
    <unitcode>COMP227</unitcode>
    <unitname>Requirements Analysis and Systems Design</unitname>
    <author name="Tony Sloane" email="asloane@comp.mq.edu.au" />
    <shortdescription>COMP227 aims to provide an introduction to and competency in requirements acquisition, problem domain analysis and computer-based system design methods ensuring a close link between requirements and the resulting computer system. This unit emphasises the skills of problem formulation, modelling and problem solving. </shortdescription>
    <unitlinks>
        <link url="http://handbook.mq.edu.au/unit.php?unitCode=COMP227">Unit Description (Handbook)</link>
        <link url="http://www.comp.mq.edu.au/units/comp227">Unit Home Page</link>
        <link url="http://www.comp.mq.edu.au/units/comp227/227_04_StudyGuide.htm">Study Guide</link>
    </unitlinks>
    <assumedknowledge>
        <knowledge>Fundamental programming concepts. (COMP125) </knowledge>
        <knowledge>Fundamental database concepts.</knowledge>
        <knowledge>Knowledge of simple data structures - arrays, records, files, lists, stacks, queues, strings. Pointers and linked list implementations for these data structures. (COMP125) </knowledge>
        <knowledge>Ability to specify pre- and post-conditions. (COMP125) </knowledge>
        <knowledge>Basic mathematical knowledge - finite state machines. (3 credit points from MATH131-MATH136)</knowledge>
    </assumedknowledge>
    <learningoutcomes>
        <outcome>Awareness of the life cycle of system development. </outcome>
        <outcome>Knowledge of requirements elicitation techniques and understanding of particular problem domains.</outcome>
        <outcome>Ability to analyse the system requirements and build a logical model of the problem. </outcome>
        <outcome>Ability to turn the logical model from the analysis phase into a design model from which a system can be built.</outcome>
        <outcome>Ability to use a CASE tool to support the requirements, analysis and design phases.</outcome>
        <outcome>Ability to design a computer interface and knowledge of good human-computer interaction features.</outcome>
        <outcome>Awareness of the impact of implementation issues on various phases of the development life cycle and vice versa. </outcome>
    </learningoutcomes>
</curriculum>
