UML - OOA the noun phrase approach
Show More Show Less View Video Transcript
0:00
object-oriented analysis the noun phrase
0:03
approach it would be a very interesting
0:06
topic so let's let us discuss this one
0:08
with further detailing the developers
0:12
having less exposure with the
0:14
application domain can make use of these
0:17
three-stage process to extract candidate
0:21
classes so it is a very vital question
0:23
for the freshers for the developers who
0:26
are not having a good exposure on a
0:28
certain domain in the application in
0:30
which they the domain in which the
0:32
application is going to get developed
0:34
that how to get the classes at what are
0:37
the classes are to be there and what
0:39
will be their respective methods and
0:41
attributes are to be included in a
0:44
certain class so that's why this
0:46
candidate classes how to get this
0:49
candidate classes is a big questions for
0:51
certain developers so first one is that
0:54
so here we are having three stage
0:57
approach the first one concise problem
1:00
definition so define the product as
1:04
briefly and concisely as possible that
1:08
means we should define the software
1:10
product or the software problem whatever
1:12
it is the problem statement should be
1:14
very much concise and must be given
1:17
briefly and preferably in a single
1:20
statement if it is possible next one
1:23
informal strategy the constraints
1:26
specified informally must be taken into
1:29
account so what are the different
1:31
constraints we have mentioned informally
1:34
that should be taken into our account
1:36
formalize the strategy that is identify
1:40
the nouns in the informal strategy
1:42
exclude those that lie outside the
1:45
problem boundary so here we are
1:48
considering the nouns and those nouns
1:50
which are outside of the problem
1:52
boundary should be excluded of the
1:55
requirement gathering is added and
1:57
formalized to identify that candidate
2:00
classes if this conception is not
2:02
cleared up to this particular discussion
2:04
so let us proceed more the guidelines
2:08
for selecting tentative classes in the
2:11
given application are
2:13
such four nouns pronouns and noun
2:16
phrases in the use cases so that is the
2:20
search for nouns pronouns and noun
2:23
phrases in the use cases so what are the
2:26
use case use concern nothing but the
2:28
functional recommend in the software in
2:31
the system nouns and noun phrases become
2:35
the objects and attributes verbs and
2:39
phrases become the operations and
2:41
associations positive phrases indicate
2:46
that noun should be attribute rather
2:48
than the objects so these are the
2:51
respective herschel cell formalities you
2:54
should maintain that is a nouns and noun
2:57
phrases become the objects and
2:58
attributes attributes of the class
3:01
attributes of the object and then pause
3:03
and power phrases become the operations
3:06
and associations operations means
3:08
methods and associations and this
3:10
positive phrases indicate that noun
3:13
should be attributes rather than the
3:16
objects so some classes are either
3:19
implicit or taken from general knowledge
3:22
all classes must make sense in the
3:25
application domain and avert computed
3:28
implementation classes and delayed them
3:31
to the design stage so that means it
3:35
indicates that we should explain we
3:38
should gather all these classes all this
3:40
candidate classes in such a way that
3:42
there should not be any redundancy and
3:45
it should cover all the aspects of our
3:48
design carefully choose and define class
3:53
names this class names and class name
3:56
and nomenclature should be done very
3:58
precisely and carefully so that from the
4:01
name event we should get the idea of
4:03
what is the purpose of the class so this
4:06
is the way to have our methods how to
4:11
have our attributes in the class to have
4:13
our class names and the respective
4:16
association between classes the
4:20
candidate classes of noun phrase
4:22
approach can be divided into three
4:24
categories such as really
4:26
classes Fuzzy's classes that is the
4:29
classes that are not sure about and the
4:33
Idul event classes that means they can
4:35
be excluded and they can be deleted from
4:38
the system therefore finding the exact
4:40
list of required classes is iterative
4:43
and incremental process so it is
4:46
iterative means inclusion of this
4:48
classes will be iterative where we are
4:51
going to revise and we are going to
4:53
retune our problem statement again and
4:56
again so that we should read our problem
4:58
statement we should read our problem
5:00
definition again and again so that these
5:03
classes whether it should be treated as
5:05
a relevant class or say fuzzy class or
5:08
irrelevant class so they are to be
5:11
categorized in a suitable way so that we
5:14
are going to make our system ready with
5:16
the relevant classes only and those
5:18
classes should have a proper name so
5:21
that from the class name event that
5:23
nomenclature should be done in such
5:25
interesting way that from the class name
5:27
event you can get the purpose of the
5:29
class so in case of redundant classes
5:33
what you should do the classes which
5:36
express the some information same
5:39
information must be avoided use the same
5:43
words to define class that is being used
5:46
by the user of the system that means
5:50
whenever you are finding that some
5:51
classes are there which are having the
5:53
same kind of functionalities so those
5:56
classes are to be are to be eliminated
5:59
adjectives classes the classes which
6:01
behave differently when the object is
6:04
represented by the noun and bewbs
6:07
differently when the adjectives are
6:09
applied to it so they are known as the
6:12
adjectives classes so let me repeat the
6:14
definition once again for your better
6:16
understanding the classes which behave
6:19
differently when the object is
6:21
represented by the noun and behaves
6:24
differently when the adjectives applied
6:27
to it that means whenever we are having
6:29
this adjective classes so whenever it is
6:32
differently behaving when it will be
6:34
treated as a noun and BA
6:36
currently when the adjectives are
6:38
applied to it I think for the better
6:40
understanding will be going for the case
6:42
studies which are there in our in the
6:45
last portion of our tutorial we're
6:47
having multiple case studies where we
6:49
have discussed and there we have used
6:51
this noun phrase filtering and how to
6:54
get the classes out of them we have
6:56
discussed that one with a real-life case
6:58
study there
6:59
please watch those videos also to have a
7:02
grip over this concept attribute classes
7:05
means the noun phrase that is the client
7:08
status is not separate class but it is
7:11
an attribute of the client class so it
7:14
indicates that let us suppose that is
7:16
one noun phrase as an example we are
7:18
having this client status so against the
7:20
client status we cannot create in a
7:22
separate class we should not create in a
7:24
separate class it will be the attribute
7:26
of a class so that is known as the
7:28
attribute classes so here we are having
7:30
this adjective classes we're having this
7:32
redundant classes so we have defined the
7:35
definition of three classes we're having
7:37
this now going for the EDL event classes
7:42
the class that is not having any purpose
7:44
is known as irrelevant class and for
7:47
each candidate class the statement of
7:49
purpose must be clearly defined and if
7:52
it is not possible eliminate the
7:54
candidate class so that means for the
7:57
relevant classes that means which are
7:59
not very much linked to this with the
8:01
system some nouns you might be finding
8:03
in the problem statement which are not
8:05
very much related to the system so those
8:07
those particular classes should not be
8:10
formed because they are the irrelevant
8:12
classes weight classes the classes that
8:15
are out of scope within the boundaries
8:17
of the problem statement are known as
8:19
the weight classes so that means we are
8:21
having some nouns where this nouns are
8:23
not related with the problem and they
8:25
are outside of the boundaries of the of
8:27
the domain so that those classes are not
8:30
to be are not to be constructed because
8:32
they are known as the vague classes so
8:35
relevant classes were having we're
8:36
having fuzzy classes and we are having
8:38
EDD living classes so now let us go for
8:41
this diagram for the baited
8:43
understanding so problem statement which
8:46
will be consisting of set of
8:47
requirements first set of candy
8:50
classes are to be formed review
8:52
irrelevant classes and review redundant
8:55
classes and then review attributes and
8:58
then review adjectives so in this way we
9:02
are going to have the identifying the
9:04
classes using noun phrase approach so in
9:08
this diagram we have shown you that what
9:10
are the different steps for this non
9:12
phrase approach so now a simplified
9:15
steps non phrase approach can also be
9:17
also be shown using this diagram that is
9:20
a requirement statement so exact nouns
9:23
we are going to found find and then
9:26
tentative object classes and exact nouns
9:28
will produce the object classes from
9:31
this respective noun phrase approach so
9:34
in this particular session we have
9:36
discussed that how to form classes how
9:40
to get the methods in a classes how to
9:43
get the attributes in a classes and
9:45
water to be eliminated what are to be
9:48
combined and water to be treated as a
9:51
outside of the boundary of the domain on
9:54
which we are making our system ready so
9:56
they are not to be considered so in this
9:59
way we are going to get our primary
10:01
classes the respective attributes and
10:03
that respective methods and operations
10:05
so it is a very tricky one and obviously
10:08
going through the case study only you
10:11
can explain it further so please work
10:13
please watch all the case studies
10:15
whatever have been discussed in this
10:18
tutorial thanks for watching this video
#Programming
#Programming
#Java (Programming Language)
#Software
#Software Utilities
#Educational Software

