224 lines
5.1 KiB
Plaintext
224 lines
5.1 KiB
Plaintext
1
|
|
00:00:00,220 --> 00:00:03,550
|
|
Once we collected the required knowledge on the requirements for
|
|
|
|
2
|
|
00:00:03,550 --> 00:00:06,120
|
|
the system that we're developing, we need to model it in
|
|
|
|
3
|
|
00:00:06,120 --> 00:00:08,430
|
|
a structured and clear way, so that it can be
|
|
|
|
4
|
|
00:00:08,430 --> 00:00:12,100
|
|
analyzed and refined. And there are really tons of ways to
|
|
|
|
5
|
|
00:00:12,100 --> 00:00:15,840
|
|
do that, depending on your focus and objectives. More specifically,
|
|
|
|
6
|
|
00:00:15,840 --> 00:00:18,940
|
|
when modeling requirements you need to decide what you want to
|
|
|
|
7
|
|
00:00:18,940 --> 00:00:21,710
|
|
model and how you want to model it. So let's look
|
|
|
|
8
|
|
00:00:21,710 --> 00:00:25,390
|
|
at these two aspects independently. What you decide to model depends
|
|
|
|
9
|
|
00:00:25,390 --> 00:00:28,270
|
|
on where your emphasis is. That is on which
|
|
|
|
10
|
|
00:00:28,270 --> 00:00:31,390
|
|
aspects of the requirements you want to focus. For
|
|
|
|
11
|
|
00:00:31,390 --> 00:00:34,880
|
|
example if your emphasis is on the characteristics of
|
|
|
|
12
|
|
00:00:34,880 --> 00:00:37,970
|
|
the enterprise of the company that you are analyzing you
|
|
|
|
13
|
|
00:00:37,970 --> 00:00:40,240
|
|
may want to model goals and objectives of the
|
|
|
|
14
|
|
00:00:40,240 --> 00:00:44,380
|
|
company, or its organizational structure, its task and dependencies
|
|
|
|
15
|
|
00:00:44,380 --> 00:00:47,040
|
|
and so on. Conversely, if your focus is on
|
|
|
|
16
|
|
00:00:47,040 --> 00:00:50,500
|
|
information and behaviors, you might want to concentrate on aspects
|
|
|
|
17
|
|
00:00:50,500 --> 00:00:53,800
|
|
such as the structure of information, various behavioral views
|
|
|
|
18
|
|
00:00:53,800 --> 00:00:55,480
|
|
some of which we will see in the next
|
|
|
|
19
|
|
00:00:55,480 --> 00:00:59,650
|
|
lesson, or maybe time or sequencing requirements. Finally, if
|
|
|
|
20
|
|
00:00:59,650 --> 00:01:02,750
|
|
you're mostly interested in the quality aspects of your
|
|
|
|
21
|
|
00:01:02,750 --> 00:01:06,790
|
|
system, you will focus on the various non-functional properties
|
|
|
|
22
|
|
00:01:06,790 --> 00:01:09,070
|
|
of the software that are relevant in the context
|
|
|
|
23
|
|
00:01:09,070 --> 00:01:13,570
|
|
considered. For example reliability, robustness, security, and so on.
|
|
|
|
24
|
|
00:01:13,570 --> 00:01:15,550
|
|
You will just pick the ones that are relevant for
|
|
|
|
25
|
|
00:01:15,550 --> 00:01:18,540
|
|
your context. And as we said, there's a second dimension.
|
|
|
|
26
|
|
00:01:18,540 --> 00:01:21,050
|
|
After you have decided what to model in your system,
|
|
|
|
27
|
|
00:01:21,050 --> 00:01:23,480
|
|
you have to decide how you want to model it.
|
|
|
|
28
|
|
00:01:23,480 --> 00:01:25,860
|
|
So I want to show here some options for modeling
|
|
|
|
29
|
|
00:01:25,860 --> 00:01:30,380
|
|
enterprises, information, and quality aspects. And as you can see
|
|
|
|
30
|
|
00:01:30,380 --> 00:01:34,100
|
|
here for each type of information there are many possible
|
|
|
|
31
|
|
00:01:34,100 --> 00:01:36,840
|
|
models that we can use to represent it. And all
|
|
|
|
32
|
|
00:01:36,840 --> 00:01:38,750
|
|
these models have advantages and
|
|
|
|
33
|
|
00:01:38,750 --> 00:01:41,400
|
|
disadvantages, different levels of formality and
|
|
|
|
34
|
|
00:01:41,400 --> 00:01:44,000
|
|
different focus. Something else that I want to point out
|
|
|
|
35
|
|
00:01:44,000 --> 00:01:47,145
|
|
about these models is the fact that these models are often
|
|
|
|
36
|
|
00:01:47,145 --> 00:01:50,980
|
|
orthogonal to one another, especially if we consider models in different
|
|
|
|
37
|
|
00:01:50,980 --> 00:01:54,620
|
|
categories. So what that means is that they're complimentary rather than
|
|
|
|
38
|
|
00:01:54,620 --> 00:01:58,310
|
|
mutually exclusive. Different models can be used to provide views
|
|
|
|
39
|
|
00:01:58,310 --> 00:02:01,290
|
|
of the requirements from different perspectives, and we will not see
|
|
|
|
40
|
|
00:02:01,290 --> 00:02:03,700
|
|
most of these models in this course, but I wanted to
|
|
|
|
41
|
|
00:02:03,700 --> 00:02:06,550
|
|
list them anyways to give you an idea of how many
|
|
|
|
42
|
|
00:02:06,550 --> 00:02:09,490
|
|
there are and how vast is this area. As far
|
|
|
|
43
|
|
00:02:09,490 --> 00:02:11,540
|
|
as we are concerned in the course and for the
|
|
|
|
44
|
|
00:02:11,540 --> 00:02:14,660
|
|
projects we will express requirements using one of two main
|
|
|
|
45
|
|
00:02:14,660 --> 00:02:19,010
|
|
ways. Using natural language, that is informal specifications and using
|
|
|
|
46
|
|
00:02:19,010 --> 00:02:22,600
|
|
UML diagrams, which is graphical models. And we will introduce
|
|
|
|
47
|
|
00:02:22,600 --> 00:02:25,840
|
|
UML and the most important diagrams in the next lesson.
|
|
|
|
48
|
|
00:02:25,840 --> 00:02:27,330
|
|
And the only other type of models that I want
|
|
|
|
49
|
|
00:02:27,330 --> 00:02:31,610
|
|
to mentions explicitly are goal models because they're extremely popular.
|
|
|
|
50
|
|
00:02:31,610 --> 00:02:34,930
|
|
So the main idea with goal models is it start with the main goal of
|
|
|
|
51
|
|
00:02:34,930 --> 00:02:36,990
|
|
the system and then keep refining it
|
|
|
|
52
|
|
00:02:36,990 --> 00:02:39,654
|
|
by decomposing it in sub-goals. So it's kind
|
|
|
|
53
|
|
00:02:39,654 --> 00:02:41,610
|
|
of a very natural way of progressing.
|
|
|
|
54
|
|
00:02:41,610 --> 00:02:44,210
|
|
And you continue this refinement until you get
|
|
|
|
55
|
|
00:02:44,210 --> 00:02:47,150
|
|
to goals that can be operationalized, and represent
|
|
|
|
56
|
|
00:02:47,150 --> 00:02:49,380
|
|
the basic units of functionality of the system.
|