ITECH7410 Software Engineering Methodologies
ITECH7410 Software Engineering Methodologies
Assessment 2 Individual Analysis and Design of a control system
Overview
This assessment provides 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 courses 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. The reference 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 requires you to individually prepare parts of a requirements analysis specification for an example of a real-time system. You will be required to complete Data Flow Diagrams (DFDs) and include Real-Time Structured Analysis and Structured Design (RT-SASD) modifications and components including Control Flow Diagram extensions (CFDs), where appropriate, Process Specifications (PSPECs) and Control Specifications (CSPECs) (using combinational or sequential Finite State Machines (FSMs) as required and presented in an appropriate format as Process Activation Tables (PATs) and/or State Transition (Machine) Diagrams (STDs) or State Transition Matrices (STT)).
Purpose, Learning Outcomes
The purpose of this assessment is to
demonstrate that you can conduct a search of literature related to Software Engineering Methodologies in order to investigate appropriate models and methodologies for a particular problem;
demonstrate that you can read the literature and understand how it is relevant to a particular problem;
begin to collect some reference material that will be useful for your final seminar at the end of this course;
begin to use the library and Endnote to keep records of your research and summarise articles found
develop your skills, in particular, creating models and specifications of a system as a mechanism for describing system requirements;
provide students with the opportunity to apply the knowledge and skills developed from the first three weeks of material;
provide students with an opportunity to perform an analysis of a system. The learning outcomes being directly assessed are:
Skills
S1. Critically analyse and use complex decision making to research and determine the appropriate Software Engineering tools and methodologies to utilize for 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.
S4. Implement quality assurance activities to verify user requirements and validate design decisions.
Application of knowledge and skills
A1. Analysis of a large system development problem to decide upon the best methodological approach.
Requirements
In this assignment, you are asked to create a requirements specification and analysis of part of a system. The specification of the (sub) system should be a clear and unambiguous description of all the requirements, so that it could be used to inform a subsequent design of that system. As part of the software engineering methodology, it is important that requirements are clearly specified so that they can be traced through to design, verification, and validation activities. Ultimately, if the system is specified clearly, quality assurance activities can be adopted to ensure that the correct system is being developed.
In the book Requirements Engineering for Software and Systems by Phillip A Laplante, 2011, CRC Press, the appendix (https://learning.oreilly.com/library/view/requirements-engineering- for/9781420064681/chapter-54.html ) contains a brief Software Requirements Specification (SRS) for a smart home. This book is available through the online oreilly books (accessed online through the library). The smart home is discussed in various places within that text. You may NOT directly use diagrams provided in that text in this assignment, however, you may find it useful to use those as reference models to assist in your understanding of the analysis process.
References provided in the course lecture slides will also be useful for additional reading.
You are asked to select a particular control subsystem of an imagined smart city system, to conduct a real-time structured analysis upon. It is recommended that each student selects a different subsystem to analyse.
The subsystems may include but are not limited to the following:
Governance
Security
Healthcare
Energy
Education
Industries
Transportation
Services
Agriculture
Economy
In the next assignment you will work in groups to produce some design artefacts working with other students. That subsequent group assignment will build on the work completed in this assignment.
As part of your analysis, you are required to create the following analysis artefacts to specify the system requirements:
Data Flow (DFD) and Control Flow Diagrams (CFD) using real-time extensions for control flows to indicate control events/flows, providing PSPECS where appropriate. These diagrams should be provided sufficient detail that only a single task is carried out by each process at the lowest level. 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. 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.
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.
Control Specifications (CSPECs) - use combinational or sequential Finite State Machines (FSMs) as required, presented in an appropriate format. The idea is that the CSPEC will completely describe how a particular event or control flow is handled in the system. You need to provide at least one "Process Activation Table" and "State Machine Diagram" as appropriate. The Finite State Machine (FSM) is used to describe events and states in the system. The Process Activation Table/State Transition Table or State Transition Matrix should clearly demonstrate the valid transitions between states.
Submit a detailed technical document that could be considered to contribute to an SRS document. In addition to the above, your technical report should contain:
Scope statement outlining the purpose of this report
A complete description of the subsystem you are analysing describing the real time functionality and user interaction with the system
Artefacts/models as describe above with supporting PSPECs and description explaining how they contribute to the requirements analysis
Reasonable assumptions may be made about your system. These should be clearly stated in your description of the subsystem.
Timelines and expectations
Percentage value of this assessment: 20% Minimum time expectation: 12 hours
This is an individual assignment that will pass through TurnitIn
Date and submission details are in the course description.
Please refer to the Course Description for information regarding late assignments, extensions, special consideration, and plagiarism. You are reminded that all academic regulations can be accessed via the
universitys website, see: http://federation.edu.au/staff/governance/legal/feduni-legislation/feduni- statutes-and-regulationsAdditional support
Students are reminded that there are supports available regarding writing, researching and general academic skills. Various sources of help are available at : https://federation.edu.au/current- students#Learning_and_study, https://studyskills.federation.edu.au/student-skills/ and https://federation.edu.au/library/student-resources .
Tutorial 1 activities provide some initial ideas regarding referencing, research and accessing journals through the library. In addition, students should consult http://studyskills.federation.edu.au/referencing/ and use FedCite (https://federation.edu.au/library/student-resources/fedcite ) to ensure they are referencing correctly.
Students should write in an appropriate academic writing style. For more information, consult the resources available at: https://studyskills.federation.edu.au/student-skills/writing/academic-writing- style/The following additional resources 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 and 6 in Real-Time Systems Design and Analysis. Tools for the Practitioner 4th edition (2012) Phillip A LaPlante, Seppo J Ovaska IEEE press, https://onlinelibrary-wiley- com.ezproxy.federation.edu.au/doi/pdf/10.1002/978111813660Hatley 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.pdfRequirements Engineering for software and systems (2011) Philllip A Laplante CRC Press https://learning.oreilly.com/library/view/requirements-engineering-for/9781420064681/Marking Criteria
Work will be assessed according to the details provided in the Marking Rubric on the following page.
Marking Rubric
Student Name and No Marker Date Item Description Max. Marks Student Mark
Description of subsystem A text-based description completely outlines the details of the chosen sub system - processes involved, the triggering events and the transitions between valid states in the system. This description matches the subsequent analysis artefacts provided 25 DataFlow Diagrams (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 and matches the description provided completely. 15 ControlFlow 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. 15 Process Specification (PSPEC) Pseudo-code (or similar design language) required for at least one process at the lowest level narrative alone is not sufficient. Include ID. 15 Control Specifications (CSPEC) CSPECSs should describe how a chosen event or control flow is handled in the sub-system. At least one of Process Activation Tables and State Machine Diagrams/Matrix are required. 15 Reportstyle and presentation Report is well written using professional language and adheres 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) 15 Total Mark 100 Course Mark 20 Comments: