KF7011 Systems Analysis and Design with UML Assignment Sample 2023
Automatic Lights On/Off Using Raspberry Pi
1. CLASS AND METHOD DESIGN
The class is the blueprint of the objects. The class design represents the class name with the attributes and methods of the class. The class design is used for representing the overall system. This class design can be used for implementation independent of any programming language. The attributes defines the properties of the class. The visibility of the attributes may be public or private. The method defines the operations on the class. The relationships among the classes in the class design can be given by association, generalization and dependency. A class is defined in three sections with class name, attributes and methods (Lucidchart, 2020).
Contract is the agreement between two parties to prevent them legally if any conflict occurs. Among many types of contracts, Lump sum and reimbursable contract are common types. Lump Sum contract is used when the objective and schedule are very clear. Reimbursable contract is used when the budget is not known prior to the system development. The other types of contracts are Time and Material contract, Unit price contract, unilateral and bilateral contracts (upcounsel, 2020).
The method specification is used to define the state of the system before and after the execution of the method. The precondition and post condition defines the state before and after the execution of the method. The precondition can be defined using the “requires” keyword. In order to trigger the method, the “requires” condition should be satisfied. The post condition can be defined using the “throws” or “returns” keyword. The method specifications also defined using the spec fields (University of Washington, 2020).
2. DATA MANAGEMENT LAYER DESIGN
The data management layer design is the next phase after the class and method design. Following are the four steps to be performed for the database design.
2.1 Design the format of storage
There are different types of storage formats. The data handled by the system may be in the form of files such as master files, transaction files and audit files. The databases are relational database, object database and multidimensional database. The storage format can be selected based on some characteristics such as data type, type of application, existing storage formats in the organization and based on future needs (spots.gru.edu, 2020).
- Mapping the classes to the selected format
In this step, the classes defined are mapped into the storage format. The classes are collected and organized into relational schemas with the primary key. The attributes are defined in the relational schema with their data types. The methods are defined as triggers or procedures in the database design. The relationship between tables has to be defined as one to one, one to many and many to many.
- Optimizing the storage
The storage format can be optimized by using certain techniques to improve the performance. The redundant and null values can be removed to reduce the unwanted space and decrease the chance of errors. The speed of data access can be improved by denormalization which reduces the number of joins. Clustering technique can also be used to reduce the access speed. The indexing technique can be used to access the data quickly (Denis, Wixom, & Roth, 2012).
- Design the data access and manipulation classes
The data access and manipulation classes are designed this step. These classes play the role of translator between the persistent class and the other classes in the system.
3. HUMAN-COMPUTER INTERACTION LAYER DESIGN
The main objective of the human-computer interaction is to design the interface in such a way that it should be very simple for the users and to increase the communication between the user and the computer. The principles of the user interface design are described as follows. The layout of the system should be simple without any complex components and also should satisfy the purpose of the task. The content of each layout should be understood by the user. The interface should be so simple that is pleasant to the user’s eye. The information should be displayed in the screen with proper spaces to improve the readability. The consistency of the layout should be same throughout all the screens in the system. The design should reduce the work of the user in minimum number of interactions. The designing should also consider different types of users with different levels of computer skills. The input, navigation and output design should be done properly to reduce the effort and avoid errors of the user. In the automatic lighting system, the users are restricted to a group of members and they control the lights through their smart phones. The design is also simple showing the layout of street lights with some id. By clicking each light icon, a new window will be opened with the details of the particular lighting system such as location of the light, type of light whether electricity based or solar based. Then it will have ON and OFF controls. The other interface will have the option to select particular lights or select lights based on area or based on type of lighting system.
4. PHYSICAL ARCHITECTURE LAYER DESIGN
The Physical architecture defines the physical components and interfaces to implement the system are drawn using a block diagram. By this design, the budget needed for equipments and other technical resources for the system can be determined by the organization. While designing the architecture the non functional requirements such as performance, security, reliability are to be considered. There are three types of architecture based on the logic implementation. Server based architecture, client based architecture and client-server architecture. Based on the type of application, the architecture can be selected. The client server architecture is commonly adopted by the organizations in which the client devices handle application and presentation logic and the server handles the data access and data storage logic. The client server architectures are scalable, support many different types of servers and clients, use the commonly accepted internet standards and availability (Alan Faisandier, 2019).
5. REFLECTION
- SAD life cycle and methodologies
The system analysis and design lifecycle is the sub process of system development lifecycle (SDLC). The system analysis is done to get the requirements. This can be done by conducting the meeting with the users of the system or a technical person from the organization. The system design can be done in number of steps. The class and method design can be done by using class diagram of Unified Modeling Language (UML). The class diagram is the representation of class with its attributes and methods.
- Systems Analysis
The system analysis is done to get the requirements. This can be done by conducting the meeting with the users of the system or a technical person from the organization. The feasibility study also is done at this phase with the various functional and non functional requirements. The tools used at this stage are Computer Aided Systems Engineering (CASE), Requirement gathering and structural analysis. At the end of this phase, the requirements are finalized based on considering all the restrictions based on the time and budget. The strong communication with the client is needed to get the requirements specifications.
- System Design
System design is the process of implementing the requirements into models. The class and method design can be done by using class diagram of Unified Modeling Language (UML). The class diagram is the representation of class with its attributes and methods. The data flow diagrams can be used to show the steps of the processes in the system. The sequence diagram or state transition diagram can be used to perform access of data or functions based on the time and also in particular sequence. The hierarchy of the process can be represented by structure diagram. The database design can be done using ER diagrams.
- Systems Analyst
System analyst role is from the starting of the requirement gathering to the delivery of the system. He/she has to communicate with the users or technical persons to get the requirements of the system. System analyst is the person with the specific skill set to perform the analysis of the requirements using various technical tools. He/ She use the tools and techniques to design the system based on the analysis. System analyst acts as the evaluator to evaluate the performance of the system and implement the required changes for the development of the system.
- Team project experience
The task done in team helps to understand the importance of team work. Learning can takes place from other team members. New ideas and approaches can be determined for a single task from each group member. The performance of the system can be improved by various suggestions from the group. The importance communication and team building can be experienced. The concepts learned during the course are implemented in real time makes in depth understanding of concepts. Learned various tools related to system design and analysis. The requirements are mapped to a class and then database design and finally the user interface design are done.
Alan Faisandier, R. A. (2019). Physical Architecture Model Development. https://www.sebokwiki.org/wiki/Physical_Architecture_Model_Development , 1-1.
Denis, Wixom, & Roth. (2012). SYSTEM ANALYSIS AND DESIGN. US: John Wiley & Sons, Inc.
Lucidchart. (2020). UML Class Diagram Tutorial. https://www.lucidchart.com/pages/uml-class-diagram#section_2 , 1-1.
ntu.edu.sg. (2010). A Quick-Start Tutorial on Relational Database Design. https://www.ntu.edu.sg/home/ehchua/programming/sql/Relational_Database_Design.html , 1-1.
spots.gru.edu. (2020). DATA STORAGE DESIGN. http://spots.gru.edu/tschultz/resources/eBooks/WileySysAD/Ch11.pdf , 1-36.
University of Washington. (2020). Class and Method Specifications. https://courses.cs.washington.edu/courses/cse331/11wi/conceptual-info/specifications.html#UsingSpecFields , 1-1.
upcounsel. (2020). Different Types of Contracts: Everything You Need to Know. https://www.upcounsel.com/different-types-of-contracts , 1-1.
Know more about UniqueSubmission’s other writing services: