Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
General FAQ's
#1
The following are some clarifications and answers to the most frequently asked questions!

How to write a user story 101?

"As Who, I want What so that Why "

User stories are written in everyday language and describe a specific goal (what) from the perspective of an individual (who) along with the reason (why) he/she wants it. ~ https://www.visual-paradigm.com/guide/ag...ser-story/

In software development, the goal is often a new product feature, the individual is some type of end-user and the reason is the benefit that the user sees in the targeted product feature.

As a [customer], I want [shopping cart feature] so that [I can easily purchase items online].

What is difference between Intention and Goal?

"The end toward which effort is directed" ~ merriam-webster.com/dictionary/goal
"The thing that you plan to do or achieve: an aim or purpose" ~ merriam-webster.com/dictionary/intention

What is the difference between a user requirement and a system requirement?

A user requirement is a high-level description of a particular functionality the user wishes to achieve through the system. On the other hand, system requirement(s) elaborate on their corresponding user requirements by showing, from the system's perspective, what functionalities should be there in order to fulfill said user requirement. System requirements are functionalities provided by the system and NOT UI/UX specific actions.

You are asked to deliver user stories. A user story is a user requirement with its corresponding system requirement(s). You are NOT asked, when it comes to user stories, to plan the UX of the system.

Examples:


  1. If we have the following user requirement "As a user, I should be able to view a video”, the corresponding system requirements for it will be:
    - As a user, I should login- As a user, I should "search" for videos- As a user, I should select a video to playThese are the system requirements that should be provided by the system in order to fulfill the original user requirement.
  2. "As a user I should be able to view my schedule” is a good user requirement
  3. "As a user, I should be able to press a button to go to my home page" is NOT a valid system requirement.

Are we asked to deliver a minimum of 150 user requirements or system requirements? 

You are asked to deliver a minimum of 150 system requirements. Also, the "ID" field in the excel sheet is for system requirements not user requirements.


Do we repeat system requirements?

No. You do NOT repeat system requirements. In other words, if you wrote "As a user, I should login" once, you do not need to rewrite it with every user requirement. Since basically the entire system should have a login feature for all personas, do not rewrite it, assume it is there.

Note: when we mention module membership or minimum number of requirements we mean system requirements. However, when we mention sequence diagrams we mean user requirements.

How do I write my requirements if I am not going to repeat system requirements and it could be the case that many user requirements depend on a particular system requirement?


Use the “Depends On” tab in the updated template.

Example: check attached image "Updated Requirements Template Image"

What is a module?

For all intents and purposes, a module is a subsystem in your architecture. It is basically a collection of coherent functionalities or services that could stand on their own.

How many non-functional requirements should we include?

There is no constraint on how many non-functional requirements should be included. However, since functional requirements depend on non-functional requirements you have to write all those non-functional requirements that will affect your system.

Are we enhancing the current system or creating a new one?

You are creating a completely new system. Hence, you can use/add any functionality that is already there in the old system.

Is there one correct architecture?


No. As with any computational design problem there is not a single correct solution. Also, there is no one size fits all approach to architecting a system. Hence, think of why you chose to make your system the way it is because you have to argue for it when evaluating your submissions. Keep the following in mind when architecting your system:
  • Modules should be highly coherent 
  • Modules should be loosely coupled
  • Modules should be modular
  • Modules provide a particular set of functionalities and are not dependent on other modules

Where is the Researchers’ Portal?


The researchers’ portal is a system that is not there yet. You are asked to create it from scratch. So, you are required to ask questions to the clients (Course Staff) to gather more insights.

On what program will we do diagrams on?

You will use https://www.draw.io/ ! It will be part of your submission.

How many class diagrams and sequence diagrams are we expected to deliver?

You are expected to deliver a single class diagram representing all entities in all of your subsystems. Moreover, you’re expected to deliver 2 sequence diagrams per module. The two most prominent user requirements in a module are the one to be translated into sequence diagrams.

Can we write more than 150 system requirements?

Yes you definitely can. TA's estimated around 500 unique system requirements as a starting number to begin with.

Can we write system requirements as "Search for a video" or do they have to have the same format as user requirements, <As a user, I should be able to "search for a video">?

Following the sample provided in the template, that is the required approach.

If we mention logging only once, then do we have to write in all the other user requirements, <As a logged in user, I should be able to ...> or just <As a user, I should be able to ...>?

There is only two options, use dependence or you must write <As a logged in user...>

Can we be specific in the goal column to follow this need to be detailed?

To being with you must always be clear, to the point along other things and most definity detailed. However, they must not be redundant or meaningless or repetitive etc.
Moreover, as detailed as they should, it is not the role of requirement gathering phase to instruct the developers of the team to the exact details of the implementation. 

Is searching, filtering type of requirements? Are these UX and we should not mention them, otherwise we will lose marks?

Depending of the rational of the requirement, thus any requirement that will lead the developers team to implement it, is valid one. UX is how a person feels when interfacing with a system and using its features/functions.

Is writing a functionality multiple times due to different roles considered multiple requirements?

<As a Dr, i should view my schedule>, <As a TA, i should view my schedule>, <As a student, i should view my schedule> should be --> <As all, i should view my schedule>. It is only considered one!

------------------------------------------------------------------------------------ Added Questions ------------------------------------------------------------------------------------ 

What do we include in the sequence diagrams?

Use the modules and show how they interact with each other in detail. You can skip the login function.

How many methods should I include in the class diagram?

You should have 150 methods in total; 1 method for each system requirement. You don't need to write any attributes. Make sure you show the inheritance properly.

How do I draw the architecture diagram?

Draw the stakeholders (as shown below) and show which modules interact which which stakeholder (not all modules will be used by all stakeholders) and also show how the modules interact with each other. Make sure you use arrows not just lines. You don't need to write anything on the arrows. You don't need to add anything to do with databases, servers, etc..

How many times should I write the login system requirement?

Only once.

Can we submit the diagrams as pdfs or hand drawings?

Pdfs or draw.io will be fine. No hand drawings.

Can we postpone the deadline or any part of milestone 1?

After discussing this topic the answer is No.


Attached Files Thumbnail(s)
   
Mo.Agamia
Reply
#2
Thanks a lot! I have a couple of questions:

1. Can we write more than 150 system requirements if we needed to (for example, there was an unfair distribution between the Student/TA/doctor requirements)?

2. Can we write system requirements as "Search for a video" or do they have to have the same format as user requirements, <As a user, I should be able to "search for a video"> because that would be redundant a bit.

3. If we mention logging only once, then do we have to write in all the other user requirements, <As a logged in user, I should be able to ...> or just <As a user, I should be able to ...>?

4. In the Software Engineering book, they stressed on the fact that system requirements have to be detailed, so that the system architects/ designers / programmers can know what exactly they should implement. Can we be specific in the goal column to follow this need to be detailed?

For example, if the user requirement is --> <As a user, I should be able to view my transcript>
and one of the system requirements is <Choose one of the study years>,
can the goal be long and descriptive of the kind of data the user would expect to see,
i.e., the goal --> To be able to see the transcript for the five seasons [Winter, Spring, Summer Round I] etc. Each season should show the course name, grade, numeric value, etc, etc. (Without, of course, mentioning how this kind of data is shown as UI). I just want to write the type of data shown. Is this valid?

5. What about searching, filtering type of requirements? Are these UX and we should not mention them, otherwise we will lose marks?
Reply
#3
(03-02-2020, 06:13 AM)mariamaged Wrote: For example, if the user requirement is --> <As a user, I should be able to view my transcript>
and one of the system requirements is <Choose one of the study years>,
can the goal be long and descriptive of the kind of data the user would expect to see,
i.e., the goal --> To be able to see the transcript for the five seasons [Winter, Spring, Summer Round I] etc. Each season should show the course name, grade, numeric value, etc, etc. (Without, of course, mentioning how this kind of data is shown as UI). I just want to write the type of data shown. Is this valid?


Ans.

1- <Choose one of the study years>, is not a correct way of writing this system requirement. It should be:
<The system should be able to view the transcript of a particular year>
<The system should be able to view the transcript of all years>

2- User stories must be flexible!. Therefore, they should NOT be too much detailed and should leave room for editing them or adding more to them. However, yes you can and should definitely add those details.
Mo.Agamia
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)