The document discusses techniques for providing a structured location of software features in code. It involves mapping features to relevant modules, analyzing relationships between modules, and exploring implementation structures of features. This includes identifying inter-feature and intra-feature structures as well as sub-feature structures. The techniques are demonstrated on an example application, and future work is outlined to improve scalability and evaluate effectiveness.
Advantages of Hiring UIUX Design Service Providers for Your Business
Toward Structured Location of Features
1.
2. Feature
Loca+on
• Iden+fying
correspondence
between
features
and
modules
in
source
code
Features
List
of
Relevant
Modules
AccountBean.signon()
Search
Catalog,
AccountBean()
Sign
On
and
Off,
AccountService()
LOCATION
FEATURE
Browse
Categories,
CatalogService()
......
Account.setPassword(String)
AccountBean(AccountService,
CatalogService)
DaoConfig.getDaoManager()
......
CatalogService.getProductListByCategory(String)
Developer
3. Mo+va+on
• AHer
features
are
located,
there
is
s+ll
a
cogni6ve
gap
between
features
and
modules
Rela+onships
Among
Modules
List
of
Relevant
Modules
a
caller
and
its
callee.
AccountBean.signon()
AccountBean()
easier to understand at once?
AccountService()
invoked
together
in
many
CatalogService()
0mes
based
on
a
call
pa6ern.
Account.setPassword(String)
also
relevant
to
AccountBean(AccountService,
CatalogService)
? "Browse
Categories".
DaoConfig.getDaoManager()
......
low priority?
CatalogService.getProductListByCategory(String)
Developer
4. Our
Goal:
Structured
Loca+on
• Stepwise
explora+on
of
implementa+on
structure
of
features
Features
Search
Catalog,
Browse
Categories,
Inter-‐Feature
Structure
STRUCTURED
Sign
On
and
Off,
LOCATION
......
is
a
part
of
Intra-‐Feature
Structure
is
composed
of
Sub-‐Feature
structure
is
implemented
by
Developer
Modules
5. Example:
JPetStore
• Virtual
e-‐commerce
system
– Reference
applica+on
of
Java
EE
Feature
List
f1:
Browse
Catalog
f2:
Search
Catalog
f3:
Browse
Categories
f4:
Browse
Product
Details
f5:
Browse
Item
Details
f6:
Update
Shopping
Cart
f7:
Sign
On
and
Off
f8:
Update
Account
f9:
Update
Personaliza+on
f10:
Submit
Order