Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Difference between Feature , Function & Module

10,111 views
Skip to first unread message

PopCorn

unread,
Jan 2, 2009, 1:08:55 AM1/2/09
to
Hi all,

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

Shrinik

unread,
Jan 2, 2009, 4:58:45 AM1/2/09
to
To get started ... first share your views or definitions .... what you
find confusing .. so that we are clear it is not a homework or an
interview question ....

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

PopCorn

unread,
Jan 4, 2009, 10:24:17 PM1/4/09
to

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

Shrinik

unread,
Jan 6, 2009, 6:59:13 PM1/6/09
to
Micky,

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

addeyde...@gmail.com

unread,
Jan 16, 2009, 8:08:56 AM1/16/09
to

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


H. S. Lahman

unread,
Jan 16, 2009, 2:59:43 PM1/16/09
to
Responding to PopCorn...

> 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

0 new messages