Software Information |
A Symons Mark II Function Point Counting Example
I provide, here clear explanations and a count of function points, using the Symons Mark II method. We start by identifying the subprocesses (entry, exit, read, write) for each functional process; The size of a functional process is the sum of its data movements (entry, exit, read, write) and the size of a piece of software is the sum of the sizes of all of its functional processes. So the Function Point Index (FPI) for an application is:FPI = Wi * SNi + We * SNe + Wo * SNo,where ‘S‘ means the sum over all Logical Transactions, and the industry average weights per Input Data Element Type, Data Entity Type Reference and Output DataElement Type are, respectively: Now here is an example of this in practise, intended to demonstrate the practicalities of performing the count, see the Simmons counting point manual (CPM) for information about the rules used. Specification: The system should be able to have sales details entered, including the type and number of each product in each sale This allows a receipt to be printed for the customer. It also allows the inventory(stock) to be automatically updated.It should be possible to add new products, delete existing products, or modify the recipe of a product.It should be possible to produce a product report listing all the products available. As well as listing each product, this report will also show, for each product, the product no., the product description, its constituent item nos., item descriptions, and quantity used.A weekly report should be produced automatically, each Monday at 8am, showing the quantity of each product sold in the previous week. The process of sending orders to suppliers is not shown in the model. This is because each authorised supplier has access to the restaurant system and is expected to dispatch a standard quantity, with its invoice note, when the stocks of any items which it supplies fall below the minimum order quantity. When a consignment arrives from a supplier, it should be possible to enter on the system the details of the items/quantities/prices, so that the inventory(stock) is automatically updated. At the end of each month the accountant inspects the invoices and pays the bills. It should be possible for her to record that an invoice has been paid. Access to the system is through a single menu. Generic assumptions: 2) As per rule 1 of the CPM, only functional requirements directly referenced in the user specification are considered, corrections are only made to provide such functionality therein. 3) Given that there is no historic data about effort required in previous systems, I have used the following industry standards weighing: 0.58 for Wi, 1.66 for We and 0.26 for E0. 4) The intention is to present an abstract, theoretical view of the major entities and relationships needed for management of electronic resources. 5) This pizza restaurant is not very service oriented and does not allow customers to mix and or match toppings. 6) This is a 'McDonald' style system where products are quantity controlled by weight. Transactional Functions: Assumptions: 2) “Product_Description” is assumed to be a summary entry of about 60 characters, including the name 3)Product entity requires the attribute “Type_Of_Item”, to store category data, there is a distinction between the manufactured goods sold such as soft drinks and the pizzas that are created in-house. Inputs: 2) Select product type (business); User choses from categorised drop-down list of pizza related product types [Product: Type_Of_Item]. 3) Select product “name” (business); User choses from a drop-down list of pizza related goods. [Product: Product_Description > Receipt_No & Product_No]. 4) Select number of item (business); Customer may order 3 large margarita pizzas [Item_sale: Quantity_Sold]. 5) Confirm sale (control); This is a recursive menu selection system. Outputs: Entities:1) Sale;Occurrence of a sale recorded here [Write All data]. 2) Item_sale;Functional relationship to sale entity (List of products for this sales) [Write all data]. 3) Recipe;Required to determine the inventory items to be subtracted from the inventory_item entity [Read all data]. 4) Inventory_item; Required to change the inventory(stock) level for items used [Read Item_No, Write Quantity_In_Stock] (Quantity of Item x - Recipe:Quantity_Used). 5) System;Provides the automatically generated sales receipt number and Date. FPI count: (0.58*5) + (1.66 * 5) +(0.26*1) = 11.46 [b] Add new products (External input);Assumptions: 2) The inventory included food items and related products such as recipe ingredients for the piazzas and both the can, boxes and plastic utensils. Inputs:1) Select new product (control);User action expressed by selection of command [Product: Product_No, Recipe: Item_no, Inventory_item: Item_no]. 2) Select type of item (control);Required for product classification [Product: Type_Of_Item > Inventory_item: Type_Of_Item]; 2a) Or enter new product type (control); 2b) Enter product type name (business); [Product: Type_Of_Item]; 3) Enter product description (business);Product description [Product: Product_Description]. 4) Select item (business);[Recipe: Product_no > Inventory_item: item_no]. 4a) Or enter Item Description (business);Goods description, [Inventory_item: Item_Description]. 4b) Enter stock level (business);[Inventory_item: Quantity_In_Stock]. 4c) Enter item reorder level (business);[Inventory_item: Minimum_Order_Quantity]. 5) Enter quantity (business);Quantity of the item per sales unit a bit ridiculous for products that do not require ingredients [Recipe: Quantity_Used]. 6) Add ingredient to product (control);Optional, not all products require additional items. 6a) Enter Item Description (business);Good description, [Inventory_item: Item_Description]. 4b) Enter stock level (business);[Inventory_item: Quantity_In_Stock]. 4c) Enter item reorder level (business);[Inventory_item: Minimum_Order_Quantity]. Outputs:1) Error/conformation (control);End of sales data interaction cycle. Entities: 2) Recipe;Link entity, for the inventory required to deliver the project [Write all data]. 3) Inventory_item;Stores the stock data for the goods ,[Write all data]. 4) System; Provides the automatically generated product and item numbers.. FPI count: (0.58*14) + (1.66 * 4) +(0.26*1) = 15.02 [c] Delete existing products (External input);Assumptions: 2) Here Delete refers to the recipe entry. Inputs: 2) Select product type (business); User choses from categorised drop-down list of pizza related product types [Product: Type_Of_Item]. 3) Select product “name” (business); User choses from a drop-down list of pizza related goods. [Product: Product_Description > Receipt_No & Product_No]. 4) Select deletion (control);“This will delete selected product. Continue [Y/N]” Outputs: Entities: 2) Recipe;Stores the inventory data required for the product, [Read all data]. FPI count: (0.58*4) + (1.66 * 2)+ (0.26*1) = 5.9 [d] Modify product recipe (External input);Assumptions: Inputs: 2) Select product type (business); User choses from categorised drop-down list of pizza related product types [Product: Type_Of_Item]. 3) Select product “name” (business); User choses from a drop-down list of pizza related goods. [Product: Product_Description >Recipe: Product_No]. 4) Select deletion (control);“This will delete selected item. Continue [Y/N]” 5) Change quantity of item (business);User choses from a drop-down list of pizza related goods. [Product: Product_Description > Recipe: Quantity_Used]. 6) Add ingredient to product (control);Optional, not all products require additional items. 6a) Enter Item Description (business);Good description, [Inventory_item: Item_Description]. 6b) Enter stock level (business);[Inventory_item: Quantity_In_Stock]. 6c) Enter item reorder level (business);[Inventory_item: Minimum_Order_Quantity]. Outputs: Entities:1) Product;Occurrence of a product recorded here [Read all data]; 2) Recipe;Stores the inventory data required for the product, [Read all data]. FPI count: (0.58*9) + (1.66 * 2) (0.26*1) = 8.8 [e] Report all available products (External output); Inputs: Outputs:1) Time and date; Inventory_item: Type_Of_Item]; 2a) Or enter new product type (control); 2b) Enter product type name (business); [Product: Type_Of_Item]; 4) Select item (business);[Recipe: Product_no > Inventory_item: item_no]. 4a) Or enter Item Description (business);Good description, [Inventory_item: Item_Description]. 4b) Enter stock level (business);[Inventory_item: Quantity_In_Stock]. 4c) Enter item reorder level (business);[Inventory_item: Minimum_Order_Quantity].5) Enter quantity received (business);Additional Quantity of the item [Invoice_item: Quantity_Added> Inventory_item: ]. Outputs: Entities: 2) Inventory_item;Stores the inventory data required for the product, [Read all data]. 3) Invoice_item;Stores the inventory data required for the product, [Read all data]. FPI count: (0.58*9) + (1.66 * 4) (0.26*1) = 12.12 [i] Record payment of invoices (External input);Inputs: 2) Select product type (business);User choses from categorised drop-down list of pizza related product types [Inventory_item: Type_Of_Item]. 3) Select product “name” (business); User choses from a drop-down list of pizza related goods. Inventory_item: Item_Description > Invoice_item: item_no ]. 4) Select payment received (business);User records that an invoice has been paid. Outputs: Entities: 2) Invoice_item;Stores the inventory data required for the product, [Read all data]. 3) Invoice;Occurrence of a consignment recorded here. FPI count: (0.58*4) + (1.66 * 3) (0.26*1) = 7.56 Virtual system entity functions: I am the website administrator of the Wandle industrial museum (http://www.wandle.org). Established in 1983 by local people determined to ensure that the history of the valley was no longer neglected but enhanced awareness its heritage for the use and benefits of the community.
MORE RESOURCES: Unable to open RSS Feed $XMLfilename with error HTTP ERROR: 404, exiting |
RELATED ARTICLES
You Can Write Microsoft Office Program in About 60 Minutes Microsoft Office program is a programming tool called Visual Basic for Applications (VBA) that comes with Microsoft Excel, Word, Outlook, Power Point, and Publisher. VBA can make your repeating jobs automatic. Protect Your Computer...and Your Business! We all take the computer for granted. I mean, all we have to do is switch it on and it's ready to go. Free PDF Publishing Software In a previous article, I wrote about OpenOffice which an excellent suite of Free Office software which is in the Public Domain.What I did not know is that the Writer (word processing) program creates PDF files too. Crystal Reports - Microsoft SQL Server Microsoft SQL Server is the leader for inexpensive and middle size SQL solutions. Plus it is now capable to serve large enterprise on Microsoft Windows platform. Fundraising Software - How Can That Help Me? Fundraising software lets you connect with donors in a way that is unlike any communication you've ever had before. You can diversify your fund raising efforts with software and manage all of your day-to-day activities. Microsoft CRM and No-Frills Cadillacs In today's business world it's all but impossible to escape Microsoft. Either you're using MS applications, developing your own, or negotiating your company's acquisition by this techno-behemoth. Microsoft CRM Implementation for Large Corporation - overview Microsoft Business Solutions CRM is now approaching the phase of being mature product and the CRM solution you may consider for large publicly traded company. Our view point considers the fact of multiple platforms and systems coexistence and balancing: UNIX, Linux, Microsoft Windows, Java, . Great Plains Dynamics on Pervasive/Ctree support - overview for consultant All of us know that Microsoft bought former Great Plains Software and formed Microsoft (Great Plains) Business Solutions in the earlier 21st century. It was total success for GPS, we guess, but for Great Plains Dynamics / eEnterprise / Dynamics C/S+ clients it was the time of change. SyncUp - A File/Folder Synchronizer For Windows SyncUp, a file synchronizer is designed to assist the home and advanced users. The product has a simple and familiar windows explorer type interface for easy file handling. Microsoft Great Plains GL: General Ledger - Overview For Consultant Microsoft Business Solutions Great Plains is marketed for mid-size companies as well as Navision (which has very good positions in Europe and emerging markets where it can be easily localized). Great Plains Inventory control is pretty robust and here we would like to give you highlights on standard functionality as well as what could be added to its standard features. Software Piracy - Global Increase Pirated software is on the increase and now accounts for over one third of the software installed on the world's computers and it's cost the software industry a staggering, $28bn (£12bn) last year in lost revenues. That's the startling claim of the UK based, Business Software Alliance. Microsoft Small Business Manager eCommerce - Overview Microsoft Business Solutions Small Business Manager is scaled down Great Plains Dexterity based version of Microsoft Great Plains or former Great Plains Dynamics/eEnterprise. Small Business Manager first release 7. Behave, Word, Behave! If you copy something from a Web site or elsewhere.. What To Do When Windows Wont Boot When Windows fails to boot it is normally caused by you installing a program or device and it has caused a conflict with one or more other programs.This will no doubt give you plenty of heartaches if you're not certain which program caused Windows to not boot up. Microsoft Great Plains Customization and Development - Overview for Programmer When Great Plains Software was designing and developing Great Plains Dynamics/Dynamics CS+/eEnterprise - it placed several fundamental principles into the system1. Computer platform independence. Reporting Tools for Microsoft Great Plains - Overview For Developers Looks like Microsoft Great Plains becomes more and more popular, partly because of Microsoft muscles behind it. Now it is targeted to the whole spectrum of horizontal and vertical market clientele. Constructionalist Parsing - Deciphering Natural Language The research in the field of Natural Language Processing usually assumes the existence of a syntactic "Generative Engine" that combines words and word-like elements into syntactic structures, and then sometimes displaces them by "syntactic movement". A Linguistic Parser must "undo" all the effects of syntactic movement, which results in a structure where the relations between the words are represented more directly. Microsoft Great Plains Upgrade - Things to Consider and FAQ If you have Microsoft Great Plains and support it for your company then you need to know some technical details about Great Plains version upgrade and what is going on behind the scenes, which options do you have in case of Dexterity, VBA, SQL customization, additional complexity comes with migration from ctree/Pervasive to MS SQL/MSDE.What is upgrade in the language of technology? Upgrade has server and client sides. Will Adobe Manage to Replace Industry Work Horse Quark Express by Giving Adobe InDesign for Free? And kill the best layout software in the process of gaining market share?***Heard about the Quark "killer"?Adobe InDesign CS2. Will it really "kill" Quark? Adobe has been saying "it will" for the last six years or so, but it hasn't happened. Open Source Concepts: Dual Licensing Explained We were recently faced with a decision: either to let a program that took us one year to code die, simply because we do not have enough time to maintain it, or make it open source.Open source looked like a good idea for while, but there was one problem. |
home | site map | contact us |