Comment from Mentor #20
Replies: 7 comments 4 replies
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Do you build it? What you are suggesting is that we build the bridge, and then we drive the train across it to see whether it's supports that load or not.
09:46:59
And if not, the bridge breaks, and we have to rebuild it.
09:47:06
So that's one issue, the other issue.
09:47:11
Is that what you're suggesting will not indicate how the system will perform?
09:47:18
In practice. So if we test it a hundred times, and all 100 calls are connected that doesn't mean that it will never drop a call it just means it didn't drop a call.
09:47:34
Then, and the requirement is not actually that you never drop a call.
09:47:39
I think the requirement is related to availability is, what does anyone know?
I mean, it says so, basically, what you want to do is you wanna try to understand?
09:48:00
How are they going to add value to the system?
And in this context, what does adding value mean?
09:48:11
So if we were making a product, adding value might mean that we could sell more products, or we could charge more for the product.
09:48:18
And so that will have a positive business impact on the company that makes that product.
09:48:26
And so that's how we prioritize requirements in this context.
09:48:31
For this project. We wanna think about things that actually matter to you.
09:48:35
And so what I would suggest is that you evaluate how the project is going to be graded.
09:48:43
So we are actually going to evaluate the system that you build.
09:48:48
If you understand how we're going to evaluate it, then you can write requirements that will reflect the evaluation criteria.
And if it's something is worth more points, it should probably be more important or higher priority than something that's worth less points.
09:49:11
You don't want to spend all your time and energy on things that won't have an impact when the project's done right.
09:49:20
So when it comes to availability, what you wanna understand is what we're gonna do to evaluate the system with respect to availability.
09:49:32
you.
And so I don't actually have a concrete answer for
09:49:38
I mean, I know that we're going to do things like introduce jitter and drop packets and things like that.
09:49:47
And I think we're also going to disconnect the call, and the system will have to detect that the call has been disconnected.
09:49:54
But the requirement should reflect that.
09:49:59
Once you have requirements that reflect things that actually matter to you.
09:50:06
Then what you want to do is try to understand what decisions in your design.
Well effect the systems, ability to support those requirements.
09:50:18
So let's say that the requirement is that we need to.
09:50:23
We need to notify participants that the call has been dropped within 1 s.
09:50:30
Let's say, and so now we want to start thinking about.
09:50:33
Well, you know what in the system will affect that.
09:50:38
And so we need something that would detect whether the call is still engaged, or whether it's been dropped.
09:50:46
We need to think about where that's being done and what other work that particular element has to do, and so forth, to make sure that we can detect and notify within our time limit.
09:51:01
So we would want to do that for all of the quality attribute requirements that are important to you that are going to have an impact on your final grade.
09:51:14
And so, and so once you understand what is, what are the decisions that will impact things that are important.
09:52:26
So do you mean, you mean, we need more understand for this software system definitely document, the the designs.
MB Matthew Bass
09:52:26
So good!
09:52:39
Yeah, I mean. So, for example, you have these architectural diagrams here.
09:52:45
But what, specifically, are you trying to communicate in them?
09:52:50
So at this point the requirements aren't really clear and likely.
09:52:57
The decisions that are going to affect those requirements are not very clear.
09:53:03
And so I wonder what you're trying to document.
09:53:07
So I tell you, understand what the key decisions are.
09:53:13
Then then at least in terms of communicating the key design decisions to us.
And so the question then, is, how do you know whether that's sufficient or not?
09:59:25
And the answer to that would be, Do some experiments. See?
09:59:32
See what the bandwidth requirements are. If you turn off video, if you have lower quality video, you have lower quality audio, how many participants will that allow you to deal with what sort of capacity do you still require for your network, and if if that's not good enough there are other things that you
09:59:57
can. So, for example, you could buffer.
10:00:05
And you know buffering will allow you to deal with that packet loss. It costs
10:00:11
With variable network bandwidth, but it comes at a cost, because now you have to fill the buffer, and you have to figure out how large the buffer would be, and so on.
10:00:23
And so so these are the things that you wanna think about and do experiments on you.
10:00:28
Just wanna make sure that you are doing them for the most important requirements.
Let's see. Oh, you just put it in the chat. Okay.
cR changiu Rhee
10:01:19
Actually, we have the experimental plan for the performance. As you commentator, we are going to find the optimal video quality with a different environment.
MB
Matthew Bass
10:01:44
Yeah, so this is good. I mean, it looks like, you guys have thought about this a lot I just, I have some suggestions kind of for each of these.
10:01:54
So if you can send me an email with links to all of your documents, I can then look through them and give you some feedback.
10:02:06
So this is good. You just need to focus the experiments a little bit more concretely.
cR changiu Rhee
10:02:06
Yes.
MB
Matthew Bass
10:02:13
So.
10:02:13
So you have you wanna deal with packet loss and jitter and.
10:02:32
And you are. You have some general effort that says you want to find the optimal quality of the clients.
10:02:40
Video transmission by considering factors that can be set in the system and external environment.
10:02:50
But but these are so. If you step back and you think about this from an architectural perspective, there are architectural strategies for dealing with packet loss or jitter.
10:03:05
The impact of those may not be clear, and so what you don't have here.
10:03:12
So what you say here is that you generally want to try to figure out how to optimize the solution.
10:03:19
But you don't have any specific architectural approaches identified that can help you deal with this more systemically.
10:03:27
What this
10:03:29
I need you to do is try to look at configuration items.
10:03:33
Maybe find a more efficient code or something like that.
10:03:37
But not but not introduce architectural strategies like, you know, buffering, for example.
10:03:46
So what you want is just to focus these a little more and look at what your options are.
10:03:53
And so one strategy that you have, that you've identified is reducing the bandwidth demands.
10:04:02
Oh, I've got! I've got a run in just a minute.
10:04:05
Here, and so you could do an experiment to see what impact that has.
10:04:14
You know, something else you could do is introduce the buffer.
10:04:17
You could do experiments to try to figure out how large of a buffer you would need things like that.
10:04:26
And so if you just, you know. So you have a all the right elements here, you just need to focus them a little bit more.
You need to be more specific with the requirements, the requirements should reflect things that really matter to you as a team, and then the the experiments should be related to the architectural approaches that are that may help you deal with those or or achieve those requirements.
10:05:02
And ideally you sketched. You put a plan together that allows you to do a couple of iterations of this so that you do a little bit of design work you do some experiments.
10:05:15
You from the experiments. Get more information about the design decisions, and how well they will or will not support your requirements.
10:05:25
And you take that information, and you put that back into the design and refine the design.
10:05:30
Accordingly, and if you go through that cycle a couple of times, you should get to the point where you have a design that that has been validated, at least validated enough.
10:05:46
And then you can. Then you can plan for implementation. And at that point you likely will have implemented pieces of the system already.
10:05:56
So implementation will get much easier.
10:06:06
Any other questions?
10:06:36
We use use case diagrams? What's the best way to describe the overall architecture and division of rooms in milestone?
10:06:45
One, so in terms of the best way to discuss the architecture, you want to think about it from the reader's perspective.
10:06:57
So you want to ask yourself, what information are you trying to communicate?
10:07:02
To whom, so if you're trying to communicate to me, what specifically are you trying to communicate to me?
10:07:11
Because in milestone one our expectation is not that you have much done in terms of architecture at this point, so what I would really what I'm really interested in more than the architecture is what does your plan look like?
10:07:28
Do you have a plan that will allow you to validate your architecture before implementation?
10:07:35
For example.
10:07:38
What are the key requirements? Do you understand what the requirement are?
10:07:44
Do you understand what some architectural approaches are that can that might help you achieve the requirements.
10:07:56
Those are the kinds of things that I'd be interested in.
10:08:00
Milestone one the architecture itself is like not gonna evolve all that much until milestone to so milestone one.
10:08:11
You can just describe, say, these are the general approaches, you know, for dealing with Jitter.
10:08:20
We are going to reduce the the image quality.
We're gonna reduce the sound quality.
10:08:26
We're going to introduce a buffer, and you could put that on a slide and bullet points.
10:08:35
You can just communicate that verbally. You could communicate that.
10:08:41
However, you want, you don't need to worry about spending much time
So for the next question, the drivers, Il will review them, offline, and I'll give you more detailed feedback, but they need to be refined
10:09:08
So you need to think about them as test cases for your design.
10:09:13
So could you concretely determine whether a design supports that specific requirement or not.
10:09:21
And so, if it's not clear what the requirement means, if there's no measure, for example, then it certainly needs to be refined.
10:09:33
And so your requirements do need to be refined.
10:09:36
But I can. I can give you concrete feedback.
Beta Was this translation helpful? Give feedback.
All reactions