Friday, September 16, 2011
Software System Development Process
Software Systems development requires an organized, step by step approach. The steps should be natural and have well-defined results. The completion of each step should provide a check-point where it can be determined whether the next step can be carried out or not.
The Conception Phase starts as someone, the user or anyone else, recognizes a problem or an opportunity, which has a data processing solution. The systems analyst and the user meet to develop information, mainly description of the problem or opportunity, goals, benefits and project scope.
The Initial information of the Conception Phase are generally recorded in a document called Project Request Form, whatever be its format. In the Conception Phase face to face discussion with the user is the best way to collect the true and exact facts.
Since users mostly can't explain their problems properly, the systems analyst must have interviewing skills. He should know what questions to ask. Thus Conception and Initiation are the preliminary phases involving a lot of queries, and interviewing those people who will be using the system. As stated earlier, one has to know what questions to ask to bring out the exact requirements. Users are not always very clever in expressing what they actually need.
Goals to be achieved and benefits to be derived from the software system must be well defined and documented. It will show whether the solution is adequate or not. A systems analyst should have a reasonably good understanding of the user's business and particularly the functional area for which the system is to be developed.
Sources from which information have been derived should be properly listed.
Benefits should be quantified in terms of money and should be listed in a sequence such that the first one is the easiest one to quantify.
A rough estimate of the project development cost is necessary against which the money values of the benefits are to be compared.
All the departments & sections as well as personnel that will be affected by the software system are recorded to determine the size of the project.
'User' is the manager, lowest in the organization, to whom all affected areas report.
Analysis and design are the two most vital phases, which can ensure a long life of the software.
Analysis part is all about understanding and ascertaining what the system is supposed to do.
In involves preparation of the Context Analysis Diagram,
Data Flow diagram, top level as well as lower level ones,
identifying external entities involved with the system, like the departments affected by the system or outside people,
processes that are required to convert raw data into processed data,
which then becomes usable, meaningful information for the user,
blowing up the processes to identify the sub-processes existing within the major (top level) processes, and identifying the data structures that are required to be updated by the various processes.
converting processed data into meaningful, understandable data, properly formatted and printed or shown on the screen,
Design part is supposed to take care of how the system should perform all that has been ascertained in the Analysis part. It involves preparing structure charts, module specifications, logic involved, checks and validations that need to be incorporated, taking care of interfaces with other systems, and exporting or importing data to or from other systems.
Building a software is a costly affair. A company cannot build it from the scratch every year, though upgradations are always done according to the changes that take place in course of time. So a long life of the software is very essential. Another very vital thing is the changeability of the software system,.... how far and how long it can undergo changes. The more flexible it is, the longer will be its life. So its development cost will automatically be spread over a long period,....seven to ten years... thereby lowering the yearly charge. Changeability totally depends on the Design part..... how the individual modules of the software are related to one another, and how far the modules are independent. The more independent a module is, the less will be chances of other modules getting affected by a change made in one particular module. More the changes a system can take, the more will be its life and the more beneficial it will be for the company using the software.
Another very vital thing is designing the database structure, and individual data file structure. There are rules and principles to do that. This also affects the changeability of the system. A poor database structure will make the system too rigid, ....life span will not be more than four years. It has to be scrapped after that period.
Then comes the Construction Phase when the actual programming work, building up the data files and the database, syntax and logical testing etc. are done. Interactions with the user are necessary, as and when required.
At the end comes the System Testing part when tests like Stress Testing, Volume testing, Data Validation Check Testing etc. are done.
This completes an overview of the system development process.
Update(s):Post(s) under preparation: -
View Chandra Bhanu's Art at Profoundfeeling.blogspot.com
View Chandra Bhanu's Art at Profoundfeeling.blogspot.com
indifference curve investment demand-pull inflation economy fiscal policy monetary policy cost-push inflation demand demand for money destabilized economy economics stagflation supply of money Opportunity Cost Quantity Theory of Money Theory of Consumption World economy automatic stabilizer capital choice consumption function current accounts deficit deflationary gap demand for investment depression derivation effects of inflation equilibrium fiscal deficit fresh investment growth imbalance inflation interest money perfect competition savings savings function world Accounting Profit Adam Smith Alfred Marshall Diminishing Marginal Utility Economic Profit Equimarginal Utility General Equilibrium Theory IS Curve J. M. Keynes Keynes' Theory of employment LM Curve Lionel Robbins Normal Profit PPC Production Possibility curve Software system development Utility Analysis accelerator account accounting alternative uses autonomous investment balance of payments book keeping capital goods classical theory of the rate of interest commodity consumer consumer goods consumption credit debit definition deflation discretionary double entry economic functions economic wants educated education ends energy ermployment full employment functions of money growth rate habit imitation imperfect competition income income analysis income determination income effect induced investment inflationary gap investment function knowledge labour less than full employment liquidity preference theory long run long run equilibrium means monetary analysis monetary measures monopoly multiplier price price effect price maker production possibility frontier profit maximization propensity revealed preference analysis sacrifice say's Law scarce science shifts of IS LM curves short run short run equilibrium shut down conditions slow down society stagnation student subsidies subsidy substitution effect success sunk capital supply supply of savings technology unproductive wealth world economy 2012