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.
|
RELATED ARTICLES
Microsoft Great Plains Jewelry ? Implementation & Customization Overview Each Industry and market niche has business specific and unique requirements to ERP/Accounting System. Microsoft Business Solutions Great Plains is ERP platform, ready for third party modules additions and customizations, plus being SQL Server-based system it opens you wide spectrum of integration options and tools. In this small article we'll give you Microsoft Great Plains implementation and setup highlights, typical for Jewelry retail network. Microsoft Great Plains Data Conversion ? Overview For Developer 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. Small companies use Small Business Manager (which is based on the same technology ? Great Plains Dexterity dictionary and runtime), Great Plains Standard on MSDE is for small to midsize clients, and then Great Plains serves the rest of the market up to big corporations. HSphere Control Panel Tips and Tricks - Power At Your Fingertips: Part 1 The other options available in this interface are for the particular e-mail account. Microsoft Update - 5 Reasons to Update Service Pack 2 Microsoft released Service Pack 2 (SP2) for the Windows XP operating system back in August (2004), representing significant improvements in many areas, especially system security. For those people that are still unsure whether they should update to it, the following five reasons may help make the decision easier. Explore the Internet in a Whole New Way For a long time now Microsoft's Internet Explorer has ruled as 'King of Internet browsers'. Like many of Microsoft's products an initially brutal marketing campaign pushed Internet Explorer into the mainstream's consciousness and from then on it was the logical, default choice. It's free with the operating system, works well, loads any page and is easy to use. Other web browsers soon faded into obscurity and sometimes even died in the shadow of the new king of the pack. Netscape Navigator, the former 'King of the browsers', has now ceased commercial operations and has been taken over by the fan base. Opera is fading into obscurity and Mozilla was facing a similar fate, until recently. Microsoft Great Plains - Typical Problems And Fixes ? Overview For IT Administrators How to delete the user? This is the first problem you encounter - when user shuts down the computer - Great Plains doesn't have the command to log off the user and when user tries to login the next day - she gets error message that user is already logged on. The fix: Microsoft Great Plains implementation: Restaurants Supply Chain Management Example Microsoft Great Plains serves majority of US based horizontal and vertical markets. Being relatively flexible and customizable ? it can fit your specific business requirements with light or deep customization. You can have portion of the system customization done by your in-house developers (such tools as Modifier with VBA, MS SQL Server stored procedures, Crystal Reports do not require unique expertise) and the most critical and difficult part could be subcontracted ? especially Great Plains Dexterity. In this small article we would like to give you good example of customization scenarios, where client needs warehouse management, random weight purchasing and by-pond resale to end clients, barcoding. Instant Messenger Clients If you have been using the Internet for any amount of time you have probably used an instant messenger at some time or another. They allow you to talk to your friends, family and co-workers with the click of a button. There are many great clients out there, as well as many different networks. Selecting Corporate ERP: Microsoft Business Solutions Great Plains ? Estimation Parameters As we could imagine, if you are reading this article ? you are in the decision making mode, probably replacing legacy system with the new one or abandoning either Unix/Mainframe or Apple direction for your corporation. In any case, nobody should make an outside influence on your decision ? you should be maximally objective. Let us give you our estimates and the parameters to check on the pool of the possible ERPs/MRPs. 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. But being faster does not have to mean being sloppier. You can be fast and efficient if you use the right tools to get the job done. So this year, why not add "Saving Time at Work" to your list of 2005 New Year's Resolutions? Save Your Resources - Combine Your IM Clients There are so many different programs that clutter up your desktop and icon bar, every program using up your precious resources! How much faster would your PC if you could run one single program as opposed to three or more instant messenger clients? Making The Decision To Automate Your Software Testing Not every software testing project can or should be automated. Before your department accepts a new test automation project, you should establish a process by which projects are reviewed and either accepted or rejected. This can be done with a simple Test Automation Acceptance Checklist. Microsoft Great Plains: Data Conversion & Migration Scenarios ? Overview for Consultant Microsoft Business Solutions Great Plains serves multiple industries in the US, plus it has strong presence in Latin America, U.K., Australia, Canada, Middle East, South Africa. Great Plains is natural solution for growing company, when small business accounting application, such as QuickBooks, M.Y.O.B, Peachtree, Quicken or others should be replaced with ERP, better positioned to serve mid-size business. With the switch to Microsoft Great Plains you need to decide on data migration and conversion. Let us give you highlights on your options: Microsoft Great Plains international implementation ? USA / Mexico ? overview for consultant Microsoft Business Solutions Great Plains was purchased from Great Plains Software and Great Plains Software itself had strong international marketing plans and campaigns. If we look back to 1990th ? we'll see that GPS had Multilanguage support and Great Plains Dynamics / Dynamics C/S+ was localized and translated into multiple languages, including Spanish. Localization means not only the translation, but also adaptation to specific local country tax rules (Sales Tax versus Value Added Tax VAT, GST, specific payroll taxes, etc.). Let's consider typical case when we see international company with headquarters and distribution centers in the US and manufacturing and purchasing in Mexico Alien Intruders! You probably didn't casually invite, or extend a formal attendance request to, these undesirables known as viruses. Microsoft CRM and Great Plains Implementation: Freight Forwarding Business Automation Example Microsoft Business Solutions offers several ERP applications: Great Plains, Navision, Solomon and its own CRM solution ? Microsoft CRM. Targeting to automate all business operations, Microsoft CRM is now integrated with Microsoft Great Plains and in the close future it should have integration with Microsoft Navision. In this small article we'll show you business automation example, where Microsoft CRM and Great Plains are integrated and customized to fit Freight Forwarding business processes. 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. If it were, the majority of nerds wouldn't be doing it because the defining factor of our kind is an inherent laziness. Why do you think we like computers? The heaviest thing we have to lift is a monitor and that's done fairly irregularly and for a very short period of time. Microsoft Great Plains: Government & Non-Profit Organization ? Workflow Implementation Usually workflow & messaging is realized in CRM and then transactions are just logged into Accounting/ERP/MRP. In the case of Microsoft Business Solutions products: Microsoft Great Plains, Navision, Solomon, Axapta the natural CRM choice would be Microsoft CRM. However typical CRM application targets Sales automation, which is usually not applicable to government structure, non-profit or public company (community services, public utilities, churches, charities, etc.). Not-for-profit organization needs purchasing and requisition workflow, payroll approval workflow, and in certain cases special General Ledger (GL) transactions workflow. Microsoft CRM doesn't provide the functionality. Then how could this be realized? We'll provide two scenarios to realize this customization: Microsoft CRM Integration with Lotus Notes Domino: Messaging Connector ? Future Directions IBM Lotus Notes Domino and Microsoft CRM (Client Relation Management) from now on can work in tandem. Microsoft CRM Lotus Notes Domino connector from Alba Spectrum Technologies provides seamless messaging in MS CRM through Domino. Our customers suggest future direction for the connector. Considering our consulting practice experience in MS CRM and Lotus Notes customization, upgrade, integration ? in this small article we'll reveal our half year development plans Fast Car Knoppix Small can be beautiful! Working with Knoppix for the past two years has been a joy. Two terms to describe this distribution, simple, elegance. See Knoppix is one of the many operating systems that runs from the CD, so it doesn't have the hardware conflicts associated with many instruction sets between hardware and software. |
home | site map |
© 2005 |