FMS SDLC
FMS SDLC
System
System (from Greek Word systma,) is an organized relationship among functioning units or components.
System is an orderly grouping of interdependent components linked together according to a plan to achieve a specific objective.
Characteristics Of Systems
Organization: Implies the Structure and order. It is the arrangement of components to achieve objectives Interaction: Refers to the manner in which each component functions with other components of the system. (Ex computer) Interdependence : Means that parts of the organization depends on one another. Integration : It is concerned with how a system is tied together. Central Objective : Each system works to achieve a common objective
Elements Of a System
Inputs :- material or information that enters a system Outputs : - Outcome of Processing
Process : - Involves actual transformation of input into output
Contd
Types Of System
Physical or abstract systems Open or closed systems Man made systems
Physical System : - Are tangible systems . Ex : - computer system Abstract System :- are conceptual or nonphysical entities . Ex: Model , Formula
Open System :- Interacts with its environment Closed System :- Do not Interact with its environment . Is isolated from environmental influences
information system (IS) is typically considered to be a set of interrelated elements or components that collect (input), manipulate (processes), and disseminate (output) data and information and provide a feedback mechanism to meet an objective.
Major Information Systems are : Formal Information System Informal Information System Computer Based Information System
Formal Information System : - Is Based on the organization represented by the organization chart. It is concerned with the pattern of authority and Communication Informal Information System :- It is an employee based system designed to meet personnel needs and to solve work related problems
An Information System is an organized combination of people, hardware, software, communication networks and the data resources that collects, transforms and disseminates information in a organization.
IS Vs IT
INFORMATION TECHNOLOGY Hardware Software Databases are used to build INFORMATION SYSTEMS
Payroll System
Inventory System
Networks
Other related components
Marketing System
Maintenance
Need Recognition
What is the problem ?
One must know the problem before it is solved. It leads to preliminary survey or initial Investigation to determine whether an alternative system can solve the problem.
Feasibility Study
Depending on the results of the initial Investigation , the survey is expanded to a more detailed feasibility Study
It is a user oriented overview of the proposed information systems purpose and feasibility.
Types Of Feasibility
Economic Feasibility : - Involves questions such as whether the firm can afford to build the information system , whether benefits exceeds costs. Technical Feasibility :- - Involves questions such as whether the technology needed for the information system exists & whether the firm has enough experience using that technology
Organizational Feasibility : - Involves questions such as whether the information system has enough support to be implemented successfully
If the IS appears to be feasible , this phase produces a functional specification (Formal Proposal)
Formal Proposal consists of : Statement of the problem Summary of findings & recommendations Details of findings Recommendations & conclusions
Analysis
Analysis is a detailed study of the various operations performed by the system and their relationships within and outside the system It is a process of collecting factual data, understand the processes involved, identifying problems and recommending feasible suggestions for improving the system functioning. It determines whether or not a candidate system should consider other related systems?
Analysis Contd..
This involves studying the business processes, gathering operational data, understand the information flow, finding out bottlenecks and evolving solutions for overcoming the weaknesses of the system so as to achieve the organizational goals. System Analysis also includes subdividing of complex process involving the entire system, identification of data store and manual processes. DFD , Interview & Questionnaire are tools used in analysis
System Design
Based on the user requirements and the detailed analysis of the existing system, the new system must be designed. System designing is the most crucial phase in the developments of a system. The design process translates requirements into a representation of the software that can be assessed for quality before coding begins.
Design
Design focuses on four distinct attributes of a program:
Data structure Database (Fields / types) Software architecture (Function Hierarchy) Interface representations (Forms ,
reports, Screens)
Coding
The design must be translated into a machinereadable form. The system design needs to be implemented to make it a workable system. This demands the coding of design into computer understandable language, i.e., programming language.
Testing
The testing process focuses on the logical internals of the software ensuring that all statements have been tested
Conduct tests to uncover errors and ensure that defined input will produce actual results that agree with required results.
Testing
Unit Testing :- Test Each Program separately System testing:- Test the functioning of the system as a whole. Ex:- Performance Test , Stress Test
Acceptance Testing :- User Acceptance Testing (UAT) is a process to obtain confirmation by the client that the modification or addition meets mutually agreed-upon requirements. It is one of the final stages of a project and often occurs before a client or customer accepts the new system. Types : Alpha Test (developer site) & Beta Test (Customer Site)
Implementation
Is the process of putting the system into operation in an organization.
It includes training and conversion Training : - Is the process of Ensuring that system participants know what they need to know about system
Direct Conversion :- involves an immediate conversion to the new system. This method can appear cheaper but is full of problems. If the new system is not working right it may mean loss of data which may have huge implications depending on the type of data. It is not recommended
Parallel Conversion: Involves the old and new system working side by side.
Some operations are gradually implemented into the new system while the old system is still running. After all the operations have been carried out under the new system and the new system has been debugged then the old system is discontinued.
Phased Conversion: This involves the gradual implementation of the new system. As the various operations are tried on the new system , the old is discontinued in those operations Ex : If the system is introduced by functions , a new payroll system might begin with hourly workers , then add salaried Employees
Pilot Conversion: Involves implementing the new system in only a small part of the organization such as single department . If there are any problems with the new system then the old system is still there as a backup.
Maintenance
Both users and technical specialists determines how well it has met its objectives and decide whether any revision is required or not .
Types Of Maintenance
Corrective maintenance: modification of a software to correct discovered problems. It is used to correct errors in the system Adaptive maintenance: It is used to make software product usable in a changed or changing environment. Adaptive maintenance is used to add enhancements (i.e. a new capability or feature) and is used to make the system easier to use. Perfective maintenance: Is the modification of a software product to improve performance. Perfective maintenance can be used to make an operational system more reliable and efficient.
Strengths of SDLC
Oldest and Most Widely Used Simple Step-by-step process Ensures consistency on sequence of phases and how they are followed. Distinct milestones and deliverables for each phase Supports project management
Weakness of SDLC
Inflexible because real projects rarely follow the sequential flow that the model proposes It is often difficult for the customers to state all requirements explicitly. The customer must have patience to wait to validate the software product in the late phases. (until programs are implemented) Difficult to respond to changing customer requirements
Prototype
Listen to customer
Build/revise Prototype
Steps of Prototype
Identify basic requirements Determine basic requirements including the input and output information desired. Develop Initial Prototype The initial prototype is developed that includes only user interfaces. Review The customers, including end-users, examine the prototype and provide feedback on additions or changes. Revise and Enhance the Prototype Using the feedback both the specifications and the prototype can be improved. Negotiation about what is within the scope of the contract/product may be necessary.
Types of prototyping
Throwaway prototyping :- Also called close ended prototyping or Rapid Prototyping . Throwaway refers to the creation of a model that will eventually be discarded rather than becoming part of the final delivered software. After preliminary requirements gathering is accomplished, a simple working model of the system is constructed to visually show the users what their requirements may look like when they are implemented into a finished system. The method used in building it is usually quite informal, the most important factor being the speed with which the model is provided. The most obvious reason for using Throwaway Prototyping is that it can be done quickly
Evolutionary prototyping :- builds a very robust prototype in a structured manner and is constantly refined . The Evolutionary prototype, when built, forms the heart of the new system, and the improvements and further requirements will be built. When developing a system using Evolutionary Prototyping, the system is continually refined and rebuilt. Evolutionary Prototypes have an advantage over Throwaway Prototypes in that they are functional systems. Although they may not have all the features the users have planned, they may be used until the final system is delivered.
Incremental prototyping :- The final product is built as separate prototypes. At the end the separate prototypes are merged in an overall design.
Advantages
Reduced time and costs: Prototyping can improve the quality of requirements and specifications provided to developers. Because changes cost exponentially more to implement as they are detected later in development, the early determination of what the user really wants can result in faster and less expensive software
Customers can validate the prototype at the earlier stage and provide their inputs and feedback
Improved and increased user involvement: Prototyping requires user involvement and allows them to see and interact with a prototype allowing them to provide better and more complete feedback and specifications
Drawbacks
Insufficient analysis: The focus on a limited prototype can distract developers from properly analyzing the complete project.
User confusion of prototype and finished system: Users can begin to think that a prototype, intended to be thrown away, is actually a final system that merely needs to be finished or polished
Developer attachment to prototype: Developers can also become attached to prototypes they have spent a great deal of effort producing it. Excessive development time of the prototype: A key property to prototyping is the fact that it is supposed to be done quickly. If the developers lose sight of this fact, they very well may try to develop a prototype that is too complex. When the prototype is thrown away the time spent is wasted