Reference no: EM133678471 
                                                                               
                                       
Software Engineering Methodologies
Assessment - 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 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. 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)).
Learning Outcome 1: 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;
Learning Outcome 2: demonstrate that you can read the literature and understand how it is relevant to a particular problem;
Learning Outcome 3: begin to collect some reference material that will be useful for your final seminar at the end of this course;
Learning Outcome 4: begin to use the library and Endnote to keep records of your research and summarise articles found
Learning Outcome 5: develop  your skills, in particular, creating models and specifications of a  system as a mechanism for describing system requirements;
Learning Outcome 6: provide students with the opportunity to apply the knowledge and skills developed from the first three weeks of material;
Learning Outcome 7: 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 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  campus system, to conduct a real-time structured analysis upon. It is  recommended that each student selects a different subsystem to analyse.  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.