ILF Identification Rules-Methods Of Software Engineering-Lecture Notes, Study notes of Software Engineering

This course includes software-- development process, process models, project planning, quality assurance, configuration management, process and project metrics, change, re-engineering. It also discuss risk analysis and management and project management. This lecture contains: ILF, Idenitification, Rules, EIF, Complexity, Contribution, DET, RET, Control, Information, Group, Account, Fields, Key

Typology: Study notes

2011/2012

Uploaded on 08/06/2012

angarika
angarika 🇮🇳

4.4

(56)

90 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
The following list outlines how the rules are presented:
ord element types (RETs)
ILF Identification Rules
To identify ILFs, look for groups of data or control information that satisfy the definition
of an ILF. All of the following counting rules must apply for the information to be
counted as an ILF.
The group of data or control information is logical and user identifiable.
The group of data is maintained through an elementary process within the application
boundary being counted.
EIF Identification Rules
To identify EIFs, look for groups of data or control information that satisfy the definition
of an EIF. All of the following counting rules must apply for the information to be
counted as an EIF.
The group of data or control information is logical and user identifiable.
The group of data is referenced by, and external to, the application being counted.
The group of data is not maintained by the application being counted.
The group of data is maintained in an ILF of another application.
Complexity and Contribution Definitions and Rules
The number of ILFs, EIFs, and their relative functional complexity determine the
contribution of the data functions to the unadjusted function point count. Assign each
identified ILF and EIF a functional complexity based on the number of data element types
(DETs) and record element types (RETs) associated with the ILF or EIF. This section
defines DETs and RETs and includes the counting rules for each.
DET Definition
A data element type is a unique user recognizable, non-repeated field.
DET Rules
The following rules apply when counting DETs:
1. Count a DET for each unique user recognizable, non-repeated field maintained in or
retrieved from the ILF or EIF through the execution of an elementary process. For
example:
An account number that is stored in multiple fields is counted as one DET.
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download ILF Identification Rules-Methods Of Software Engineering-Lecture Notes and more Study notes Software Engineering in PDF only on Docsity!

The following list outlines how the rules are presented:

ord element types (RETs)

ILF Identification Rules

To identify ILFs, look for groups of data or control information that satisfy the definition of an ILF. All of the following counting rules must apply for the information to be counted as an ILF.  The group of data or control information is logical and user identifiable.  The group of data is maintained through an elementary process within the application boundary being counted.

EIF Identification Rules

To identify EIFs, look for groups of data or control information that satisfy the definition of an EIF. All of the following counting rules must apply for the information to be counted as an EIF.

 The group of data or control information is logical and user identifiable.  The group of data is referenced by, and external to, the application being counted.  The group of data is not maintained by the application being counted.  The group of data is maintained in an ILF of another application.

Complexity and Contribution Definitions and Rules

The number of ILFs, EIFs, and their relative functional complexity determine the contribution of the data functions to the unadjusted function point count. Assign each identified ILF and EIF a functional complexity based on the number of data element types (DETs) and record element types (RETs) associated with the ILF or EIF. This section defines DETs and RETs and includes the counting rules for each.

DET Definition

A data element type is a unique user recognizable, non-repeated field.

DET Rules

The following rules apply when counting DETs:

  1. Count a DET for each unique user recognizable, non-repeated field maintained in or retrieved from the ILF or EIF through the execution of an elementary process. For example:  An account number that is stored in multiple fields is counted as one DET.

 A before or after image for a group of 10 fields maintained for audit purposes would count as one DET for the before image (all 10 fields) and as one DET for the after image (all 10 fields) for a total of 2 DETs.  The result(s) of a calculation from an elementary process, such as calculated sales tax value for a customer order maintained on an ILF is counted as one DET on the customer order ILF.  Accessing the price of an item which is saved to a billing file or fields such as a time stamp if required by the user(s) are counted as DETs.  If an employee number which appears twice in an ILF or EIF as (1) the key of the employee record and (2) a foreign key in the dependent record, count the DET only once.  Within an ILF or EIF, count one DET for the 12 Monthly Budget Amount fields. Count one additional field to identify the applicable month. For Example:

  1. When two applications maintain and/or reference the same ILF/EIF, but each maintains/references separate DETs, count only the DETs being used by each application to size the ILF/EIF. For Example:  Application A may specifically identify and use an address as street address, city, state and zip code. Application B may see the address as one block of data without regard to individual components. Application A would count four DETs; Application B would count one DET.  Application X maintains and/or references an ILF that contains a SSN, Name, Street Name, Mail Stop, City, State, and Zip. Application Z maintains and/or references the Name, City, and State. Application X would count seven DETs; Application Z would count three DETs.
  2. Count a DET for each piece of data required by the user to establish a relationship with another ILF or EIF.  In an HR application, an employee's information is maintained on an ILF. The employee‘s job name is included as part of the employee's information. This DET is counted because it is required to relate an employee to a job that exists in the organization. This type of data element is referred to as a foreign key.  In an object oriented (OO) application, the user requires an association between object classes, which have been identified as separate ILFs. Location name is a DET in the Location EIF. The location name is required when processing employee information; consequently, it is also counted as a DET within the Employee ILF.

b) In the process functional decomposition, identify where interfaces occur with the user and other applications. c) Work through the process diagram to get hints. d) Credit ILFs maintained by more than one application to each application at the time the application is counted. Only the DETs being used by each application being counted should be used to size the ILF/EIF.

  1. Is the data in an ILF maintained through an elementary process of the application? a) An application can use an ILF or EIF multiple times, but you count the ILF or EIF only once. b) An elementary process can maintain more than one ILF. c) Work through the process diagram to get hints. d) Credit ILFs maintained by more than one application to each application at the time the application is counted.

Hints to Help with Identifying ILFs, EIFs, and RETs

Differentiating RETs from ILFs and EIFs is one of the most activities in FP analysis. Different concepts regarding entities play a pivotal role in this regards. Let us therefore understand what an entity is and what different types of entities are.

Entity

An entity is defined by different people as follows:

  • A thing that can be distinctly identified. (Chen)
  • Any distinguishable object that is to be represented in the database. (Date)
  • Any distinguishable person, place, thing, event or concept about which information is kept. (Bruce)
  • A data entity represents some "thing" that is to be stored for later reference. The term entity refers to the logical representation of data. (Finkelstein)
  • An entity may also represent the relationship between two or more entities, called associative entity. (Reingruber)
  • An entity may represent a subset of information relevant to an instance of an entity, called subtype entity. (Reingruber)

That is, an entity is a principal data object about which information is collected that is a fundamental thing of relevance to the user, about which a collection of facts is kept.

An entity can be a weak entity or a strong entity. A weak entity is the one which does not have any role in the problem domain without some other entity. Weak entities are RETs and strong entities are ILFs and EIFs. Identification of weak entities is therefore important for distinguishing between RETs and logical files.

Weak Entities

There are three types of weak entities: Associative entity types, attributive entity type, and entity subtype. These are elaborated as follows:

  • Associative Entity Type – An entity which defines many-to-many relationship between two or more entities. - Student – course - Part – dealer
  • Attributive Entity Type – An entity type which further describes one or more characteristics of another entity. - Product – Part - Product – Product Price Information
  • Entity Subtype – A subdivision of entity. A subtype inherits all the attributes of its parent entity type, and may have additional, unique attributes. - Employee Permanent Employee Contract Employee - Employee Married Employee Single Employee

Logical Files

Grouping of data into logical files is the result of combined effect of two grouping methods:

  • How data is accessed as a group by elementary processes? (process driven)
  • The relationship between the entities and their interdependency based on business rules. (data driven)

The following guideline can be used for this purpose:

  • Process Driven Approach
  • Data Driven Approach

Process Driven Approach

If several entities are always created together and deleted together then this is a strong indication that they should be grouped into a single logical file.

  • A customer PO is a single group of data from a user business perspective.
  • It consists of a header and items information.
  • From a business perspective, an order cannot be created unless it has at least one item and if the order is deleted both the order header and items are deleted. However the header and the items may have independent maintenance transactions.

Data Driven Approach

Entity Independence: an entity has significance to the business in and of itself without the presence of other entities. This is a logical file.

Entity Dependence: an entity is not meaningful, has no significance to the business in and of itself without the presence of other entities. This is an RET.

  • Given two linked entities A and B, whether B is dependent or independent:
    • Is B significant to the business apart from the occurrence of A linked to it?
    • If we delete an occurrence "a" of A, what happens to occurrence "b" of B linked to "a"?

For example in the following scenarios, the first one is the example of entity dependence while the second one is the example of entity independence.

the main difference from EOs and EQs. Some of the differences between EOs and EQs are that an EO may perform the functions of altering the behavior of the system or maintaining one or more ILFs when performing the primary intent of presenting information to the user. Other differences are identified in the section below that summarizes forms of processing logic used by each transactional function.

Function

Transactional Function Type EI EO EQ Alter the behavior of the system PI F N/A Maintain one or more ILFs PI F N/A Present information to a user F PI PI

Legend: PI The primary intent of the transactional function type F A function of the transactional function type, but is not the primary intent and is sometimes present N/A The function is not allowed by the transactional function type.

Processing Logic

Processing logic is defined as requirements specifically requested by the user to complete an elementary process. Those requirements may include the following actions:

  1. Validations are performed. For example, when adding a new employee to an organization, the employee process has processing logic that validates the information being added.
  2. Mathematical formulas and calculations are performed. For example, when reporting on all employees within an organization the process includes calculating the total number of salaried employees, hourly employees and all employees.
  3. Equivalent values are converted For example, an elementary process references currency conversion rates from US dollars to other currencies. The conversion is accomplished by retrieving values from tables, so calculations need not be performed.
  4. Data is filtered and selected by using specified criteria to compare multiple sets of data. For example, to generate a list of employees by assignment, an elementary process compares the job number of a job assignment to select and lists the appropriate employees with that assignment.
  5. Conditions are analyzed to determine which are applicable. For example, processing logic exercised by the elementary process when an employee is added and will depend on whether an employee is paid based on salary or hours worked.
  6. One or more ILFs are updated. For example, when adding an employee, the elementary process updates the employee ILF to maintain the employee data.
  7. One or more ILFs or EIFs are referenced. For example, when adding an employee, the currency EIF is referenced to use the correct US dollar conversion rate to determine an employee‘s hourly rate.
  8. Data or control information is retrieved. a) For example, to view a list of possible pay grades, pay grade information is retrieved.
  9. Derived data is created by transforming existing data to create additional data.

For example, to determine (derive) a patient‘s registration number (e.g., SMIJO01), the following data is concatenated: a) the first three letters of the patient‘s last name (e.g., SMI for Smith) b) the first two letter of the patient‘s first name (e.g., JO for John) c) a unique two-digit sequence number (starting with 01)

  1. Behavior of the system is altered. For example, the behavior of the elementary process of paying employees is altered when a change is made to pay them every other Friday versus on the 15th and the last day of the month.
  2. Prepare and present information outside the boundary. For example, a list of employees displayed for the user.
  3. Capability exists to accept data or control information that enters the application boundary. For example, a user enters several pieces of information to add a customer order to the system.
  4. Data is resorted or rearranged. For example, a user requests the list of employees in alphabetical order. Note: Resorting or rearranging a set of data does not impact the identification of the type or uniqueness of a transactional function.

Summary of Processing Logic Used by EIs, EOs and EQs

The following table summarizes which forms of g logic may be performed by EIs, Eos, and EQs. Foe each transactional function type, certain types of processing logic must be performed to accomplish the primary intent of that type.

Form of Processing Logic

Transactional Functional Type EI EO EQ

  1. Validations are performed c c c
  2. Mathematical Formula and calculations are performed

c m* n

  1. Equivalent Values are converted c c c
  2. Data is filtered and selected by using specified criteria to compare multiple sets of data.

c c c

  1. Conditions are analyzed to determine which are applicable

c c c

  1. At least one ILF is updated m* m* n
  2. At least one ILF or EIF is referenced c c m
  3. Data or control information is retrieved c c m
  4. Derived data is created c m* n
  5. Behavior of system is altered m* m* n
  6. Prepare and present information outside the boundary

c m m

  1. Capability to accept data or control information that enters the application boundary

m* c c

  1. Resorting or rearranging a set of data c c c

The primary intent of the elementary process is to present information to a user.

Shared EO and EQ Counting Rules

For each elementary process that has a primary intent to present information to a user, apply the following rules to determine if the process may be classified as an external output or external inquiry. All of the rules must apply for the elementary process to be counted as a unique occurrence of an external output or external inquiry.  The function sends data or control information external to the application boundary.  For the identified process, one of the following three statements must apply: o Processing logic is unique from the processing logic performed by other external outputs or external inquiries for the application. o The set of data elements identified is different from the sets identified for other external outputs and external inquiries in the application. o The ILFs or EIFs referenced are different from the files referenced by other external outputs and external inquiries in the application.

Additional External Output Counting Rules

In addition to adhering to all shared EO and EQ rules, one of the following rules must apply for the elementary process to be counted as a unique external output.  The processing logic of the elementary process contains at least one mathematical formula or calculation.  The processing logic of the elementary process creates derived data.  The processing logic of the elementary process maintains at least one ILF.  The processing logic of the elementary process alters the behavior of the system.

Additional External Inquiry Counting Rules

In addition to adhering to all shared EO and EQ rules, all of the following rules must apply for the elementary process to be counted as a unique external inquiry.  The processing logic of the elementary process retrieves data or control information from an ILF or EIF.  The processing logic of the elementary process does not contain a mathematical formula or calculation.  The processing logic of the elementary process does not create derived data.  The processing logic of the elementary process does not maintain an ILF.  The processing logic of the elementary process does not alter the behavior of the system.

Complexity and Contribution Definitions and Rules

The number of EIs, EOs, and EQs and their relative functional complexities determine the contribution of the transactional functions to the unadjusted function point count. Assign each identified EI, EO and EQ a functional complexity based on the number of file types referenced (FTRs) and data element types (DETs).