![]() |
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 Data Element 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:
Software - Google News |
RELATED ARTICLES
Call Alert Notifications - Free Answering Machine Software for PCs If you're online using a dialup Internet connection, you'll probably want to download one of the free call alert software applications like Callwave or AOL Call Alert that can answer, record, and forward incoming calls to your home, office or cell phone. In fact, if you run a small business, Call Wave also offers a dedicated business fax service too. Dig Out That Worm Internet worms. Is your PC infected?If your computer has become infected with a worm, don't panic, it is not the end of the world. International Support - Microsoft Great Plains VAR/Partner Selection - Overview for V.P. IT Looks like Microsoft Great Plains becomes more and more popular, partly because of Microsoft muscles behind it. It seems to be goof solution for mid-size and even large multinational corporation with Headquarters in US and branches Worldwide. How to Get The Best Accounting Software For Your Small Business Buying accounting software is a major investment. It's an important decision and you need to be sure of all the facts before you buy. Microsoft Great Plains: Interest Calculation Example - Stored Procedure for Crystal Report This is intermediate level SQL scripting article for DB Administrator, Programmer, IT SpecialistOur and Microsoft Business Solutions goal here is to educate database administrator, programmer, software developer to enable them support Microsoft Great Plains for their companies. In our opinion self support is the goal of Microsoft to facilitate implementation of its products: Great Plains, Navision, Solomon, Microsoft CRM. Microsoft CRM Conversation Gateway: VoIP - Implementation & Customization Microsoft CRM is winning market share step-by-step from such the traditional CRM providers as Siebel, Saleslogix. In this article we'll show Microsoft Business Solutions CRM potential in the VoIP direction. Microsoft CRM Data Import FAQ Microsoft CRM has built-in conversion tool, however you should probably first try third party conversion tool, such as Scribe. It is relatively expensive and has bunch of importing capabilities, that you might never use and need. Implementing Microsoft CRM: setup and configuration - notes for IT specialist Microsoft Business Solutions CRM is web-based CRM application, deploying all the spectrum of recent Microsoft technologies. We'll try to analyze different needs and implementation scenarios attributed to specific industries and business types, based on our experience. Microsoft Great Plains: Large Scale Implementation Microsoft Business Solutions Great Plains, Navision, Axapta, Solomon and CRM are coming up to satisfy ERP needs for large corporation, including multinationals. In this article we will be describing Microsoft Great Plains as the MRP platform, fitting to multiple industries and business niches: aerospace, defense, textile, pharmaceutical, healthcare, constructions, mining, services, distributions & logistics, wholesale & retail, public sector, chemicals, oil & gas, finance, brokerage, etc. Microsoft Great Plains Accounting/ERP Implementation - Finance Industry Customization Example Microsoft Business Solutions Great Plains is very generic accounting application out of the box and has multiple modules to address specific horizontal or vertical market requirements. At the same time Great Plains, now being moved on MS SQL Server platform allows you to deploy standard tools to customize and fit to these requirements, when you don't need rich custom functionality, just few touches. eConnect: eCommerce Development for Microsoft Great Plains Microsoft Business Solutions Great Plains has several options to enable web ordering. Traditionally Great Plains Dynamics/eEnterprise had eOrder - this is ASP pages based ordering application, enabling you to place or retrieve your Sales Order Processing (SOP) Sales Orders over the web. 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. Introduction To ISDN, Part II In the previous ISDN article, we looked at how and why one router dials another using ISDN. Just as important is knowing what keeps the link up once it is dialed. Microsoft Great Plains on Ctree or Pervasive SQL - What to Do - Tips for IT Manager As you probably know, when Microsoft purchased Great Plains Software - the whole strategy for Great Plains Dynamics/eEnterprise line was changed. Initial GPS strategy was to maintain DB platform independence - via it's C-written engine Dexterity, based on the believe that C programming language is platform independent. Microsoft CRM for Corporate Business - Working Offline If your company has regional and worldwide operations, you might already realized that it is very hard to get decent internet connection in your remote locations. In this small article we will try to give you highlights on how to implement Microsoft Business Solutions CRM for worldwide operations with restricted internet connection. Upgrading Great Plains Dexterity Customization - switching to new technologies: SQL, Crystal, eConne 1. Replace Dexterity cursor with SQL Stored Procedure Dexterity was designed as multiplatform technology (primarily Btrieve, Ctree, SQL Server, potentially Oracle). Great Plains Accounting Migration to Microsoft Great Plains - Overview for IT Specialist This is a short article, written in question/answer/FAQ style to give IT Specialist/developer/programmer balanced top level information on Great Plains Accounting migration to Microsoft Business Solutions Great Plains. If you have Great Plains Accounting as main accounting and ERP system you need to know some technical details on the migration to Great Plains and what is going on behind the scenes. Make 2005 the Year You Save Time! Today's business world is fast-paced. No matter what it is you do, finding a way to do it better and faster makes sense. Start Developing Your Own Software Learning how to program software seems like a daunting task fit only for the geeks and nerds who lock themselves away in dark rooms staring at their monitors for days on end as they pour over thick manuals written largely in zeros and ones. Fortunately the reality is that it's not as complicated to make basic applications as people may think. Linux for Home Users Hey Guys! Don't raise your eyebrows or fear by hearing the word Linux. It is as user friendly as windows. |
|
Home | Site Map | 101InfoLinks.com | Best Book Shop | Sports Fans ONLY
.
|
| © 2007 |