This is a solution of UML-Online Student Attendance Management System in which we discuss many different things to stakeholders.
In software designing, people generally like Unified Modelling Language or UML. It also offers many different things to stakeholders. The design of our solution has used UML’s diagrams to present the skeleton and interaction among different components of the system.
UMLs can be formal if needed and informarl as simple as a plain English language. UML could be used for all different types of applications and for all different cases. However the expectancies would be different for instance, some architecturally demanding systems could be designed in high level of details whereas some will only have packages indicating the place of code i.e., the functionality, GUI etc. in the overall system picture. This code could be obtained in a number of different ways.
One of the main goals of an UML is to simplify the communication between different project stakeholders. It also acts as a communication method between development teams, documentation of project and as a contract between developers and customers. In my opinion, this goal is definitely reached. The main strength of UML is that it is a highly effective tool when the project is in initiation stage apart from the strengths mentioned earlier. Diagrams at this point in the development of software tend to play their role best. On the other hand, at the later stages, UML might not do much good and perhaps could even be cumbersome to do so. One can also make use of packaged designs so as to shorten the overall time it takes for the completion of the diagram. UML’s strength is also prevalent when one has to reverse engineer an old code or a code, which is written in some other way. While implementation stage does not mean that the code is 100% generated but the developer could get a clear and commented code skeleton with different kinds of descriptions in the shape of a UML diagram.
Strengths of design:
In addition to above-mentioned benefits, UML is also used to visualize, specify, build and document the components of the software system. UML provides a common interpretation of language. The controlled nature of UML specification allows vendors to update their products in order to satisfy the specific requirements of some versions.
The design of the online student attendance management system uses various UML diagrams i.e. use case diagram, class diagram, sequence diagram and state chart diagram. Use case diagram is very useful in the design phase. The most important benefit of use cases is that they help in managing complexity of project because it facilitates analysts in focusing the on a specific view at a particular point of time. They begin at a very simple viewpoint i.e. system building for its users. Use cases have provided a basic platform for requirement specification document, user manual and test cases. Use cases facilitate designing by envisioning outcomes before attempting a particular outcome hence making requirements more proactive in developing a system.
Next,the design uses class diagram. It would help developers in modeling complex classes rapidly and identify relationships among them. These classes usually depict the entities of the system. For instance: A student can attend one or many classes. This relationship can be easily shown in the class diagram. It also shortens the time of modeling high-level view of the application.
In addition to the class diagram and uses case, the system also is required to be studied from the timeline events of the student i.e. it is required to know the complete flow if adding a new student in the system. To accommodate this in the design, sequence diagrams are used. It is dynamic in nature and it shows exactly what happens during the entire flow through a use case or an activity thread in an activity diagram. It shows a time-based sequence of tasks. In a design, it is also required to check for collaboration among the objects. Sequence diagram provides a set of collaboration objects and messages passing among them. It depicts the representation of what exactly happens in an use case and not the generic representation. In addition to this, sequence diagram shows how multiple objects belonging to the same class interact with each other and also how a class executes its methods itself. They can also help in depicting how a same message can be passed on to more than one object. They would help programmers to review all sequence diagrams and get a holistic view of entire proposed system. In addition to this, sequence diagrams will provide valuable input to programmer.
Although, the design offers many benefits for developers and clients but there are some limitations in the design of student attendance system. Use cases are advantageous but there are some risks associated with use cases. They do not address the usability and usefulness of requirements. Although quality issues are very crucial for the success of proposed system, there is no proper way of including non-functional requirements in use case. The 24×7 availability cannot be depicted via any of the diagrams used in the design. In addition to this, there is no systematic manner to represent the interactions among requirements. In future, the developers may altogether avoid use cases because of the time consumed in preparing complete application. In the design we have captured actors in the best possible way but still certain gaps may left behind which may result in inappropriate creation of actors.
State chart diagrams are famous for describing the behavior of the object over a period time. the design has used these diagrams to depict the state of student object during the entire course of its creation. Each and every possible state of the object is shown in the stat chart. But, the diagram is not capable enough to model the interaction of the student object with its associated objects and in fact it is not shown in any of the other diagrams. It’s a major lacking point of the design.
In addition to this, the system is not in static state always. There are some interactions and changes, which keep on happening in the system. The design has used class diagram. As per the agile principles, these diagrams focus only on the static view of the system. It overburdens designers to learn more diagrams. At class diagram stage, it was apparent that it will be have an implication the implementation but it was not known how to address the dynamicity of system. It’s not meant to depict the complete flow hence they cannot be used for this purpose. Moreover, they are not structural in nature and hence can’t predict the structural relationships among classes. Hence, although they can be used for finding missing classes but they cannot be used for identifying precise relationship between classes.
Sequence diagrams are indeed famous for depicting the flow of a requirement or a feature, but it gives a snapshot between two timeframes, which is not complete in a way.
All the mentioned limitations or weaknesses can very well be addressed either by using other diagrams or following a design pattern. Design pattern solves these requirements in a very efficient manner. There are various design patterns for uses cases, sequence diagram and class diagrams. In fact, the weakness of state chart diagram can be eliminated via collaboration diagram but only design patterns can be answer to all issues.
Btechnd Assignment provide assignment writing service based on case study requirements in affordable prices and we are providing most flexible online assignment writing help, so book your Assignment with us, Order Now.