Before we jump into design I just wanted to give a quick sort of overview about where we are so far
in the course.
So we have learned about requirements we have learned the assumptions requirements specifications and
then the W RSP model.
We've done a few examples and so we are pretty comfortable with defining the problem.
Defining what exactly we're trying to solve and then coming up with some ways that we're going to solve
it some constraints something that we can hand to someone else and they'd understand our idea.
Well the next step after we get the requirements is we need to start actually designing that thing.
So back here Remember I said that we aren't in designing phase which means we're not saying we're going
to use this technology in this technology to implement X Y and Z.
That's too much.
We're just gonna say if there's a constraint.
So we have to use this technology or we're going to say very a top down sort of thing or a little technical
know nothing really too far past that in design that's where we actually get into the nitty gritty.
This can go as sort of loose or as strict as you want.
Some companies will actually basically code the entire project without ever touching a computer.
They'll make all of the functions and the the objects that need to be created and how they should interact
with one another.
They'll do all of that in the design phase with like flow charts and with these different sort of models.
That's probably not we're probably going to go over that much detail.
We're going to go over how you might implement and a model that you might build to follow if you ever
wanted to do that design is very important because it allows the implementation to go flawlessly allows
you to go with mainly without a hitch.
It allows it to us again do that saving time where if we spend you know time in the beginning we save
time in the end and that's what really the design is about.
So there's a couple of different things or any covering a design we're gonna be going over the architecture
high level design their different models with a sort of high level design the things called coupling
and cohesion these are important whenever you're designing something and then more low level design
that's when we are talking about where you actually code.
The thing is you're actually designing the the components the methods the objects before you get to
coding and then something called modularity the ability to reuse code.
So we are again past the first part and we're down into the second part designs.
Let's jump into this.