Alright, so welcome back to software engineering.
Great to have you here and we can continue with our journey through the realm of software
engineering.
We had a bit of a break now, so let's summarize a little bit.
We've seen that programming has been around for quite some time now and in the beginning
people were just doing their small projects, they could realize them quite well, but as
soon as projects scale you have to involve many people, it gets more and more difficult
to synchronize and to develop good strategies to work together.
And this is exactly where software engineering comes in.
So software engineering will help us to make better software.
And we've already seen that making better software is not just learning to program better,
it's more, it's much more than that because software is not just the source code, but
software involves cooperation, creation of software, we have to work with other people,
have to synchronize with them, we have to think about things like specification, documentation,
test cases and all of these things.
So we started with the very beginning software engineering, we needed if we don't do proper
software engineering projects fail and just get expensive and we don't get what we want.
That's a huge problem.
Then we realized in order to do that we need a kind of structured approach in order to
create software.
And the first things that we discussed were, you know, we could do it with a like waterform
model that we think about the specification, implement, test and in the end we have to
define a software.
And then we have seen that software is a bit different compared to a typical product that
is manufactured.
We would do it exactly in that way because in software engineering we can go back to
software, hand out updates, so we have quite a few options that you don't have if you
manufacture a chair.
If you manufacture this chair and you forgot to put here the backside into place and you
sell it, well, it's not a proper chair and you can't edit.
But if you have software then you can just add it on top, you can change all kinds of
parts, customize it and so on and play out the updates on the internet.
So this is where software is fundamentally different.
The next thing that we have seen is that we can then essentially follow two schools of
software engineering in the design and manufacturing.
One is that you really do it in a plan driven way and I think one of the key things that
we have seen there is the V model where you do essentially design and at the design specification
phase you already think about how to test it and then implementation system design,
then design test and implementation test so that at every stage you immediately test.
This is highly planned driven.
It can be very useful if you are used to working that way.
We've seen that because of the huge variability that we can expect, customers change their
desires, their needs, software is evolving very, very quickly.
That also another school is very useful, the agile models and we've seen quite a few ways
how to organize very agile the software from really extreme programming to more structured
ways like Scrum.
So these were the software processes, how we make software.
But before we actually can make software, we have to start with requirements.
We have to think about what we actually need and what needs to be implemented.
So this was the next kind of topic that we discussed, requirements engineering, how to
Presenters
Zugänglich über
Offener Zugang
Dauer
01:25:58 Min
Aufnahmedatum
2024-06-06
Hochgeladen am
2024-06-06 21:59:04
Sprache
en-US