KF7011 Assignment Sample – Systems Analysis and Design with UML 2022
Automatic Lights On/Off Using Raspberry Pi
A. Class and Method Design
In the system development life cycle, after gathering the requirements and then analysing the requirement whether it can achievable with the planned cost and duration. Then the next step is system design. The system design is the important step in system development. As this design will transformed to a complete system, it is very important to design the classes and methods required carefully.
Generally, class is a set of objects with identical attributes and methods. Always create classes by finding the nouns in use case. The name of the class should be unique. The attributes and methods are the characteristic which define the class and set of operations in the class respectively (Mylopoulos, 2003). In this project, the set of classes are transceiver, microcontroller, LightController, sensor with their methods as sendCommand(), receiveCommand(), controlLight,on(),off().
In order to avoid the misunderstanding between the company and the service provider, a legal agreement will be made which is known as contract. There are several types of contract forms. The most general two types of contract are fixed price and cost-reimbursable contracts. In fixed price contract, both the parties agreed to a price. In cost-reimbursable contract, the price is reimbursed by the company after the service delivery (PRESSBOOKS, 2020).
The method specification form is used to define the methods with their attributes and data types. The state of the conditions before and after the execution of the method is also defined. For each method, there should be a separate method specification form with their class name at the top of the form.
B. Data Management Layer Design
After the class and method design, the next step is to perform the data management layer design. The data management defines how the data are stored the storage and how they are accessed by the processes of an application. For this, based on the type of data used in the system the format of data storage has to be selected. The data may be persistent and non-persistent. The persistent data are stored in any format of storage. The non-persistent data are erased after any required processing.
The different formats of storage are relational database, object-oriented database and object relational database. Then the classes designed in the previous step are transformed in to relational schemas. The methods in the class are converted into procedures and triggers of a relational schema. Only the classes which are persistent are transformed into a relational schema. Then the schemas can be optimized by using normal forms in order to achieve the reduced storage and minimum data access time. This can be done by eliminating the redundant and null values in the relational schema (Tzitzikas, 2005).
At last, design the data access classes for accessing the schemas in the database. In the automatic light on/off system, the data to be stored is at the transceiver and controller. The server has to store the commands and results of the transceiver and controller. The sensors have to store the continues values from the environment and then triggers the procedure to enable the ON condition of the light. When the sensed values are greater than some default value, the sensor schema triggers the procedure enable light to set ON value.
C. Human-Computer Interaction Layer Design
After the database design which is the back end of the application, the front end which is used by the users has to be designed. The three main steps in interface design are user analysis, design and evaluation. The design should be user oriented. First an analysis has been done related to the user and the tasks they perform. Identify the types of users based on their age, education, skills and physical abilities. Then identify the type of tasks perform by the different types of users. Start with the overall objective of the system and decompose the objective into number of tasks.
The tasks can be further divided into sub tasks. The tasks have to be arranged properly if it has to be done in sequential manner. For example, in this application, the sensor has to sense the values and then the based on the values, it sends commands to the controller to enable or disable the lights. The layouts have to be chosen simple with very easy controls used by the users. There should be a standard layout throughout the system. It should also be user friendly and fast. The intended operation should be done in less time. At last, the quality of the design has to be evaluated. This process is an iterative process, the developer can move up and down for any modifications in these three steps. During evaluation, if any improvement needed, the developer can go to design step and modify the design (Intetics, 2017).
D. Physical Architecture Layer Design
The physical architecture design is the process of arranging the physical components with their interfaces which shows the layout of the entire system. The main processes involved in physical architecture design are given following. The analysis and allocation of physical components have to be performed. The analysis of constraints on the physical components with the given requirements has to be done. Identify suitable physical components and interfaces for linking the components.
Identify the critical characteristics if any which includes budget, complexity and reliability. While designing a physical architecture, many various ways can be followed to design a feasible architecture. First, the number of physical components or interfaces can be minimized without affecting the operations of the system. The technology deployed for the system should be compatible with other technologies. The resilience ability of the components and interfaces has to be considered while designing the architecture. The evaluation has to be done in the architecture to get the equivalence among the principles, costs and security. The physical architecture can be represented by the block diagrams or deployment diagrams (Alan Faisandier, 2019).
E. Reflection
- SAD life cycle and methodologies
The system development lifecycle consists of six stages from system initiation to testing and maintenance. In the first stage, the set of requirements with constraints are identified for the system. The budget allocation, scheduling are performed at this stage. Then based on the requirements feasibility study is performed. Then the designing of the system using Unified modelling diagrams (UML) like use case diagram, class diagram, ER diagram, sequential diagram, and collaboration diagram are done.
Then using these design diagrams, the actual implementation of the system has to be done. Then the implemented system is tested for deployment. The automatic light on/off system is implemented using Raspberry Pi. Raspberry Pi has benefits of low cost, high processing capability and has many interfaces. Raspberry Pi has Python IDE for programming the functions. The Raspberry is a small computer with all the capabilities of a computer.
- Systems Analysis
System analysis is the process of analysing the requirements collected in the first step of the system development. The analysis based on the functional and non functional requirements. The functional requirements are the processes that are required to perform the tasks of the system. The non functional requirements include performance, reliability, security and cost. This is the most important step which decides the requirements of the system based on various requirements.
- Systems Design
The next step after analysis is designing. The requirements identified are designed into number of components, interfaces, modules, procedures and integrated into a architecture at the end. The designing process is represented using the UML diagrams like use case diagram, class diagram, ER diagram, sequential diagram, and collaboration diagram are done. Then using these design diagrams, the actual implementation of the system has to be done. This design can be optimized using various techniques in order improve the performance of the system.
- Systems Analyst
The system analyst perform main role in the system development lifecycle. The system analysts collect all the requirements and analyze it to provide solution. He/she should possess skills needed to design the system processes. The issues can be identified while designing the system. The research on technologies suitable for the system development is done by the system analyst. The system analyst should know about the entire process of the system. The users of the system can be trained by the system analyst.
- Team project experience
The automatic light on/off system using Raspberry Pi has been analyzed for with the requirements. The team first decided what are the processes needed for the system. Then designing processing is done based on the identified process. The system design with class diagrams helps to understand the practical implementation of Object oriented concepts like reusability, inheritance and also polymorphism. The data layer design helps to understand how the real world data are mapped into the database.
The database design optimization done using indexing methods. The user interface design shows how the layouts are designed as simple as possible to perform the required tasks. The Physical architecture has been drawn using a block diagram with physical components linked using interfaces.
References
Alan Faisandier, R. A. ,2019.Physical Architecture Model Development. https://www.sebokwiki.org/wiki/Physical_Architecture_Model_Development#Allocation_of_Logical_Elements_to_Physical_Elements_and_Partitioning , 1-1.
Intetics. ,2017. The Main Steps of The User Interface Design. https://intetics.com/blog/the-main-steps-of-the-user-interface-design , 1-1.
Mylopoulos, J. C. ,2003. III. Class and Object Diagrams . http://www.cs.toronto.edu/~jm/340S/PDF2/Class2.pdf , 1-51.
PRESSBOOKS.,2020. 9.5 SELECTING THE TYPE OF CONTRACT. https://pm4id.org/chapter/9-5-selecting-the-type-of-contract/ , 1-1.
Tzitzikas, Y. ,2005. Data Management Layer Design. Information Systems Analysis and Design , 1-85.
Know more about UniqueSubmission’s other writing services: