bounswe / bounswe2022group2

17 stars 8 forks source link

Milestone 1: Evaluation of the Status of Deliverables #491

Closed onurkomurcu closed 1 year ago

onurkomurcu commented 1 year ago

Issue Description

I will write the evaluation of status of deliverables for the Milestone 1. I will evaluate some of the deliverables and document them. I will post the work I done under this issue. Rest of the evaluation will be done by @gokayyildiz.

Step Details

Evaluate and write the result your evaluation of

Final Actions

After the whole work is presented, I will be waiting for the review. After it is finalized, i will be adding it to the milestone 1 report.

Deadline of the Issue

03.11.2022 - Thursday - 22.00

Reviewer

Altay Acar

Deadline for the Review

03.11.2022 - Thursday - 23.00

onurkomurcu commented 1 year ago

Software Requirements Specification

In the end of the CmpE352 course, we initialized the requirements specification for our software. In the first two weeks of this term, we updated and changed our requirements according to the customers feedback. For now, software requirements specification is finalized.


Software Design (UML)

Use case diagram includes whole use case scenarios for all types of users. From that UML, people can understand the concept and logic of the software.

Class diagram clarify the structure of classes in software. It includes classes, their methods and relations with other classes.

Sequence diagram has several use case scenarios. For each scenarios, it indicates the call methods and responses between classes. It is kind of concatenation of use case and class diagram.

Whole UML’s are also updated in the first two week of the term according to the changes in the requirements specification.


Scenarios and Mockups

Registered Lecturer Scenario and its mockup show us how the user login and create learning space in frontend. Login -> Home Page -> Learning Space Creation Page are the visited pages during the flow of action.

Unregistered Learner Scenario and its mockup show us how the user signup and use almost every feature of the software in frontend.

Lecturer Creates Community Event Scenario and its mockup also show us how the user create event for a specific learning space in frontend. Login -> Course Page -> Event Creation Page are the pages visited.

For the sake of collaborative learning mindset across platform, we think that users can be both learner and lecturer. So, there won’t be any separate user types in our software.


Project Plan

Project plan prioritize and schedules the whole term to do’s. We can say it is like a process scheduling in an operation system. It indicates which tasks should be done in which period of the term. And also its duration is decided. It is the most convenient tool to keep track of the progress.

onurkomurcu commented 1 year ago

It is now ready to be reviewed by @xltvy.

xltvy commented 1 year ago

Thank you for your work. Here are some suggestions I would like to point out:

Requirements

I think we can add a brief description about what requirements specification is and for what we have used, i. e. how it is related to our project.

Software Design

Just like my suggestion on requirements above, for each diagram we can add how they are related to our code as well. Also, we can mention what we have covered for the Milestone 1.

Scenarios and Mockups

Again, what is a scenario and mockup, what is it used for, how it is related to our project (for example demonstrating to a customer) may be added. Also, we should write it formally, symbols like -> would not be appropriate. And last, because we did not use any of these scenarios in our customer presentation,I think we can only briefly mention about these three scenarios. We need to mention the scenarios we have used in our presentation in more detail than these three. Because this Milestone is not about last semester's progress, instead it is about what we have done until Milestone 1.

Project Plan

We can also mention that we use project plan to divide our work into reasonable timetable and estimate the foreseeable tasks. So that, we can have a brief idea about the whole timetable of development as well as we do not miss any action.

onurkomurcu commented 1 year ago
I think we can add a brief description about what requirements specification is and for what we have used, i. e. how it is related to our project.

I am agree with that point. I missed that crucial part in some of the evaluations as you said.

Software Requirements Specification

In the first two weeks of this term, we updated and changed our requirements according to the customers feedback. For now, software requirements specification is finalized. Software requirements specification now include whole features that are required to implemented and included. It is a crucial document to prevent misunderstanding about any features among team members. It should be checking during the development process.


Just like my suggestion on requirements above, for each diagram we can add how they are related to our code as well. Also, we can mention what we have covered for the Milestone 1.

I have added "how they are related to our code" information. However, what we have covered for the Milestone 1 is the part of Software evaluation I guess.

Software Design (UML)

Use case diagram includes whole use case scenarios for all types of users. From that UML, people can understand the concept and logic of the software. The location of the pages and navigation among them is derived from the use case diagram. This information is used in implementation stage. Class diagram clarify the structure of classes in software. It includes classes, their methods and relations with other classes. This UML is beneficial for backend implementation. We are also benefitted from this diagram. Sequence diagram has several use case scenarios. For each scenarios, it calls methods and gives responses. It is kind of concatenation of use case and class diagram. We used them when requests and responses occurred. Whole UML’s are also updated in the first two week of the term according to the changes in the requirements specification.


Again, what is a scenario and mockup, what is it used for, how it is related to our project (for example demonstrating to a customer) may be added. Also, we should write it formally, symbols like -> would not be appropriate. And last, because we did not use any of these scenarios in our customer presentation,I think we can only briefly mention about these three scenarios. We need to mention the scenarios we have used in our presentation in more detail than these three. Because this Milestone is not about last semester's progress, instead it is about what we have done until Milestone 1.

Scenarios and Mockups

For the sake of collaborative learning mindset across platform, we think that users can be both learner and lecturer. So, there won’t be any separate user types in our software. The scenarios and mockups that we made in the last semester won't fit in that requirement. So, in the customer presentation, we modified the scenarios. However, mockups generally satisfy our requirements. In the customer presentation, our first scenario was about unregistered user. User sign ups and receives verification code. S/he is redirected to the verification page. Verification code is entered and user is now in the app. S/he views the home page and log out. After that s/he tries to log in and successfully log in. This scenario is also showed in mobile app. In addition to that, since profile page was implemented in the mobile app, user navigate to the profile page and take a photo of himself/herself. And change the profile photo. With this scenarios, wrong inputs and their response messages are also shown to the customer. At the end, scenarios and mockups have great impact on the customer. It is kind of evidence of the progress.


We can also mention that we use project plan to divide our work into reasonable timetable and estimate the foreseeable tasks. So that, we can have a brief idea about the whole timetable of development as well as we do not miss any action.

Project Plan

Project plan prioritize and schedules the whole term. We can say it is like a process scheduling in an operation system. We divide our work and distribute them evenly. In this way, in a relatively short period of time, lots of work will done simultaneously. And also, there won't be much work right before the deadlines and we don't miss any tasks during development. By this way, having a project plan is the most convenient thing to keep track of the progress as well.

xltvy commented 1 year ago

Well done @onurkomurcu very nice work! I am closing this issue, and we can add your material to the group review.