School of Engineering and Information TechnologyITECH7410 - Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 1 of 13Assignment 1 – Analysis of Real-Time SystemOverviewThe 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 systems 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 real-time 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 Process Activation Tables (PATs) and/or State Transition (Machine) Diagrams (STDs)).Timelines and ExpectationsMarks: Assignment will be assessed based on a mark out of 100The following information is a summary from your Course Description:Percentage Value of Task: 20% of the course marksDue: Week 6, Thursday 4:00pmMinimum time expectation: 20 hoursThis is an individual assignment. There is an expectation that no two submissions will be the same.School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 2 of 13Learning Outcomes AssessedThe following course learning outcomes are assessed by completing this assessment:S1.Critically analyse and use complex decision making to research and determine the appropriate Software Engineering tools and methodologies to utilize in a given situationS2.Apply professional communication skills to support and manage the engineering of a large software systemS3Review, critically analyse and develop artefacts to define processes for quality assurance, risk management and communication in large software development projectsS4Implement quality assurance activities in order to verify user requirements and validate design decisionsA1Analysis of a large system development problem to decide upon the best methodological approachAssessment DetailsThis assignment will be assessed by your lecturer/tutor. The assignment requires you to produce an analysis report containing five components identified under the Assessable Tasks/Requirements on page 9 of this document.Background – Central Heating Control System V10 (CHCSV10) ProjectYou have been retained as a Software Engineering consultant to the Heating2 Company. The company produces heating equipment for residential and non-residential facilities. Heating2 are planning to release a new line of gas fired central heating systems and need to have a new version of a central heating control system (CHCSV10). CHCSV10 is installed in conjunction with the physical central heating system and automates and controls the heating processes. Your job is to oversee modelling of the real-time software required for the CHCSV10.CHCSV10 will allow a single user to program, automate and monitor all aspects of the central heating of a facility. To achieve this, CHCSV10 requires the installation of other components of the central heating system including a heating unit, fan, gas supply, ducts and duct piping, temperature detector, clock, control panel and display.Below is a schematic diagram (excluding duct piping) of an installed central heating unit package with WiFi connectivity.School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 3 of 13School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 4 of 13Conceptually, the central heating system has two major components – CHCSV10 and the central heating system hardware sub-system. Some of the components of the hardware sub-system can be configured with either hard-wired or wifi enabled controllers. The decision is up to the customer and is generally based on the cost of the more expensive wifi controllers compared to the cheaper hard-wired controllers with additional labour and material costs of cabling. In the schematic diagram, wifi controllers are shown for the Ducts, Heating Unit, Heating Unit Fan and Gas Meter Supply. The controllers allow for two way communication (send commands/receive information) and control of the associated hardware component. Other components however - System Control Panel, System Temperature Detector, System Clock and System Display are usually connected physically with hard-wired connections.A process of setup, installation and testing of all hardware components precedes the setup, installation and testing of CHCSV10 and is finalized by commissioning of the entire central heating system. The setup of CHCSV10 includes the setting of time periods and synchronizing of starting point for automatic controller messaging (see below). CHCSV10 facilitates all events of the central heating system including start up and stopping, configuration of the system clock, setting of heating programs, allowing manual heating, monitoring of components, displaying information about the system and actioning both system and manual events. Typically an owner of the system sets up the clock date and time, configures a set of program schedules for a day of the week and lets the system look after heating the premises. Further details of schedule examples and operation are given below.There is constant communication between the other hardware components and control panel to monitor availability. Where necessary control commands are issued to these hardware components e.g. stop, start, open, close, make available, make unavailable. All communication and statuses from all components are displayed on the System Display. Further details about specific events for each external entity of the system are given below.Detailed Description – Central Heating Control System V10 (CHCSV10) ProjectAs you might imagine this system would be quite complicated in reality. Where possible the description below attempts to simplify the system by stipulating assumptions and restricting scope.Heating DuctThere can be up to 20 ducts installed in the top of the range system. In our example only four are shown and you should model just four. A Heating Duct blows warm air that has been generated at the Heating Unit and blown through all duct pipes by the Heating Unit Fan. A duct may be open or closed and these states can be set either by CHCSV10 or manually. If a duct is closed manually it can only be reopened manually. This is to allow for situations where a duct has been deliberately closed to an area. When the central heating system is operational, the Heating Duct Controller reports on the current state of the duct on a pre-determined periodic basis (in our case we will say every five minutes). The CHCSV10 system determines if a new status has been found and if it has displays thatSchool of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 5 of 13information on the System Display.Gas Meter SupplyA Gas Meter is the connection point between the outside gas supply and the gas supply for the premises. There is in turn a connection supply from the Gas Meter to the Heating Unit where the gas is burnt to supply warm air to the premises and this is the external point we will refer to. Ordinarily, gas is always available and the meter simply records the number of cubic metres used (and the megajoule (MJ) equivalent). Sometimes the gas is not available due to maintenance or problems with supply. There may be circumstances where the gas is available but there is a need to stop gas being supplied to the Heating Unit. There may also be circumstances where the gas supply is stopped to the Heating Unit as well as the gas being unavailable. Therefore a Gas Meter Supply may be available or not available and stopped or flowing and these states can be set either by CHCSV10 or manually. When the central heating system is operational, the Gas Meter Supply Controller reports on the current state of the Gas Meter Supply on a pre-determined periodic basis (in our case we will say every 30 seconds). The CHCSV10 system determines if a new status has been found and if it has, displays that information on the System Display.Heating UnitThe Heating Unit supplies the warm air to the premises. The Heating Unit burns natural gas and a Heating Unit Fan circulates the warm air along the duct pipes and out of the ducts within the premises. There are a number of different units available with different burning and heating capacities. They all however contain the same functionality. A Heating Unit may be in a state of available or unavailable and operating or not-operating either through the functionality of CHCSV10 or by manual means. When the central heating system is operational, the Heating Unit Controller reports on the current state of the Heating Unit on a pre-determined periodic basis (in our case we will say every 30 seconds). The CHCSV10 system determines if a new status has been found and if it has, displays that information on the System Display.Heating Unit FanThe Heating Unit Fan circulates warm air to the premises along the duct pipes and out of the ducts. There are a number of different units available with different circulation capacities. They all however contain the same functionality. A Heating Unit Fan in a state of available or unavailable and operating or not-operating either through the functionality of CHCSV10 or by manual means. In each case of a change of state, a message should be sent and displayed on the System Display signifying the new state. When the central heating system is operational, the Heating Unit Fan Controller reports on the current state of the Heating Unit Fan on a pre-determined periodic basis (in our case we will say every 30 seconds). The CHCSV10 system determines if a new status has been found and if it has, displays that information on the System Display.School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 6 of 13System ClockThe System Clock designates the central heating system’s date, time and day of week and is a vital component in the real time actions of the system. To make things a little easier we assume that the System Clock is always on (provided power is available or the system battery backup has available energy in the case of a power out). It is configured through the System Control Panel and its details are displayed on the System Display. The System Clock records time in seconds but time is only displayed in hours and minutes in either 24 hour time or am/pm format depending on configuration preferences. When the central heating system is operational, the System Clock sends the current time to the System Display on a pre-determined periodic basis (in our case we will say every 60 seconds). Additionally, every 24 hours at 12:00 midnight and whenever the system is powered up a request is made to the System Clock to provide the current date and day and these details are updated on the System Display. The day and time are used in conjunction with the temperature, heating programs and hardware availability to determine if the heating unit and fan should start.System Temperature DetectorThe System Temperature Detector uses a negative temperature coefficient (NTC) thermistor and measures the ambient (room) temperature of the premises. It is another vital component in the real time actions of the system. Placement of the System Temperature Detector is important as it helps to determine when heating occurs. It is unusual not to have it co-located with the System Control Panel, System Clock and System Display. It is often a trade-off between convenience of location for those three components and the location where temperature best resembles the average temperature of the premises. To make things a little easier we assume that the System Temperature Detector is always on (provided power is available or the system battery backup has available energy in the case of a power out). It is configured through the System Control Panel and its details are displayed on the System Display. The temperature is recorded in Celsius or Fahrenheit depending on configuration preferences. When the central heating system is operational, the System Temperature Detector sends the current temperature to the System Display on a pre-determined periodic basis (in our case we will say every 60 seconds). This temperature is used to determine the operation of the heating unit based on the time, schedule and hardware availability.System DisplayThe System Display is responsible for communicating with the user of the system including as a configuration display, command confirmation display and as a real-time indicator of the status of the system. Configuration details include displays for setting the clock, choosing temperature settings and setting the heating programs (In your analysis it is not necessary to go down to the level of individual processes for each of these displays). There are many types of messages and command confirmations including those associated with shutting down/powering up the system, status messages for components and setting manual temperature overrides or resuming automaticSchool of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 7 of 13heating.System Control PanelThis panel provides the interface that allows communication with the system. A pre-configured touch pad shows commands such as System Clock (Configure and Set Time), Configure Temperature Detector, Set Heating Program, Manually Change Heating, Resume Automatic Heating, Turn System Off and Turn System On.Configure the System Clock refers to setting the type of time reported.Set Time allows the system time to be changed.Configure Temperature Detector allows the user to select Celsius or Fahrenheit reporting of the temperature.Set Heating Program allows the user to set up the heating schedule for each day of the week. An example of a schedule for a day at the example factory might be:• between 12:00:00am and 6:59:00am inclusive a temperature range of 50C to 100C should be maintained. That is, if the temperature, detected by the System Temperature Detector, falls below 50C during this time, the central heating system will turn on to heat the premises until an upper limit is reached e.g. 100C at which time the heating stops.• between 7:00:00am and 5:59:00pm inclusive a temperature range of 150C to 200C should be maintained.• between 6:00:00pm and 11:59:00pm a temperature range of 50C to 100C should be maintained.Manually Change Heating allows the user to set a temperature below which the temperature may not fall. No upper limit is specified. If a manual temperature is set then that overrides the automatic heating program until a new program is scheduled to begin at which time the heating program is in control unless a new Manually Change Heating selection is made.Resume Automatic Heating resets the system back to following the appropriate stored heating program/s.Turn System Off will issue commands to close the Ducts, stop the Gas Supply (to the Heating Unit), stop operating the Heating Fan and Heating Unit if operating and set both these devices to unavailable. The System Display will be updated with a message to state that the central heating system is off and the new states of the Ducts, Gas Supply, Heating Fan and Heating Unit will also be reflected based on messages from their controllers.Turn System On will issue commands to open Ducts (if they aren’t in a state of manually closed), start the Gas Supply and make the Heating Fan and Heating Unit available. The system will then follow normal automaticSchool of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 8 of 13operations so that the temperature measured in combination with the program/s and hardware availability will control the heating of the premises.Data StorageThe CHCSV10 must be able to receive and store the data information received as detailed from each of the units above. However it is not necessary to have an historical record of events but rather there must be a set of information that allows the current status of the central heating system and its components to be determined and displayed. Thus it is important to have in some cases a previous value so that a comparison may be made to determine if the status of the system has changed and to act accordingly e.g. display changed information and/or change state/s of device/s. It is also important to have a set of configuration information that stores information on the System Clock and System Temperature Detector as well as the entered heating program/s.CHCSV10 OperationMany of the operating features of CHCSV10 and the underlying hardware components have already been covered in preceding sections. Some additional information and rules follow.The peripheral components responsible for generating and circulating the heat – the Ducts, Gas Meter Supply, Heating Unit Fan and Heating Unit largely follow the same set of processes i.e. periodically send a status (there may be more than one) that is then evaluated for availability for heating against the previous stored value, the new value is stored, displayed if necessary i.e. there’s been a change and then further action may take place. With respect to the Ducts, each duct should be evaluated separately but there is a rule that the heating system cannot be turned on unless there are >= 50% of the total number of ducts open.The automatic operation of the heating is dependent on the relationship between the room temperature and the appropriate program for the time and day of the week and the appropriate state of the heat generating and circulating components. Before heating can occur, the temperature measured by the System Temperature Detector must be evaluated against the temperature range stipulated in the appropriate heating program. If the temperature is below the minimum temperature of that range, a test of the appropriate status of all heat generating and circulating components is made and if these tests are met, the premises are heated. The heating continues until:• the temperature is measured to be above the range; or• a status on one of the devices signifies that it is not able to participate in the heating; or• the system responds to a Manually Change Heating command; or• a Turn System Off command is selected.School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 9 of 13Assessable Tasks/RequirementsYou are required to 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.Your task is to complete a Real-Time Structured Analysis Specification for the CHCSV10. You analysis should include the following components:1. An External Entity-Relationship Diagram (ERD) indicating relationships of the CHCSV10 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 (Do not however model the functionality of the System Clock - Configure and Set Time, Configure Temperature Detector, Set Heating Program processes; just have a process for each). You should show the control events/flows and data flows on the same diagrams. Use the real-time extensions for control flows etc shown in the lecture notes (slides 15-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" as appropriate.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, data stores, control flow names, control stores and events.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.School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 10 of 13Additional InformationGeneral CommentsThe submission must be presented in a professional, clear and concise manner. 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.ReadingsThe following readings will assist you with this assignment:• Concepts of Real Time Systems (http://www.youtube.com/watch?v=rYeqygKAZoM) (This is also the resource listed under that name in Week 3 of your Moodle shell)• Week 3 study materials including readings, lecture notes and up to Section 3 of study guide three;• Chapter 7 - Requirements Modeling: Flow, Behavior, Patterns, and WebApps - of Pressman (2010);• Chapter 5 – Requirements Engineering Methodology – and Chapter 6 – Software Design Approaches – of Laplante and Ovaska (2012)• 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 - available on your Moodle shell for week 3 under the heading Week3 readingHatley-Pirbhai-BW and also 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-and-development/4397706/The-Hatley-Pirbhai-Methods---Eight-Years-of-Lessons-Learned or http://m.eet.com/media/1171869/pirbhai%20methods%20-%20eight%20years%20of%20lessons%20learned%20.pdf• Data Dictionary from Kendall & Kendall (2014) – Chapter 8 (Remember you need to modify your understanding to include control flow information)School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 11 of 13SubmissionPlease submit an electronic copy of the Real-Time Structured Analysis for the CHCSV10 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-regulationsMarking CriteriaWork 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-help-with/study-skills-and-writing-guides - which covers Federation University’s General Guide to Writing and Study Skills, General Guide to Referencing; ando Features of Academic Writing (from UEfAP.com)School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 12 of 13Marking RubricStudent Name and NoMarkerDateItemDescriptionMax. MarksStudent MarkEntity-Relationship Diagram (ERD)Indicate the relationships between the CHCSV10 and all other external entities. Displays only cardinality and modality10Data Flow Diagram (DFD)A single process is displayed at the lowest level. Whenever data becomes available it needs to be displayed and handled in the CSPEC. All relevant processes are included.15Control Flow Diagram (CFD)Using real-time extensions for control flow to show when and where data is available. All relevant control flows and processes are included.15Process Specification (PSPEC)Pseudo-code (or similar design language) required for each process at the lowest level – narrative alone is not sufficient. Include ID.15Control Specifications (CSPEC)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. There should be State Machine Diagrams for at least four different components of the system.15Data Dictionary (DD)Every name or special term in the system needs to be defined – includes process names, data flow names, data stores, control flow names, control stores and events15ReportAdheres to guidelines given for assignment and stated at https://federation.edu.au/current-students/learning-and-study/online-help-with/study-skills-and-writing-guides (Any assumptions must be clearly stated and appropriate)15Total Mark100Course Mark20Comments:School of Engineering and Information TechnologyITECH7410 Software Engineering Methodologies Assignment 1, 2018/17__________________________________________________________________________________CRICOS Provider No. 00103D ITECH7410_Assignment1_sem9_2018_201817_T_Keogh Page 13 of 13FeedbackAssessment marks will be made available in fdlMarks, Feedback to individual students will be provided via Moodle or as direct feedback during your tutorial class.PlagiarismThis is an individual assignment. There is an expectation that no two submissions will be the same. Students are encouraged to discuss their ideas with other students and their lecturer and tutor but all submitted work should be your own.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: http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism.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).ReferencesKendall, K.E. & Kendall, J.E. (2014). Systems Analysis and Design (9th ed.). Harlow, England: Pearson Education Inc.Laplante, P. A. & Ovaska, S. J. (2012). Real-Time Systems Design and Analysis: Tools for the Practitioner (4th ed.). Hoboken, NJ: John Wiley & Sons-IEEE PressPressman, R.S. (2010). Software Engineering: A Practitioners Approach (7th ed.). McGraw-Hill. ISBN: 978-007-126782-3