Software Engineering

Software Engineering

Process Model The process model used will be the waterfall model. Due to the fact that its a very small application the communication needed is limited and if no miscommunication occurs, one meeting between the customer and the developer is more than enough. Planning and modeling will in no case be needed after the development had begun and it will probably not be time- consuming either. Most of the weight will be put on the construction and the deployment of the application. Taking all of the above into account, the waterfall model is the most appropriate in this situation. . Overall Description 2. 1 Product Perspective This web application is going to be built from scratch. As its main purpose is o inform users about video games, all the games are associated with various tags (e. G. RPG, FPS, Strategy, etc. ). The Search and Suggestion functions both work based on tags. All of the application features are given their respective output from an entity of the dataset. The master entities of the dataset are 1. Users This entity contains the registered users’ ID, surname and password 2. Rating The users rating of each game is stored in this entity 3.

Comments The comments that the users leave for each game is stored in this entity 4. Games Where all the games are stores with their respective reviews and tags 5. User references In which the preferences on games of each user is stored 2. 2 Product Features As stated earlier the application is to propose video games, thus after the user creates his account he will most probably use the “User Preferences” function. He will then enter games that he has previously played and enjoyed as well as what type of games he likes to play which will be stored in the dataset as tags.

He will then get a list of suggested games based on what he entered prior to that. The user is also able to search for a game, read a review of it (if there is one), see what rating it has and read comments left by other users. . 3 User Classes and Characteristics There are two types of users of the application, 1. The registered user 2. The operator The registered user is the application’s end user who uses the functions and the various features of the application. The application’s main target group are game enthusiasts, mostly teenagers to young adults.

The operator is the person who is responsible for the application to be running smoothly. He must keep the master entities of the database updated at all times. He must also must keep the Content of the app up-to-date (add new video game) and delete any offensive comments that users may leave. . 4 Operating Environment The users will access the application through a browser of their choice on their PC. 2. 5 Design and Implementation Constraints Due to the fact that not all browsers currently support fully HTML all HTML code must comply with the HTML 4. 01 standards. 2. User Documentation There is no need for any user documentation due to the fact that every function of the application is straightforward and it is written in a way to be extremely user-friendly. 2. 7 Assumptions and Dependencies It is assumed that All users have a fully functioning browser installed on their computer and all seers have an active internet connection. The browser that the user is working on is capable of running a web application. The browser is allowed to run scripts and no script blocker is in use. Any of the above may lead to the malfunction of the application. 3.

System Features 3. 1 Create Account This function allows a person to create an account on the application in order to use its features. The user is able to select a surname and a password Of his choice (given that the surname hasn’t been registered by another user). After the registration is complete the user is able to log in. Inputs: The input to the dataset is what the user entered as a surname and password. Outputs: The output to the user is if the registration was a success or a failure. 3. 2 Log In This function allows an already registered user to use the features of the application.

The user must enter his surname and password correctly in order to log in. If the user fails to give a valid surname and password he is asked to try again. Inputs: The input to the dataset is what the user entered as his surname and password. Outputs: The output to the user is if the log in was a success or a failure. 3. 3 Log off This function concludes the session Of an already logged in user. This way another user may log in with his credentials on the same device. Inputs: A request is sent to conclude the user’s current session. Outputs: Informs the User if he has logged off from the application successfully. 3. User Preferences In this function the user enters his preferences on games. He states which games he liked playing and which types of games he enjoys. Inputs: The input to the dataset is the games that the user liked playing and the type of games he likes. Outputs: The user is then informed whether his preferences were successfully saved in the dataset. . 5 Rating This function allows the user to rate a game on a scale of O to 10. Each user is only allowed to rate a game once. Inputs: The input to the dataset is the rating that the user entered. Outputs: The user is informed if the rating he entered was accepted or not. . 6 Comment This function allows a user to comment on a game in order to give feedback to other users. Inputs: The input to the dataset is the comment of the user. Outputs: The user is informed whether his comment was saved to the dataset or not. 3. 7 Suggestions This function gives a list of games which the user will most probably be interested in playing. Inputs: A requests is given to the dataset to show the user’s suggestion. Outputs: The suggestions given by the dataset is shown to the user. 3. 8 Search This function allows the user to search for a game in the dataset.

Inputs: The search query is given to the dataset. Outputs: The user is given the results of the search. 3. 9 Update Application This function allows the operator to add, remove and/or modify content of the application. The operator can add games (maybe with a review), delete comments and change any game review uploaded in the dataset. Inputs: What the operator Wants to be added, removed or modified in the dataset. Outputs: The operator is informed if the dataset was updated successfully. 3. 10 Delete Account This function allows the operator to delete an account of a user from the dataset.

Inputs: The operator inputs a surname to the dataset in order to delete the related account. Outputs: The output to the operator is either success or failure of the deletion. 4. Time Plan and Cost Estimation Analysis Due to the fact that the web application is very lightweight it can be up and running in a very short period of time. The most time will be given in constructing and testing the application. It must be 100% bug-free before it goes online. Another main aspect is the design of the application. It must be attractive and also have all its functions shown clearly.

The dataset on the server would not take much time to be installed as there are only 5 main entities. The application itself being so straightforward the testing is minimal. All in all the whole process is expected to be quite cheap and be online after a month. 5. Software Risk Analysis and Security The biggest problem this application may face is having traffic that is much more than anticipated. This will lead to some users not being able to access the application, or the application may be running slow and the worst scenario is if the server crashes altogether. This is why the server must have a way to deal with excess traffic.

Another problem is if the operator receives more requests than he can handle. Those requests may be deletion of an account or deletion of a comment. This will result in the application not being fully up-to-date. This may be avoided by hiring an extra operator. The only security threat that the application may have is exposure of the users’ passwords and/or preferences. This may occur in a very rare malfunction but it can also occur from an external attack and afterwards publishing the sensitive data. This is why the server must take the appropriate security measures in order for something like this to be avoided.

Appendix A Hypothetical Scenario: A person finds the web application from an external source or from a friend of his who is a registered user. Upon going on the application he sees the “Create account” button and presses it. He is then taken to the create account section of the application and is asked to enter a surname and a password. After entering a surname and password, he sees a notification stating that the registration was a success. After that, the now registered user presses the log in” button and is redirected to the log in section of the application.

He then enters his credentials and is informed that his log in was a success. Afterwards he clicks on the “User preferences” button and is taken to the user preferences section of the application. He then enters 15 different titles of games which he remembers liking. He then presses the “Suggestion” button and is given a list of games titles. He clicks on one and is redirected to the game page which consist of the game’s review, an 8. 7 rating which is average of the other users rating, and comments left by other users. He then logs off he application and ends his current session. SE Cases: Use Case: Create Account Primary Actor: User Goal in context: Able to obtain a surname and password in order to be able to log in the application preconditions: user must not have previously registered Scenario: User goes to the register section, inputs a desirable surname and password and his email address Exceptions: surname is already taken Priority: Essential When available: When user is not registered Frequency of use: As many times as the user enters a surname which is associated with another account Channel to actor: Via the register section 2)

Use Case: Log In Primary Actor: User, Operator Goal in context: Required in order to use the various features of the application Preconditions: The user must have registered to the application and obtained a surname and password Scenario: User goes to the log in section, inputs his surname and password and presses the button which states “log in” Exceptions: User inputs wrong surname and/or password When available: When user is registered but hasn’t signed in Frequency Of use: As many times as the user enters the wrong surname and/or password Channel to actor: Via the sign in section 3) Use Case: Log Off

Goal in context: To Conclude the current session of the User Preconditions: The user must be logged into the application Scenario: User presses the Log Off button, and is then informed if he logged off successfully 4) Use Case: User Preferences Goal in context: The user enters his preferences regarding video games in order for the application to “adapt” to his needs. Preconditions: The user must have logged into the application Scenario: User goes to the “User Preferences” section of the application and then enters games which he had previously played and enjoyed as well as more generally what types of games he enjoys. 5) use Case: Rating

Goal in context: The user is able to rate a game on a scale from O to 10 Preconditions: The user must have logged into the application Scenario: User goes to the rating section on a specific game and chooses a rating from his point of view(from O to 1 0) Exceptions: Game is already rated by the user When available: When user has rated the game Frequency of use: Once per game Channel to actor: Via the rating section Open issues: Should user change his rating? 6) Use Case: Comment Goal in context: Able to comment on a game in order to give feedback to other users Preconditions: The user must have logged in to the application

Scenario: The user goes to the comment section of a game and leaves a comment 7) Use Case: Suggestions Goal in context: A list of games is presented to the user which will most probably be in his interest Scenario: The user goes to the suggestion section of the application and reads what the application recommends Exceptions: The user has not given his preferences on what games he likes Priority: Essential When available: If the user hasn’t used the “User preferences” function Channel to actor: Via the Suggestion section 8) Use Case: Search Game Goal in context: For the user to find a game he is looking for Scenario: The seer goes to the “Search Game” section of the application, types in the title of a game presses the button “Search” and results of his search are given to him 9) Use Case: Application Update primary Actor: Operator Goal in context: The operator is able to add, remove or modify any component or feature of the application.

Preconditions: The operator must have logged into the application Scenario: The Operator goes to the “Update Application” section of the application and is then able to add, modify or remove any features of the application Use Case: Delete Account Primary Actor: Operator Goal in context: The operator is able to delete a user’s account Preconditions: The operator must have logged into the application Scenario: The operator goes to the “Delete Account” section of the application, selects an account from its surname, and then deletes it. Exceptions: The Account selected doesn’t exist or has been previously deleted Priority: Moderate When available: As long as the operator selects accounts that don’t exist Frequency of use: Many times Channel to actor: Via the “Delete Account” section Open issues: Should operator be able to reopen a deleted account? APPENDIX a ML Diagram: RED Diagram: Diagram:

Please follow and like us:
Haven’t found the essay you want?