ITECH7410 - Software Engineering Methodologies __________________________________________________________________________________
Assignment 1 – Analysis of Real-Time System
The purpose of this assessment is to provide students with the opportunity to deepen, extend and apply the knowledge and skills developed from the first 3 weeks of material. Students complete the assignment individually.
As described in this course’s third study guide - Software Analysis, Modelling and Specification, there are two main approaches to system analysis specification – structured (or classical analysis) and object-oriented analysis. Your text, Software Engineering: A Practitioners Approach (Pressman, 2010) identifies these two paths as different approaches to requirements modelling.
There are special extensions to the structured approach to deal with real-time systems. Study guide three identifies a real-time system as “…a system that has to respond to external events in a pre-defined maximum time interval. Hence such systems differ from the normal software system in that their temporal performance forms part of their requirements”.
This assignment asks you to individually provide the requirements analysis specification for an example of a realtime system. You will be required to complete Data Flow Diagrams (DFDs) and Entity Relationship Diagrams (ERDs) as well as include RT-SASD modifications and components including Control Flow Diagram extensions (CFDs), updates to Process Specifications (PSPECs) and Data/Requirements Dictionary as well as Control Specifications (CSPECs) (using combinational or sequential FSMs as required and presented in an appropriate format as well as Process Activation Tables (PATs) and State Transition (Machine) Diagrams (STDs)).
Timelines and Expectations
Marks: Assignment will be assessed based on a mark out of 100
The following information is a summary from your Course Description:
Percentage Value of Task: 20% of the course marks
Due: Week 6, Thursday 4:00pm
Minimum time expectation: 20 hours
This is an individual assignment. There is an expectation that no two submissions will be the same.
Learning Outcomes Assessed
The following course learning outcomes are assessed by completing this assessment:
K2 Analyse and apply complex decision making to determine the appropriate methodology to apply to different development situations
K3. Develop a good understanding of processes to ensure quality in the engineering of large software systems
K4 Develop a good understanding of the principles of commonly used Software Engineering Methodologies
K5 Develop a good understanding of the artefacts that can be created to control and support quality assurance, risk management and communication in large software development projects
S1. Critically analyse and use complex decision making to research and determine the appropriate Software Engineering tools and methodologies to utilize in a given situation
S2. Apply professional communication skills to support and manage the engineering of a large software system
S3 Review, critically analyse and develop artefacts to define processes for quality assurance, risk management and communication in large software development projects
A1 Analysis of a large system development problem to decide upon the best methodological approach
Demonstrate an understanding of particular concepts covered in lectures, tutorials, laboratories and reading to provide the specification requested. This may require further reading and research beyond the material discussed in class.
This assignment will be assessed by your lecturer/tutor. The assignment requires you to produce a analysis report containing five components identified below.
Background – Automated Monitoring and Control System (AMAC) Project
You have been retained as a Software Engineering consultant to the Muddy Springs Bottled Water Company. The company runs a water bottling plant which is currently undergoing dramatic improvements in equipment and capacity. As part of these improvements an Automated Monitoring and Control System (AMAC) is being developed
as specified below. Your job is to oversee development of the real-time software required for the AMAC.
AMAC will allow a single plant operator to oversee and control all aspects of the plant's operations from a central control room. To achieve this AMAC requires new leading-edge telemetry and control facilities.
Below is a schematic diagram of the plant.
The bottling plant consists of two integrated systems: the water supply system and the bottle washing, storing and filling system. The water supply system pumps the spring water from the holding reservoir to a special header tank which supplies water to both the bottle washing and filling plants. The header tank must operate within a narrow band to supply the correct pressure to the filling plant. New bottles arrive at the washing plant and are cleaned and rinsed to ensure strict quality controls are met. After cleaning, the bottles are transported via conveyor belt (C1 on the schematic) to the bottle storage facility. The bottles are then supplied to the filling plant by the conveyor C2 as required.
The AMAC system will be the hub of the overall system with all data, control and display functions directed through AMAC to the appropriate external devices. The operator's console consists of a mimic board and control panel which exist within the operators room. You can consider the mimic board and control panel as external entities for your analysis. All information displayed on the mimic board and all operator control panel inputs are channeled through AMAC.
Detailed Description – Automated Monitoring and Control System (AMAC)
As you could imagine this system would be quite complicated in reality however we will simplify it significantly due to time constraints:
The pumping station (PS) contains two pumps. The pumps are controlled by the header tank water level via the AMAC system i.e. the pumps are normally automatically turned on and off by the AMAC system (a manual override should be built into AMAC to allow the pumps to be run at operator request at any time). As the water level in the header tank drops, AMAC will start one of the pumps when the level drops below a specified level. If the water level continues to drop the second pump will be started at the next cut-in level. As the water level rises, both pumps will be turned off when the level reaches Full Supply Level (FSL). The levels initially specified in the system will be: FSL 3.0 m
First Cut-in Level 2.2 m
Second Cut-in Level 1.5 m
To ensure that both pumps are used equally, the AMAC system should alternatively start pump A at the first cut-in level and then pump B.
The system will record and store the times of all pump start and pump stop operations, and additionally the flow rate through the pump station at 30 second intervals. If either pump does not start when instructed to by the system an alarm should be raised on the operator's console.
The AMAC system will receive tank depth readings via telemetry every 30 seconds and these values should be stored in the database. An alarm should be initiated if the water level rises above the tank overflow level of 3.1 m, or the level drops below the top of the outlet pipe at 0.25 m. Either of these is considered an emergency situation and the whole plant should be brought to a standstill and the operator notified.
If the tank needs to be emptied for cleaning or maintenance then all other plant components should be stopped and the water directed to the drain by closing valves A, C and E and opening valves B, D and F. This should be done at scheduled tank maintenance periods at least once every 7 days, or at the operators command. The refilling procedure should only occur when the command is received from the operator's panel.
Bottle Washing Plant
Bottle washing is done under batch-like conditions - a quantity of dirty bottles is delivered to the plant and these are washed in one operation. The demands on the water supply are intermittent but significant when washing is actually occurring. When a batch of dirty bottles is ready the operator starts the washing operation from the control panel. AMAC must ensure that valves B, C, E and F are open and valve D is closed. When completed, valve C is closed to await the next batch of dirty bottles.
The dirty bottles are transferred to conveyor C1 for transport to the bottle store. If the bottle store is full then the conveyor is stopped until sufficient room is available for the batch of newly clean bottles.
Bottle Filling Plant
Conveyor C2 delivers clean empty bottles to the filling plant from the bottle store. AMAC has overall control of the filling plant, starting and stopping the plant as required. The filling plant is fully automatic internally so AMAC does not need to control the actual filling process. AMAC does have control of conveyor C2 and valve A. The conveyor must be running and valve A must be open when filling bottles.
The filling plant will be stopped for the following reasons:
• the header tank water level is too low or high;
• the bottle store is empty;
• for routine maintenance periods every 48 hours (this maintenance usually takes 20 to 30 minutes); and
• operator command.
The filling plant currently has a maximum filling and capping rate of 50 bottles per minute.
The start and stop times, the reason for actions and the bottle filling rate (one value per minute) are stored in the database.
The AMAC must be able to receive and store all the data information received as detailed from each of the units
above. In addition, your specification (DFD/CFDs, PSPEC and CSPEC) should indicate how the system reacts to the control events and data from each of these external entities.
Your task is to complete a Real-Time Structured Analysis Specification for the AMAC. You analysis should include the following components:
1. An External Entity-Relationship Diagram (ERD) indicating relationships of the AMAC and the other external entities in the system. You do not need to include attributes of the entities on the ERD, just the relationships and their cardinality and modality.
2. Data and Control Flow Diagrams (DFD/CFDs) - to sufficient detail that only a single task is carried out by each process at the lowest level. You should show the control events that occur on the same diagrams. Use the real-time extensions for control flows etc shown in the lecture notes on slide 17 from week 3. You need to determine when and where events will occur. For example, whenever a piece of data becomes available it may need a control event to let the system know that it is available. These events must be clearly shown in these DFD/CFD diagrams and then handled in the CSPEC.
3. Process specifications (PSPECs) - a pseudo-code or similar design language specification is required for each process at the lowest level. A narrative description alone will not be considered sufficient.
4. Control Specifications (CSPECs) - use combinational or sequential FSMs as required, presented in an appropriate format. The idea is that the CSPEC will completely describe how each and every event or control flow is handled in the system. You need to provide both -Process Activation Table- and -State Machine Diagram-.
5. A Data Dictionary is required to adequately describe each name or special term used in the analysis. This includes process names, data flow names, control flow names etc.
You should include sufficient detail to allow the system to handle all the monitoring and control aspects specified in the Detailed Description section of this document (and any further aspects you consider essential). If you think further information is required make reasonable assumptions and clearly state these in the submission.
The submission must be presented in a professional, clear and concise manner. If you need further system information please use your initiative and make reasonable and logical assumptions. Questions of a general nature (for example to clarify some part of the assignment requirements) can also be sent to the discussion forum but these should not in any way provide solutions or parts thereof.
The following readings will assist you with this assignment:
• Concepts of Real Time Systems (http://www.youtube.com/watch?v=rYeqygKAZoM)
• Week 3 study materials including lecture notes and up to Section 3 of study guide three;
• Chapter 7 - Requirements Modeling: Flow, Behavior, Patterns, and WebApps - of Pressman (2010);
• A summary of the DeMarco Model from http://read.pudn.com/downloads138/sourcecode/others/592939/comp8100/Demarco-BW.pdf
• A summary of the Hatley and Pirbhai Model from http://read.pudn.com/downloads138/sourcecode/others/592939/comp8100/Hatley-Pirbhai-BW.pdf
• Hatley and Pirbhai Extensions from http://www.embedded.com/design/prototyping-anddevelopment/4397706/The-Hatley-Pirbhai-Methods---Eight-Years-of-Lessons-Learned or http://m.eet.com/media/1171869/pirbhai%20methods%20-
• Data Dictionary from Kendall & Kendall (2008) and provided at http://webfuse.cqu.edu.au/Courses/2009/T2/COIT11226/Resources/Kendall_CH08.pdf (Remember you need to modify your understanding to include control flow information)
Please submit an electronic copy of the Real-Time Structured Analysis for the AMAC via Moodle. Partner students please refer to your course lecturer for submission instructions. Please refer to the Course Description for information regarding late assignments, extensions, special consideration, and plagiarism. A reminder all academic regulations can be accessed via the university’s website, see: http://federation.edu.au/staff/governance/legal/feduni-legislation/feduni-statutes-and-regulations
Work will be assessed according to the following:
• Your Real-Time Structured Analysis must complete the five items detailed within the Assessable Tasks/Requirements section of this document.
• Your Real-Time Structured Analysis should be presented as business or management style report which adheres to academic writing presentation standards. Where applicable, it must contain high quality academic presentation, expression and features as outlined in:
o The University’s Assignment Layout and Appearance Guidelines; o the University style guide - https://federation.edu.au/current-students/learning-and-study/online-helpwith/study-skills-and-writing-guides - which covers Federation University’s General Guide to Writing and Study Skills, General Guide to Referencing; and
o Features of Academic Writing (from UEfAP.com)
Name and No Marker
Item Description Max.
Marks Student Mark
(ERD) Indicate the relationships between the AMAC and other external entities. Displays only cardinality and modality 10
(DFD) A single process is displayed at the lowest level. Whenever data becomes available it needs to be displayed and handled in the
(CFD) Using real-time extensions for control flow to show when and where data is available 15
(PSPEC) Pseudo-code (or similar design language) required for each process at the lowest level – narrative alone is not sufficient. Include ID. 15
(CSPEC) Use combinational or sequential Finite State Machines (FSMs). CSPECSs should describe how each and every event or control flow is handled in the system. Both Process Activation Tables and State Machine Diagrams are required 15
(DD) Each name or special term in the system needs to be defined – includes process names, data flow names & control flow names 15
Report Adheres to guidelines given for assignment and stated at https://federation.edu.au/current-students/learning-andstudy/online-help-with/study-skills-and-writing-guides (Any assumptions must be clearly stated and appropriate) 15
Total Mark 100
Course Mark 20
Assessment marks will be made available in fdlMarks, Feedback to individual students will be provided via Moodle or as direct feedback during your tutorial class.
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at:
Any support material must be compiled from reliable sources such as the academic resources in Federation University library which might include, but not be limited to: the main library collection, library databases and the BONUS+ collection as well as any reputable online resources (you should confirm this with your tutor).
Kendall, K.E. & Kendall, J.E. (2008). Systems Analysis and Design (7th ed.). Upper Saddle River, New Jersey: Pearson Education Inc.
Pressman, R.S. (2010). Software Engineering: A Practitioners Approach (7th ed). McGraw-Hill. ISBN: 978007-126782-3