ITECH7410 Software Engineering Methodologies Assignment
- Subject Code :
ITECH7410
- University :
Federation University Exam Question Bank is not sponsored or endorsed by this college or university.
- Country :
Australia
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 predefined 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 summarize 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 art facts 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 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 art facts 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:
1. 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.
2. 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.
3. 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:
1. Scope statement outlining the purpose of this report
2. A complete description of the subsystem you are analysing describing the real time functionality and user interaction with the system
3. 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. This is an individual assignment and students must submit it in Moodle.