Systems Analysis and Design Concepts- Computer Science Sample

QUESTION

On successful completion of this module students will be able to

  1. Demonstrate a broad understanding of the knowledge base of systems analysis and design concepts, and their terminology and discourse, including awareness that areas of this knowledge base are open to ongoing debate and reformulation, thus fostering a socio-technical approach to the analysis and design of systems;

  2. Identify and apply principles and concepts underlying the theoretical frameworks highlighted in this module, and demonstrating an ability to identify their strengths and weaknesses in an analytical fashion;

  3. Evaluate and collect information from a variety of authoritative sources to inform a choice of solutions to standard problems highlighted in this module, by applying the techniques learnt in a business context and evaluating the design decisions;

  4. Evaluate the reliability of data and information provided in this module, using pre-defined techniques and/or criteria, including an understanding of object oriented systems theory in a wider context.

Coursework Brief

This assignment introduces a realistic scenario that you should analyse first and then design and evaluate a solution using an object oriented analysis and design approach. You should use Unified Modelling Language (UML) to visualise the design of the proposed system. Your assignment consists of two pieces of coursework. Both pieces are to be done individually.

  • Coursework 1 relates to the analysis and design of a system . This part of the assessment will assess learning outcomes 1, 2 & 3.

  • Coursework 2 is an evaluation report consisting of a critical commentary on coursework 1. This part will assess learning outcome

ANSWER

COURSEWORK 1:

1. Top – Level Use Case Diagram:

A use case diagram is the simplest way for representing user’s interaction with the system. The diagram shown in fig. 1 is the top-level use case diagram that depicts the working of the system that it is required to do and almost all the possibility and

Fig. 1 Top – Level Use Case Diagram

functionality that it is expected to perform.

The Admin can add new staff, student and courses and can update and alter them as well. He can also look for the marks and attendance of the student but wouldn’t be able to update them. As soon as the admin do some alteration the data is updated to the moodle, where the teachers and student can easily see the alterations done.

The Staff is the second person involved in the system. Working and accessibility of the staff is bit less in terms of creation of the course/staff/student but can update students’ marks and attendance of which the admin don’t have the right to do or alter it. He can update his information and can look after the students detail, attendance and marks and look for the course present. He is also able to give assignment to student on moodle platform and can look for the assignment submitted by the student.

The Student the last participant, he is though the last type of user but the maximum number users belongs to this group. A student can update his information and can perform other operations like viewing course detail, see his attendance, marks that he has obtained in different courses and last but not the least see the assignment and submit it. With all this functionality he has to maintain some basic marks to be able to use is continuously.

List of function requirements:

  1. Add Student: Admin has the power to create or add students to the database. This will help get student enrolled to the moodle and to access their account.

  2. Add Staff: Staffs are also one of the most important person in this. Admin can add new staffs if required and those staffs can work after being added to database.

  3. Add Course: There might be new course that has started in the college hence it need to be added to the system.

  4. Edit/View Student: After new student being added, new data should be feed to it and viewed if and when required.

  5. Edit/View Staff: Similarly as with students, new staff added must be updated regularly where and when required.

  6. Edit/View Course: Since course added may have some alteration and can have field that need to be changed or deleted. Students should have choice to choose the course for them as well.

  7. Upload Assignment: Staff can upload assignment questions, which need to be solved by the student and submit it at time.

  8. Submit assignment: After viewing assignment, student have to submit assignment on the moodle at time.

  9. Give Attendance: Staff should update attendance daily and upload it to moodle and college platform for admin and student view.

  10. View Attendance: Student and admin can check the attendance of the student.

  11. Update marks: Staff can update marks of the student and give marks as per their performance.

  12. View marks: Student and admin can view marks of the student and respond accordingly.

2. Conceptual Class Diagram:

The diagram given in fig 2 is the conceptual class diagram that is required in the case that is mentioned in the problem statement. In this it is quite clearly shown the working flow and principle of the classes present in the system. Various classes are connected to each other via various relations.

Fig. 2 Conceptual Class Diagram

Main tables that is being depicted by this diagram are Admin table, Staff table and the student table. Admin is considered to be the most powerful of all the user as it has power to add new course, staff and students to the table and can alter their information as well.

Classes are designed with various points keeping in mind. Few of the key points while making the classes are requirement and need of the class, applying certain functionality, etc.

Admin Class:

Admin can perform various operations like adding/updating information related to staff, student and/or courses that are present. He can also view the progress of student via his/her score/marks in individual subjects. He can also look for the number of class a student have taken. This helps him to keep good track on the student. Also members of admin table includes the email-id of the admin, his/her full name and the admin id(as there may be more than one admin present). Though these are not too required but can help building some better feature class with good functionality. Key attribute: AdminID.

Staff Class:

Staff can perform operations like view his/her detail, add/update marks of the student and mark his/her attendance with ability to view them in future. New staff can also apply/register them on moodle but for that admin must have to add or update his information first. Staff contain many variables like staff id, full name of the staff, phone number of the staff, email id, address and age of the staff. These are the basic information of the staff that need to be entered in the moodle platform of the staff. Key attribute: staffID.

Student Class:

Student class have variables like student id, full name, email-id, phone number, age and password. The functionality in this class that the user can perform are view marks, attendance, course detail and can edit his/her information. The student can view his attendance and marks and can work according to that. Key attribute: studentID.

Other Class:

Course class will contain information about the course and will also link the subject to course and hence to students. Now since, one course can have multiple subjects it also helps the user to get the marks of the student in a particular subject and allows him/ her to see all the course that are present. Variables like course name helps user to find his course easily and see the detail of it. Also functions like add course and view details can be used directly be the users.(Key attribute: courseID) Subject class is a class that is directly associated to the course class and have a relation of many to one with it (many subjects are there in one course). (Key attribute: subjectID). Marks and Attendance class are though not needed separately but in future can be very helpful if one want to see the details with respect to one particular subject hence will be better to make separate class for them. (Key attribute: studentID + subjectID).

Aggregation and Associativity is present in the given class structure at various level. Courses and subject are directly and highly associated to each other and as depicted in the diagram, have one to many(from course to subject) relation. Also if course class(basically object) is deleted all the objects related to it in subject class will also get deleted.

Inheritance can be applied to student and staff class but it’s better to keep them separate.

3. Interaction diagrams:

Interaction diagrams are basically used to describe the groups of objects and the core functionality and the process involved. Major interaction diagrams for admin are shown below:

Activity Diagram:

An activity diagram is an important diagram in uml which describes the dynamic aspect of the system. It describes the step by step process of any operation taking place.

Fig. 3 Activity diagram of admin-course function

Fig. 3 is a basic activity diagram showing the admin having ability to add and edit/delete the course and then displaying the course details that are present. It is simple and easy to understand. The admin have several other choice that he can make. This particular diagram focuses on his ability of creating and editing course. He/she can either at this particular point can create new course or can go and edit some previous course that already exists in the system.

UML sequence diagram:

UML sequence diagram is a diagram that helps understanding the flow and control of the data members and functionality of the the software or program.

Fig. 4A Admin Login

Fig. 4 defines the admin/staff login panel and the user have to enter the details that required. It is most important to authenticate the user as non authentic person may cause a great damage to all the system.

It is basically 2 step process where the first step is user entering the id and password and the second step being checked or authenticated by the system. Once the login is done user/admin is able to get access to all the functions that he can perform.

Fig. 4B Admin Working process

Main process and work of the admin is described in the fig 4B. There are various steps that have been described in the same diagram, though they can be described on different diagrams. These functions includes:

  1. Add/update/delete details about student class.

  2. Add/update/delete details about staff class.

  3. Add/update/delete details about course class.

  4. Viewing of marks and attendance of the student class.

So the admin is considered as the supreme power. As he can edit anyone’s details and can look and edit anyone’s.

Fig. 5 Student Login

The figure above depicts the restriction imposed on the student who fails more than 3 modules in the semester. He gets restricted to open the moodle and access it. Similarly we can also put other restrictions on the student and other users if required.

Collaboration Diagram:

Fig. 6 Collaboration Diagram

The diagram given in fig. 6 depicts a small part of the functionality of the staff. Staffs after logging into the system can perform many functions like updating assignment, viewing answers of the student and grading them according to that, mark attendance of the student and viewing their overall attendance based on this updating their marks. Also to check the marks of the student and this result. This can further be bordered by adding some more constraints to it like view course details and view student details.

All the diagrams described above has their own importance with respect to the functionality of the software. Changing one of the above might cause a severe problem and may cause system failure.

References:

  1. www.geeksforgeeks.com

  2. www.wikipedia.org

  3. www.uml-diagrams.org

  4. www.tutorialspoint.com

COURSEWORK 2:

Introduction:

The coursework 1 done is particularly for college system with the increasing number of students and staff. Since, it will be harder to handle that number of students and staff manually, hence this system will help in managing them all at one platform.

Goal:

The goal of this course work is to design a platform/software from where admin can handle and look after all the students and staff members and their individual performance.

Objective:

The main objective of the course work is to make a program that could manage the increasing number of staffs and students via one platform and look at the performance of students when and where required. This platform provides a good way to manage this and helps in dealing with all these problems effectively.

Tasks:

The task involved in the course work deals with all the possible functionality and well working of the system and to make to admin friendly with facility to students and staff to look after the attendance, marks and other course details.

Project Description:

The project being based on college management system, the system is going to have a lot of data and hence high load on the system. To deal with this a proper Object Oriented Programming paradigm is followed. There are various entities present these includes admin, student, staff, course, subject, marks, etc. and each of these have various attributes and are dependent on each other in various ways.

Out of all the entities the three main entities are:

  1. Admin

  2. Staff

  3. Student

1. Admin functionality and attributes:

The Admin can add new staff, student and courses and can update and alter them as well. He can also look for the marks and attendance of the student but wouldn’t be able to update them. As soon as the admin do some alteration the data is updated to the moodle, where the teachers and student can easily see the alterations done.

2. Staff

The Staff is the second person involved in the system. Working and accessibility of the staff is bit less in terms of creation of the course/staff/student but can update students’ marks and attendance of which the admin don’t have the right to do or alter it. He can update his information and can look after the students detail, attendance and marks and look for the course present. He is also able to give assignment to student on moodle platform and can look for the assignment submitted by the student.

3. Student:

The Student the last participant, he is though the last type of user but the maximum number users belongs to this group. A student can update his information and can perform other operations like viewing course detail, see his attendance, marks that he has obtained in different courses and last but not the least see the assignment and submit it. With all this functionality he has to maintain some basic marks to be able to use is continuously.

Major function requirement:

Functions from one class uses another class member to work, via inheritance and function overloading. This helps in keeping the system work well at various points by avoiding overloading of data and better functionality of the program.

Major functions that need to be integrated are:

  1. Add Student: Admin has the power to create or add students to the database. This will help get student enrolled to the moodle and to access their account.

  2. Add Staff: Staffs are also one of the most important person in this. Admin can add new staffs if required and those staffs can work after being added to database.

  3. Add Course: There might be new course that has started in the college hence it need to be added to the system.

  4. Edit/View Student: After new student being added, new data should be feed to it and viewed if and when required.

  5. Edit/View Staff: Similarly as with students, new staff added must be updated regularly where and when required.

  6. Edit/View Course: Since course added may have some alteration and can have field that need to be changed or deleted. Students should have choice to choose the course for them as well.

  7. Upload Assignment: Staff can upload assignment questions, which need to be solved by the student and submit it at time.

  8. Submit assignment: After viewing assignment, student have to submit assignment on the moodle at time.

  9. Give Attendance: Staff should update attendance daily and upload it to moodle and college platform for admin and student view.

  10. View Attendance: Student and admin can check the attendance of the student.

  11. Update marks: Staff can update marks of the student and give marks as per their performance.

  12. View marks: Student and admin can view marks of the student and respond accordingly.

The most appropriate approach for designing this system will be to use sdlc and oops concept. Since the project is not to big, it is better to use unit testing and integration testing for better and faster result.

Areas To Improve:

Various areas that can be improved in this includes a panel where staff and student can apply and register (since the number of students and staff will increase every year it will be harder for the Admin to add individual member). Also a graphical representation of the result of individual student and overall batch performance can be added, this will help knowing the weak part of the individual and the course that need to have better assessment.

If I get another opportunity to do the same project, I will try to include all the above points and also try to use inheritance for the student and staff as they are having lots of attributes in common.

References:

  1. www.geeksforgeeks.com

  2. www.wikipedia.org

  3. www.uml-diagrams.org

  4. www.tutorialspoint.com

Looking for best  Computer Science Assignment Help. Whatsapp us at +16469488918 or chat with our chat representative showing on lower right corner or order from here. You can also take help from our Live Assignment helper for any exam or live assignment related assistance