BW Estimation Model
HI Gurus,
I am currently trying to build a BW Estimation model . I would be greateful if you'll could suggest me as to the different objects types and the complexity factors for each objects. I have labeled some tasks related to Info Objects , data targets and Info source. I am looking for suggestions in the Source connection, Update rules, Transfer Rules, Reports ,I want to know as to which tasks for these objects can be labelled as High or Medium or Low complexity?..If anyone of you could share any estimation model , or if anyone of you could provide me with your valuable input , I would really appreciate that.
Thanks a lot,
sanjeev
Hi sanjeev
Under normal circumstances You can use the following as a rule of thumb.
1) Source system -> Medium complexity depending on which source system to attach. If You are planning on attaching a SAP related source system complexity is low - if You are planning on using a 3 party source system via DBConnect or UDI complexity is medium to high depending on parameters such as accessibility, data capture etc.
2) Updaterules -> In general low however as UR are normally used to conduct transformations they can easily be high (ex. if You need to program start routines, return tables etc.) I would look in to the need for data transformation and rate it according to this.
3) Transfer rules -> Same as for update rules.
4) Reports -> Medium to high complexity depending of the requirements. If You need to create a simple report without any execution logic it is quite simple to do - however if You need to apply some VBA coding or user exits it can easily be more complex.
In general You can say that all standard functionality will normally be rated as low to medium. As soon as You need to expand this with either coding or custom made objects the complexity increases.
Hope it helps
Regards
/Frank
Similar Messages
-
BW ESTIMATION MODEL- Effort Estimate
Hi Gurus,
As i am creating a BW estimation model I have put the following effort for complexities for differnt tasks. Please suggest if you think the estimation should be differnt to what I have estimated as I am a rookie in these area.
Complexity(in Man Hrs)
Type High Medium Low
Set up Technical Enviroment 16 12 8
Define Source System 24 18 11
Define Extract Structure 24 18 8
Define Info Object 5 2 1
Data Staging 16 12 8
Transformation and Mapping 24 16 8
Build/Activate Data Targets 16 12 8
Define/Update Update Rules 24 16 8
Reports 24 16 8
Process Chains 24 16 8
Thank you so much for your help in advance.
Regards,
SanjeevHi Sanjeev,
In my opinion
Define Extract Structure 24 18 8
(refine it whether you are creating a generic extractor or just activating business content datasource, if generic extractor then the complexity could be based on the number of tables, fields)
Build/Activate Data Targets 16 12 8
(segregate based on ODS, Infocube, Multicube)
Process Chains 24 16 8
(may need more time)
For all the above acitivities, are you including the time for design, development, testing, transportation (not as simple as R/3), documentation.
If you have included the time for all the above, I think the time is convservative and based on the activities you should relook at the same by a factor of 1.5 to 2 depending on the object type.
Hope it helps.
Cheers
Anurag -
Does anyone use any new good effort estimation models for DI? I have a couple manual stuff ... what does everyone else use..
thanksNot getting your point. Is the question how long it usually takes to build a dataflow? I personally divide the target tables in three categories:
simple....1 day
complex...3 days
fact table...5 days
Obviously development could be done within minutes, but the refinements, documentation, delta logic, testing,.... takes its time. -
Many of you had gone through the BI implementation. I am looking for a Project effort estimation tool that is refined and worked for you. Please post your estimation experience with your model. If you have tool (probably Excel based), please send it to [email protected] I will be able to award points only If I have a reply posted !
Thanks
ABHi,
I am also in need of the same, Can you please send the same to [email protected]
thanks
Bala
Message was edited by:
v b
Message was edited by:
v b -
Newbie, estimating a system model from impulse response data
Hi
I'm new to LabView and I'm developing a PID. A microcontroller is sending data of the variable that I want to control, this way I can graph the system response to an impulse using a Waveform Chart and writing the data to a file using Write To Measurement File. My questiong is if I can get a estimated model of the system using some VI or function from the collected data.
Thank you.
RegardsHello Madbyte
LabVIEW has a tookit specific for system identification based on measured inputs and outputs. It's the "LabVIEW System Identification Toolkit". It works with data either measured with National Instrumens hardware or by any other means (like your microprocessor) and can work both online (at the same time your are acquiring data) or offline (once the data has been acquired). Check out this links
This document shows how to do system identification using the System Identification asistant. You could do the same, but instead of generating the signal, you should read the files from your microprocessor
This code is the one I usually show about simple system identification using LabVIEW
You can download the toolkit and evaluate it for free during 30 days from this link
I hope this will help you get started!
Javier Gutierrez
Attachments:
Sistem Identification - Simple.zip 136 KB -
Effort Estimation for a New BI implimentation Project
Dear Experts,
I need Effort Estimation model excel sheet or any other doc for a New BI implimentation Project.
I want to know how much time it will take for the following 2 scenarios.
1. Activatating the business content Object in BI7 for all BC extracotrs in ECC.
2. If content is not suitable for the requirment then what is the time frame for creating the Customized BI objects and DS,ES and all in ECC.
I knew it the sam has been circulated to their personal e-mail ids earlier from this forum.
<removed>
Thanks,
APC
Edited by: Arun Varadarajan on Mar 24, 2009 5:20 PMlook into this link
http://www.slideshare.net/arun_bala1/asap-methodology -
Effort Estimation of BI Objects
Hi,
Could you please guide me with effort estimation of BI objects basing on the complexities(High/Medium/Low). I need a template with number of man days/hours for each BI object.
Regards
Lakshmi
[email protected]Hi Lakshmi,
check out this threads....
BW ESTIMATION MODEL- Effort Estimate
hope this helps you.... -
Error with SI model residual Analysis.vi
Hello,
I am using the system identification VIs in order to obtain a model of my system. I obtained some results, but I have a problem using the SI model residual Analysis.vi. Everytime that I used it I got the error:
Error -41219
System Identification Toolset: The stimulus and response signals and the estimated model do not have the same sampling rate.
I have tried some different solutions, but no one worked. Please if anyone have an idea I really apreciate it.Can you post your code so we can troubleshoot it?
John B.
Embedded Networks R&D
National Instruments
Certified LabVIEW Developer -
Hi Experts,
Can any body send me the BW Offshore Estimation model in PPT document.
Please treat this as urgent.
Thanks in advance
Regards
RamHi Sanjeev,
In my opinion
Define Extract Structure 24 18 8
(refine it whether you are creating a generic extractor or just activating business content datasource, if generic extractor then the complexity could be based on the number of tables, fields)
Build/Activate Data Targets 16 12 8
(segregate based on ODS, Infocube, Multicube)
Process Chains 24 16 8
(may need more time)
For all the above acitivities, are you including the time for design, development, testing, transportation (not as simple as R/3), documentation.
If you have included the time for all the above, I think the time is convservative and based on the activities you should relook at the same by a factor of 1.5 to 2 depending on the object type.
Hope it helps.
Cheers
Anurag -
Input for CD Linear Simulation.vi in a Simulation Loop
Hi I'm new to LabView and I was trying to implement a real time estimator for a linear system, so a steady
state gain is acceptable (estimator doesn't need to be adaptive). It will be
implemented in real time target (cDAQ). The estimator will get the acquired
data (there are 2 inputs and 1 output) from the real system.
I have learned and tried few different ways to do it but finally decided to try using CD State
Estimator.vi (standalone) in a Simulation Loop. My questions are:
1. I found that the only way to use the estimator model with the acquired input is by
using CD Linear Simulation.vi. Is there another alternative to do the
estimation?
2. However, with CD Linear Simulation.vi I had problem: According
to the LabView help, if the input signals are more than 1, we have to specify
the input as 2D array with smaller dimension as the number of channels and the
larger dimension as number of points in each channel.
While for every execution in the loop I will get only 2 x 1 data (see appended array 3 in the
attached example file). How can I be able to use the measured data as the two
inputs for the CD Linear Simulation.vi?
Thank you.
Attachments:
2015_03_31_Test DAQ in sim loop.vi 299 KBHi Mike,
Thanks for the reply.
I browsed through some examples and tried some things; here are the updates, maybe useful for others in the future.
About the CD Linear Simulation.vi; In the example finder I found CDEx Kalman Filter.vi which uses CD Linear Simulation.vi to compare the estimation with real system states for two inputs. The number of samples of the inputs was given as a constant (e.g. N samples), from which the array of N x 2 data is built and fed to CD Linear Simulation.vi. So up to now I can’t see a way of using CD Linear Simulation for feeding input to the estimator model built from CD State Estimator.vi in a “real time “ way.
I look forward to hearing from anyone if it can be done.
So, from here I tried another alternative to implement this real time estimator: using Discrete State Space Function. So I generate the estimator state space model in Mathscript and feed it to that function.
I use kalman (mathscript) function to generate the estimator model.
Interesting thing is, (although irrelevant with my original enquiry), that this kalman command seems not generate correct estimator model with multiple input (e.g. if in the original system there are inputs u1 and u2 with one output y, I expect the generated estimator model would have three inputs i.e. u1, u2, and y. But the generated estimator only has one input (??)).
I remember that the kalman command from Matlab has the same problem which I neglected at that time.
So this time in labView I also did the same thing as the last time, which is taking the gain generated from the same kalman command and build manually the A and B matrices of the estimator.
I haven't browsed though to see if someone has used this kalman command for multi input system and noticed this.
Nevertheless, this alternative seems working well so hopefully it works well too with the RT target.
Thanks. -
Adaptive Filters -get and set coefficien​ts-
Dear all
Maybe it is about the theory and implementation of adaptive filters more than software problem;
the Idea is to apply the strategy of the example (set and get coefficients) with the system identification setup to my data so I can evaluate the performance of the filter based on the obtained unknown system coefficients;
the difference between the example and my application is:
1- my input signal is non-stationary
2- the targeted noise is non-Gaussian, it is from the material's structure (grains)
my application is ultrasonic testing of materials;
The question:
What will be the input and reference signals for system identification setup that will enable me to get the ideal coefficients of my ultrasonic signal contaminated with grain noise?
Thank youHi,
As far as I know, there are lots of models of system identification toolkit could be used to obtain your unknown system coefficients. They almost share same inputs of stimulus signal and response signal.
Briefly, system identification setup in your case is that [Input: Stimulus signal] should be your input signal and [Input:Response signal] should be your ultrasonic signal contaminated with grain noise.
It seems that this toolkit is designed for various conditions even noise is non-Gaussian.
If you do not sure about the orders of your model to be estimated, you could use the [SI Estimate Orders of System Model VI] to optimize the orders.
By the way, you could valid your model by using [SI Model Simulation VI] to make sure that your estimated model do fit for your unknown system.
As your input signal is not stationary, you could adjust your model coefficients recursively until it could fit for your feature of unknown system.
On the other hand, if it is hard to simulate the input signals, you could refer to this article as reference to select proper type of stimulus signal as the input of model estimation VI.
Hope I can answer your question.
If you have any question and I misunderstanding your meanings, please feel free to let me know.
Thank you.
Regards,
Jimmy -
Hi, I'm trying to estimate the model of a system using Armax block, while running I can see 41201 error,could some one please help me how to solve it? I've attached the VI here.
You can't use those VIs inside the Simualtion Loop. You need to use the "SIM Collector" to obtain the whole response and, then, use that VI to estimate your models. Please see this shipping example to learn how to use the collector:
examples\Control and Simulation\Simulation\Utilities\SimEx collector.vi
Now, if you need to estimate every single simpling time, then you need to use the "Recursive" system identification VIs. Please see following reference as an example:
examples\System Identification\Getting Started\Recursive Estimation.llb\Online Model Estimation.vi
Hope this helps...
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments -
I installed Yosemite and since then the system has been running slow. I chose to use FileVault and it says it's encrypting but keeps saying estimating time remaining. I've tried repair permission and restarting my computer. Saw some other threads with similar problem and ran diskutil cs list which showed 80% the first time and now says failed. I also did an Entre Check and here are the results.
Problem description:
Mac running slow after installing Yosemite
EtreCheck version: 2.0.6 (91)
Report generated October 26, 2014 at 12:18:37 AM PDT
Hardware Information: ℹ️
MacBook Pro (15-inch, Early 2011) (Verified)
MacBook Pro - model: MacBookPro8,2
1 2 GHz Intel Core i7 CPU: 4-core
4 GB RAM Upgradeable
BANK 0/DIMM0
2 GB DDR3 1333 MHz ok
BANK 1/DIMM0
2 GB DDR3 1333 MHz ok
Bluetooth: Old - Handoff/Airdrop2 not supported
Wireless: en1: 802.11 a/b/g/n
Video Information: ℹ️
Intel HD Graphics 3000 - VRAM: 384 MB
AMD Radeon HD 6490M - VRAM: 256 MB
Color LCD 1440 x 900
System Software: ℹ️
OS X 10.10 (14A389) - Uptime: 2 days 2:31:27
Disk Information: ℹ️
ST9500325ASG disk0 : (500.11 GB)
S.M.A.R.T. Status: Verified
EFI (disk0s1) <not mounted> : 210 MB
Recovery HD (disk0s3) <not mounted> [Recovery]: 650 MB
Macintosh HD (disk1) / [Startup]: 498.88 GB (360.91 GB free)
Encrypted AES-XTS UnlockedFailed
Core Storage: disk0s2 499.25 GB Online
MATSHITADVD-R UJ-898 disk2 : (510.3 MB)
S.M.A.R.T. Status: Verified
disk2s1 (disk2s1) <not mounted> : 11 MB
disk2s2 (disk2s2) <not mounted> : 15 MB
disk2s3 (disk2s3) <not mounted> : 11 MB
disk2s4 (disk2s4) <not mounted> : 12 MB
disk2s5 (disk2s5) <not mounted> : 8 MB
disk2s6 (disk2s6) <not mounted> : 11 MB
disk2s7 (disk2s7) <not mounted> : 13 MB
disk2s8 (disk2s8) <not mounted> : 14 MB
disk2s9 (disk2s9) <not mounted> : 14 MB
disk2s10 (disk2s10) <not mounted> : 15 MB
disk2s11 (disk2s11) <not mounted> : 8 MB
disk2s12 (disk2s12) <not mounted> : 9 MB
disk2s13 (disk2s13) <not mounted> : 27 MB
disk2s14 (disk2s14) <not mounted> : 16 MB
disk2s15 (disk2s15) <not mounted> : 23 MB
disk2s16 (disk2s16) <not mounted> : 12 MB
disk2s17 (disk2s17) <not mounted> : 11 MB
disk2s18 (disk2s18) <not mounted> : 24 MB
disk2s19 (disk2s19) <not mounted> : 14 MB
disk2s20 (disk2s20) <not mounted> : 18 MB
disk2s21 (disk2s21) <not mounted> : 10 MB
disk2s22 (disk2s22) <not mounted> : 36 MB
disk2s23 (disk2s23) <not mounted> : 17 MB
disk2s24 (disk2s24) <not mounted> : 20 MB
disk2s25 (disk2s25) <not mounted> : 18 MB
disk2s26 (disk2s26) <not mounted> : 42 MB
disk2s27 (disk2s27) <not mounted> : 33 MB
disk2s28 (disk2s28) <not mounted> : 29 MB
disk2s29 (disk2s29) <not mounted> : 12 MB
disk2s30 (disk2s30) <not mounted> : 6 MB
USB Information: ℹ️
Apple Inc. FaceTime HD Camera (Built-in)
Apple Inc. BRCM2070 Hub
Apple Inc. Bluetooth USB Host Controller
Apple Inc. Apple Internal Keyboard / Trackpad
Apple Computer, Inc. IR Receiver
Thunderbolt Information: ℹ️
Apple Inc. thunderbolt_bus
Gatekeeper: ℹ️
Mac App Store and identified developers
Kernel Extensions: ℹ️
/Library/Application Support/MacKeeper/AntiVirus.app
[not loaded] net.kromtech.kext.AVKauth (2.3.7 - SDK 10.9) Support
[not loaded] net.kromtech.kext.Firewall (2.3.7 - SDK 10.9) Support
/System/Library/Extensions
[loaded] com.Cycling74.driver.Soundflower (1.5.1) Support
Problem System Launch Agents: ℹ️
[failed] com.apple.AirPlayUIAgent.plist
[failed] com.apple.CallHistoryPluginHelper.plist
[failed] com.apple.CallHistorySyncHelper.plist
[failed] com.apple.cloudd.plist
[failed] com.apple.coreservices.appleid.authentication.plist
[failed] com.apple.EscrowSecurityAlert.plist
[failed] com.apple.icloud.fmfd.plist
[failed] com.apple.nsurlsessiond.plist
[failed] com.apple.printtool.agent.plist
[failed] com.apple.recentsd.plist
[failed] com.apple.scopedbookmarkagent.xpc.plist
[failed] com.apple.secd.plist
[failed] com.apple.security.cloudkeychainproxy.plist
[failed] com.apple.spindump_agent.plist
[failed] com.apple.telephonyutilities.callservicesd.plist
Problem System Launch Daemons: ℹ️
[failed] com.apple.AssetCacheLocatorService.plist
[failed] com.apple.awdd.plist
[failed] com.apple.corestorage.corestoragehelperd.plist
[failed] com.apple.ctkd.plist
[failed] com.apple.GSSCred.plist
[failed] com.apple.icloud.findmydeviced.plist
[failed] com.apple.ifdreader.plist
[failed] com.apple.nehelper.plist
[failed] com.apple.nsurlsessiond.plist
[failed] com.apple.periodic-daily.plist
[failed] com.apple.softwareupdate_download_service.plist
[failed] com.apple.systemstats.analysis.plist
[failed] com.apple.wdhelper.plist
[failed] com.apple.xpc.smd.plist
Launch Agents: ℹ️
[invalid?] com.sophos.uiserver.plist Support
Launch Daemons: ℹ️
[loaded] com.adobe.fpsaud.plist Support
[invalid?] com.sophos.intercheck.plist Support
[invalid?] com.sophos.notification.plist Support
[running] com.zeobit.MacKeeper.AntiVirus.plist Support
[running] com.zeobit.MacKeeper.plugin.AntiTheft.daemon.plist Support
User Launch Agents: ℹ️
[loaded] com.adobe.ARM.[...].plist Support
[loaded] com.google.keystone.agent.plist Support
[running] com.plexapp.helper.plist Support
[running] com.zeobit.MacKeeper.Helper.plist Support
User Login Items: ℹ️
iTunesHelper UNKNOWNHidden (missing value)
Microsoft AU Daemon Application (/Applications/Microsoft AutoUpdate.app/Contents/MacOS/Microsoft AU Daemon.app)
Canon IJ Network Scanner Selector2 ApplicationHidden (/Library/Printers/Canon/IJScanner/Utilities/Canon IJ Network Scanner Selector2.app)
Canon IJ Network Scan Utility Application (/Library/Printers/Canon/BJPrinter/Utilities/Canon IJ Network Scan Utility.app)
AdobeResourceSynchronizer ApplicationHidden (/Applications/Adobe Reader.app/Contents/Support/AdobeResourceSynchronizer.app)
Internet Plug-ins: ℹ️
JavaAppletPlugin: Version: 15.0.0 - SDK 10.10 Check version
FlashPlayer-10.6: Version: 15.0.0.189 - SDK 10.6 Support
Default Browser: Version: 600 - SDK 10.10
AdobePDFViewerNPAPI: Version: 11.0.09 - SDK 10.6 Support
AdobePDFViewer: Version: 11.0.09 - SDK 10.6 Support
Flash Player: Version: 15.0.0.189 - SDK 10.6 Support
QuickTime Plugin: Version: 7.7.3
Silverlight: Version: 5.1.10411.0 - SDK 10.6 Support
iPhotoPhotocast: Version: 7.0 - SDK 10.8
User Internet Plug-ins: ℹ️
Move_Media_Player: Version: npmnqmp 071505000006 Support
3rd Party Preference Panes: ℹ️
Flash Player Support
Time Machine: ℹ️
Skip System Files: NO
Mobile backups: ON
Auto backup: YES
Destinations:
GoFlex Home Backup [Network]
Total size: 3 TB
Total number of backups: 70
Oldest backup: 2013-07-21 16:39:58 +0000
Last backup: 2014-10-17 01:49:13 +0000
Size of backup disk: Excellent
Backup size 3 TB > (Disk size 0 B X 3)
Top Processes by CPU: ℹ️
5% WindowServer
1% diskimages-helper
0% backupd
0% AppleSpell
0% fontd
Top Processes by Memory: ℹ️
172 MB com.apple.WebKit.WebContent
116 MB backupd
77 MB Dock
52 MB Finder
47 MB com.apple.WebKit.Networking
Virtual Memory Information: ℹ️
48 MB Free RAM
1.08 GB Active RAM
1.04 GB Inactive RAM
1.19 GB Wired RAM
33.41 GB Page-ins
1.26 GB Page-outsPlease answer as many of the following questions as you can. You may already have answered some of them; in that case, there's no need to repeat the answers.
Restart the router and the broadband device, if they're separate. Any change?
Run Software Update and install all available updates for OS X or the computer's firmware. Any change?
Are you connected to Ethernet as well as Wi-Fi? If so, disconnect the Ethernet cable or adapter and test.
If possible, connect to the router with an Ethernet cable and turn off Wi-Fi. Any difference?
If you can connect to more than one network, are they all the same?
Are all network applications affected, or only some? If only some, which ones?
Is networking always the same, or is the problem intermittent?
Disconnect all other devices from the network. Any change?
If you're running a MacBook with the lid closed, open the lid. Any difference?
Start up in safe mode and test. Any difference?
Start up in Recovery mode. From the OS X Utilities screen, select Get Help Online. A clean copy of Safari will launch. No plugins, such as Flash, will be available. Any difference?
If possible, turn off Bluetooth and disconnect any USB 3 devices. Any difference? -
Memory usage in Analysis Services tabular model
Hello,
I've been researching and investigating trying to understand what is consuming memory resources in a tabular model that I'm working with. Using SQL Server Management Studio, the Estimated Size of the database is reported as 7768.34 MBs. Using
Kasper de Jonge's BISM Server Memory Report, the database is reported as 15,465.13 MBs. However, a majority of the fields in the BISM Server Memory Report are empty, and so I cannot determine what is consuming the memory. The data source for this particular
workbook is $SYSTEM.DISCOVER_OBJECT_MEMORY_USAGE.
For example: I drill-down to an individual column (ColumnA) in the BISM Server Memory Report (Database > Dimensions > Table > In-Memory Table > Columns > Column) and the reported memory usage is 706.97 MBs. Underneath ColumnA,
I see a blank level with a reported memory usage of 623.59 MBs and a Segments level with a reported memory usage of 83.39 MBs. Looking at $SYSTEM.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS, if I SUM the USED_SIZE for ColumnA, it totals roughly 83 MBs which matches
what is reported in the BISM Server Memory Report for the segment size. How do I determine what the other 623.59 MBs is being used for? Again, this discrepancy occurs for all columns in the model and not just this one example.
Thanks!Follow up to my original question. It appears that the blank levels (at least under the column level) the Kasper de Jonge's BISM Server Memory Report reports the dictionary size of the column. The memory usage size matches the DICTIONARY_SIZE attribute in
the $SYSTEM.DISCOVER_STORAGE_TABLE_COLUMNS. I made a mis-assumption as to what the information $SYSTEM.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS was providing.
In my original post I reference one database in particular in where the Estimated Size property in the Database Properties dialog is listed as 7,768.34 MBs. and the $SYSTEM.DISCOVER_OBJECT_MEMORY_USAGE reports 15,465.13 MBs. Thoughts, comments, or opinions
on why the Estimated Size property does not match what's reported in $SYSTEM.DISCOVER_OBJECT_MEMORY_USAGE?
Thanks! -
Re: Forte Estimating Metrics
Greg,
In my experience, the class-count metric is a poor one for time estimation,
for four reasons:
1. The actual time/class is very domain- and implementation-
sensitive. Industry averages are fairly unhelpful, unless
you happen to employ average practices and work in domains
of "average" complexity (whatever that means!)
2. It does not account for the overall size of the project; the
larger the project, the lower overall productivity is.
3. It requires that a fairly detailed design be done already, which
represents a fair amount of the total effort; as an estimation
tool, it is only useful in the latter stages of a project.
4. Lorenz's research is based on a very small sample; 18 projects are
hardly enough to have statistical validity.
(I almost included a fifth point, but it is hardly worthy: class-counting
can be spoofed. Awareness of the use of class-count as a metric can give
developers a motive to either artificially increase or decrease the class
count, depending on other motivating factors.)
I would recommend function point analysis as a more general purpose tool
for project management. Using a good statement of the requirements, FPA
generates a measure of the size of the application in terms of function
points. This is independent of the implementation; it measures the
behaviours of the application, rather than the particulars of design
or implementation, such as class count or lines-of-code. Note that
expected productivity varies as a function of the overall size of a project.
FPA has been used as part of the study of literally thousands of
software projects, so the conclusions drawn from FPA studies done
by Capers Jones at Software Productivity Research have some
statistical credibility.
Looking at the general productivity numbers gathered by SPR
(http://www.spr.com), there are some productivity measures that
cover many languages, including Forte. In terms of lines-of-code
per function point, Forte is 3 times more productive than C++.
In terms of overall productivity (function points / man month), there
are too many variable factors to make a simple statement of relative
productivity levels between C++ and Forte meaningful. This has a lot
to do with the Forte object model and run-time system, which, in certain
problem domains, provides a lot of function points (or equivalent)
"for free." In other words, if you can use Forte's plumbing package,
you're automatically more productive. Providing the equivalent in
C++ would be a daunting task (I should know -- I've done it!)
The best method of determining your productivity is to measure it. There
are many factors that affect the overall productivity of your software
organisation; the programming language choice is just one. Using metrics
drawn on industry averages concerning just ONE variable in the product
development process is not terribly useful in project management.
If you are looking for an extremely rough number that is more defensible
that the good old "gut feel" technique, then class counting is probably
the least intrusive on the development process.
-Ron
At 08:02 AM 6/5/97 +1000, you wrote:
In his book Object-Oriented Software Metrics (Prentice Hall, 1994), Mark
Lorenz in proposes an approach for estimating OO projects. Lorenzrecommends
the average amount of effort spent on a single class is the best indictor of
the amount of work required on a new project. He suggests Smalltalkdevelopers
average 5-10 person-days per class, and C++ developers average 25-35
person-days per class.
Has anyone a view on average effort to build Forte classes?
Note, the metrics quoted above relate to Design and Implementation. They
assume Analysis has been completed, and do not include the time for project
management, systems testing, and other support personnel. They assume aratio
of 1:6 OO experts to novices. Higher ratios should result in greater
productivity (lower average efforts per class). The guidelines also assumeno
library of reusable components.
Lorenz is an ex-head of IBM's Object Technology Center and a respected OO
consultant and author. His method is based on the results of 8-16Smalltalk and
C++ projects (not all statistics are available from all projects). Projects
ranged in size from 60 to 700+ project-specific classes. Project durations
ranged from 6 months to 2.5 years, with teams of 2 to 35 developers.
Thanks for any help
gjb.Greg,
In my experience, the class-count metric is a poor one for time estimation,
for four reasons:
1. The actual time/class is very domain- and implementation-
sensitive. Industry averages are fairly unhelpful, unless
you happen to employ average practices and work in domains
of "average" complexity (whatever that means!)
2. It does not account for the overall size of the project; the
larger the project, the lower overall productivity is.
3. It requires that a fairly detailed design be done already, which
represents a fair amount of the total effort; as an estimation
tool, it is only useful in the latter stages of a project.
4. Lorenz's research is based on a very small sample; 18 projects are
hardly enough to have statistical validity.
(I almost included a fifth point, but it is hardly worthy: class-counting
can be spoofed. Awareness of the use of class-count as a metric can give
developers a motive to either artificially increase or decrease the class
count, depending on other motivating factors.)
I would recommend function point analysis as a more general purpose tool
for project management. Using a good statement of the requirements, FPA
generates a measure of the size of the application in terms of function
points. This is independent of the implementation; it measures the
behaviours of the application, rather than the particulars of design
or implementation, such as class count or lines-of-code. Note that
expected productivity varies as a function of the overall size of a project.
FPA has been used as part of the study of literally thousands of
software projects, so the conclusions drawn from FPA studies done
by Capers Jones at Software Productivity Research have some
statistical credibility.
Looking at the general productivity numbers gathered by SPR
(http://www.spr.com), there are some productivity measures that
cover many languages, including Forte. In terms of lines-of-code
per function point, Forte is 3 times more productive than C++.
In terms of overall productivity (function points / man month), there
are too many variable factors to make a simple statement of relative
productivity levels between C++ and Forte meaningful. This has a lot
to do with the Forte object model and run-time system, which, in certain
problem domains, provides a lot of function points (or equivalent)
"for free." In other words, if you can use Forte's plumbing package,
you're automatically more productive. Providing the equivalent in
C++ would be a daunting task (I should know -- I've done it!)
The best method of determining your productivity is to measure it. There
are many factors that affect the overall productivity of your software
organisation; the programming language choice is just one. Using metrics
drawn on industry averages concerning just ONE variable in the product
development process is not terribly useful in project management.
If you are looking for an extremely rough number that is more defensible
that the good old "gut feel" technique, then class counting is probably
the least intrusive on the development process.
-Ron
At 08:02 AM 6/5/97 +1000, you wrote:
In his book Object-Oriented Software Metrics (Prentice Hall, 1994), Mark
Lorenz in proposes an approach for estimating OO projects. Lorenzrecommends
the average amount of effort spent on a single class is the best indictor of
the amount of work required on a new project. He suggests Smalltalkdevelopers
average 5-10 person-days per class, and C++ developers average 25-35
person-days per class.
Has anyone a view on average effort to build Forte classes?
Note, the metrics quoted above relate to Design and Implementation. They
assume Analysis has been completed, and do not include the time for project
management, systems testing, and other support personnel. They assume aratio
of 1:6 OO experts to novices. Higher ratios should result in greater
productivity (lower average efforts per class). The guidelines also assumeno
library of reusable components.
Lorenz is an ex-head of IBM's Object Technology Center and a respected OO
consultant and author. His method is based on the results of 8-16Smalltalk and
C++ projects (not all statistics are available from all projects). Projects
ranged in size from 60 to 700+ project-specific classes. Project durations
ranged from 6 months to 2.5 years, with teams of 2 to 35 developers.
Thanks for any help
gjb.
Maybe you are looking for
-
A/R Invoice linked object not working all the time
I have a LinkedButton that is set to SAPbouiCOM.BoLinkedObject.lf_Invoice. When the selected A/R Invoice has a Document Type of Service the link works. When the selected A/R Invoice has a Document Type of Items the link does not work and I get the fo
-
I am getting ready to build a development server for one of our applications to host oracle for a client. The customer data set is huge and will take at least a month to load with large updates monthly after the initial data set. Our application is 3
-
Creative Zen Microphoto Charge probl
hi i bought my player online over the internet. I bought a charger separate in HMV, does all mp3s. It only charges however when its says battery low on screen-can't charge it any other time.its really annoying. Whats do you think the problem is?
-
Current versions are not availble as Solution Manager Logical Components
I'm settinp up a new Enterprise Portal server in Solution Manager EHP1. The portal server software is Enterprise Portal 7 running on NW 7.0 SR3. I cannot assign this server to the Logical Component SAP Enterprise Portal in Solution Manager because of
-
Your search did not produce any results
Hi, I'm publishing my iWeb site to my ME.COM account. I have the site password protected as offered in iWeb. But when the site is password protected the search with the iWeb search field does not provide any results. Only the message: "Your search di