I am rather confuse about the following terms:
1) Feature
2) Function
3) Module
Can anyone kindly enlightened me with examples?
Have a great day ahead =D
Cheers
Mickey.Y
What do you think are the definitions can you think one example for
each and explain the confusion?
Shrini Kulkarni
Test consultatant
http://shrinik.blogspot.com
Hi,
My understandings are as followed:
1) Feature = A feature is something which make ur application stand
out from others
2) Function = How the appliation should react to user's action
3) Module =A group of functions
Please correct me if i am wrong
Cheers
Mickey.Y
I think that is a fair and good understanding. While module and
feature are referred in general (non software code) sense, the word
function might mean something that is code unit as in "function
implemented in ... language".
What is the confusion? Note that depending upon who you are speaking
to and their background - some times you might have to make such
distinctions that are logical from your stand point and understand the
other person's view. Some times you might have to ask about meanings
of certain words that can be potential confused of having different
meaning ...
Shrini
Hi
From a business systems analysis point of view:
In my opinion, a function can be used as a synonym for a usage case.
I know the OO people will jump on my head when/if they read this, but
in truth I have not seen the value of separating these two concepts.
The usage case is an excellent/unbeatable construct to represent a
function. I generally use them as synonyms. Functions/use cases can
be derived from a higher-level construct that I call a "Capability".
This is pure business language, and refers to the significant
capability that the business expects. The capability may have to cope
with different scenarios, so each scenario provides the basis for a
usage case/function. A feature is also a function required from the
system, but is not significant enough to warrant a major description
or major modeling effort. I generally think of a module as a package
of software constructs that satisfy a capability.
So there is a hierarchy here:
--> Business Capability (example: "The capability to create digital
documents")
-----> Function/Usage Case
(Scenario #1: "I am mobile most of the time, visiting clients, and
need to create a digital document while away from the office") - This
results in Use Case #1
(Scenario #2: "I am located at a single location during the working
day and need to create digital documents") - This results in Use Case
#2
--------> Feature
(Feature #1: "I need to be able to select different fonts while
creating my digital document")
(Feature #2: "I need to be able to select a block of text and make it
bold")
This is just my opinion. It helps me to separate significant
requirements that drive design decisions, from smaller needs,
valuable, but not significant in the sense of requiring large modeling/
descriptive effort.
Hope ithelps
Cheers
> My understandings are as followed:
>
> 1) Feature = A feature is something which make ur application stand
> out from others
Fine, as far as it goes. However, features are usually perceived from
the perspective of the software customer or user. They organize the
black box requirements of the system. So they may or may not map to
individual modules or functions.
> 2) Function = How the appliation should react to user's action
The meaning depends on whether one is talking about requirements or
software structure.
Technically, in software a function is a procedure that returns a value.
A procedure that does not return a value can also respond to a user's
action. A software procedure may or may not be a direct reaction to a
user's action. For example, a procedure may be a response to the setting
of an interrupt bit by the hardware or OS.
For requirements the notion of 'function' implies behavior; some
cohesive set of business rules and policies that the software must
execute correctly. Those rules and policies may or may not map 1:1 to
software modules and procedures.
FWIW, I usually try to use the word 'functionality' rather than
'function' when referring to requirements just to avoid confusion over
the very different views.
> 3) Module =A group of functions
Not quite. A better way to describe it would be that a module captures a
cohesive subject matter. Most subject matters involve functionality, but
one can have pure data modules. And when a software module has
functionality, it may be implemented by simple procedures.
For requirements a module also encapsulates a particular subject matter.
That subject matter may or may not map 1:1 to software modules (but the
software is usually more maintainable if it does).
--
Life is the only flaw in an otherwise perfect nonexistence
-- Schopenhauer
H. S. Lahman
H.la...@verizon.net
software blog: http://pathfinderpeople.blogs.com/hslahman/index.html