Module : Advanced Web Technology
Assignment Type : Individual
According to the instructions, first assignment was to design the system. It included stakeholders, requirements, Class diagram, Sequence diagram for one of the flows, database structure and moke-ups.
Following features were implemented in the system. Although the guidelines were given for basic features, after a research the stakeholders were identified and the complete list of functional requirements was created at design phase.
There are four type of users.
P – Public user T – Tutor (Already registered)
S – Student (Already registered) A – Admin
|Register to the system
New members should be able to register to the system. There are no special limitation (i.e. age, education level) for students and tutors to register. Admin users are predefined and users cannot be registered as admins. Before successfully registered, system will validate email and check whether user already exists.
Registered users can log into the system using their email address and password. Login fields are available in public interface. After logging in, users will be directed to the interface where they have the privileges to access certain options of the site.
Once a user successfully logs in to the system, it is possible to log out anytime. After that, user will be directed to public interface
It is possible to search and browse using categories or tags. Also it should be available to sort the search results. The system will recommend questions based on terms in search query.
User can ask questions on any desired topic. When asking a question user has to provide a title for the question, described questions, related category(s) and tag(s). There is no limit for the number of questions that can be asked by single user
|Categorize/ tag questions
Questions should be categorized according to predefined categories and tags. The categories are Extrasensory Perception (ESP), Psychokinesis (PK), Out-of-Body Experiences (OBEs), Near Death Experiences (NDEs) and Dreams.
There are no limitations for number of answers that a user can give. Also single question may have multiple answers.
|Vote answers/ questions
Users can vote up or down for the questions and the answers. Each positive vote is given +1 and a negative vote is given -1 mark.
|Acquire reputation points
Calculating the marks for votes of each user gained for their questions/ answers, reputation points will be displayed as a numeric value.
A student/ a tutor can be removed. When removing all the personal information and logins should be removed. But the questions and answers may remain.
|Remove questions/ answers
Admin can remove any question/ answer and when removing a question its answers also should be removed from the system.
A logged in tutor can remove an answer only if it is not voted.
|Edit questions/ answers
A logged in user can remove a question posted by himself only if it is unanswered and not voted.
A logged in tutor can edit an answer given by himself only if it is not voted.
A user should be able to edit the personal details entered at the registration. But the email cannot be edited.
A user should be able to close the account. After that, the personal details should be removed from the system; but the questions and answers may remain.
Moke-ups were created as follows.
Next the system was implemented and several enhancements were done to the previous design. CodeIgniter framework was used for MVC architecture.
Module : Requirements Engineering
Assignment Type : Individual
A report was created defining the problem, solution, stakeholders and functional requirements. Also it contained the use case diagram and class diagram of the system.
It helped to determine how to gather the requirements, analyze and prioritize.