System Analysis and Design
The term system is derived from Greek word systema. The meaning of systema is organized relationship among components. The system is an organization build from many components to obtain desired goals or output. All the components of system are dedicated for system output. In broad sense, there are only two systems: (a) Natural System and (b) Fabricated System
(a) Natural System: Our universe is a system. Then all galaxies are sub-systems. There are many systems in nature such as water system, wind system, ecosystem etc. Our body is also build from 9 systems.
(b) Fabricated or Artificial System: Man made system is called fabricated system. In this system, man and machine assemble the entire component to obtain objective. There are many examples of this type of systems. All the system is artificial except natural systems.
- Computer system: It is also an artificial system in which all the components like as input unit, processor and output unit are busy to process data.
- Business organization: The business organization is a system made from many sub-systems to obtain goal of organization. It has production department, marketing department, purchasing department, advertising and account department. All departments have different functions, but objective is only one to obtain organization goal.
- University: university is also system made from many sub-systems or components. The examination department, administration, affiliation departments, distance education department, teaching and many other department are working together to facilitate student education and examination.
This ball is a system made from threads. When we break each thread, system can be destroyed, just like it, all components or sub-systems are responsible for system.
Characteristics of System: The system is an integrated and organized organization in which all components work on same objective. Some important features are:
a. Organization: The organization is an organized order of components. So, we can say, a system of an organization of components.
b. Interaction: Interaction among components is common thing in system. Each component interacts for each other.
c. Interdependence: All components depend on each other.
d. Integration: The theme of integration is “we are one”. All components are integrated to obtain system objective.
e. Objective: All systems have its own objective. For instance, soap manufacturing system’s objective revolves around the soap manufacturing, advertising, marketing, sale and market research.
2. System Development Professional
A long queue software development professional is employed in software industries or system consultancy. Like a film, only hero and heroine are highlighted, all gone behind the curtain. In software industries also, system analyst and programmers are highlighted.
(a) System Analyst: System analyst is a post of high status and highly paid. He/ She is highly responsible for system development.
The attributes of System analyst:
- Highly qualified: A system analyst is a highly qualified person with unique skills. He/ She may be higher degree in computer/ management science with work experience.
- Knowledge of Organization: He/ She must have enough knowledge of relevant organization for which he/ she is going to develop system.
- Knowledge of Computer: He/ She must be rich in knowledge of computer hardware and software.
- Communication: The ability of motivation, verbal, written and listening skill are necessary attributes of System analyst. He/ She must be expert speaker and command in one international language and regional language.
- Good interpersonal relation: The good personal relation offers opportunities. So, system analysts have to make good environment all round themselves.
- Analytical mind: It is also a very important condition to work as system analyst. The analytical brain will help to analyze problem quickly and progress becomes easy.
- Common Sense: System analysts have to apply common sense in many situations. Now, I am presenting example of common sense always seen in rural area. Once a bone of fish is anchored in throat of a child, surgeon suggested that without operation there is no way of remedy, but villager comes and given bitten rice to chew and shallow. The bone also swallowed with bitten rice. The merely bookish knowledge is not enough for the post of System analyst.
The role of System Analyst:
The roles of system analyst are given below:
1. Investigation: The process of fact finding through asking questions is called Investigation.
2. Communication with customers: The interviews are conducted to find out facts of organization.
3. Documentation: The report prepared on the basis of interviews is called documents. It is a detail description of customer’s requirements in written shape. It is also called requirement specification or functional specification. Tom De Marco gives the term “target document” for this document. After signature of client, it goes for designing; otherwise new documentation is started from beginning.
4. Understanding: The good understanding of collected information for documentation is essential for fruitful system designs. The future of design depends on it. If document is not detailed and correct, clients cannot accept system.
5. Planning: The planning and documentation is the major responsibility of system analyst.
(b) System Designer: The documentation is a last stage of analysis phase. The system designer works according to document prepared by analysis team. The data flow diagram, data dictionary, flowcharting and coding are main steps taken to develop new systems. Programmers are responsible for designing of system by coding program. Some special attributes of programmers:
i. A brain with imagination capacity on practical background
ii. Expert in any one higher-level language.
iii. The knowledge of hardware, operating system and database management system is needed at the time of program coding and testing. The types of processor, memory capacity, free space in disk etc are general factors for programmer. The knowledge of database is an essential factor for good programmer because all software are data bounded.
iv. University computer graduate or computer Engineer with sound knowledge of computer languages.
v. The ability of thinking and linking is very important for programmers. He / She must be able to link his/ her thinks with program.
3. System Analysis and Designing
The analysis and designing are two broad wings of one bird. The definition of analysis is given in Oxford Dictionary as “separation of a substance into parts for study and interpretation; detailed examination.”
The term substance indicates about system and parts are sub-systems or components The analysis is a study of system requirements on components basis.
The designing is a very challenging work. It is a bridge between requirement specification and final solution for satisfaction. The design of a system is a blue print or a plan for a solution of a system. It has many phases started from coding to testing. The design of interface, design of control and process, input/output design etc is main part of system designing. Its interface, input/ output, control and process should be very sophisticated and easy, far from complexities.
4. System Development Life Cycle
Generally, most of the teachers get difficulty in the class of SAD. Students ask many types of questions all be related that why do we need system analysis? What is the software development life cycle? Why do we develop software for business organization whenever many applications package, which is related with every field of business, science, graphics and amusement are present? Why does company invest money for system analysis? We satisfy curiosity of students presenting examples taken from various fields.
(a) Suppose our house has capacity to adjust five family members comfortably. When members increased, we rebuild new house or add extra rooms for extra members. We consult architect engineer for house design and suggest for kitchen, bathroom, latrine, dining room, guestroom, sleeping room, and study room etc. Architect asks many questions. How many rooms are needed? Is Latrine bathroom should be attached or separate? What should be the size of sleeping rooms? How much will you invest for house? When all the questions are satisfied then he started to work on project. Just like it, installation of new system instead of old system is not joking. The system analyst asks verity of questions and make document for further action.
(b) A Company, which is named as ABC Ltd. has typewriters for documents typing. The document typed by typewriter is not attractive and facility to change fronts, insert pictures, graphs etc not with it. The company wants his documents should be more attractive and decorated with graphs, pictures, company logos and colorful fronts. So, The Company wants to install desktop for document printing.
(c) Suppose there is a software company that develops word-processor and sale in market. The first version has facility of font changing, text style (bold, italic, underline, shade, and double underline) and text formatting. The software has no facility of mail merging, insertion of pictures and graphs. The system analysis division of company collected information about extra facilities and new version of software is lunched in market with facilities of mail merging and picture insertion capacity. The system analyst get report that when spelling checking capacity and thesaurus will added to the software, operators have not consult dictionary for spelling checking and can correct automatically grammatical mistakes also. Then drawbacks of second version are corrected, new facilities are added and new versions of software are lunched in market. We see that each new version, replace old one.
(d) Most of us have seen the billing system of telecommunication, electricity board, railway reservation, banking etc where application packages are not used. They have their own software for own works. These software’s are developed on the basis of demand of system and nature of transactions. In beginning, all transactions are done manually, but now a day, these transactions are done through computer. According to demands, new one replaces the old versions.
We know that every product has distinct phases in life, which is termed as life cycle. In PLC (Product Life Cycle), there are four stages:
- Introductory stage: In introductory stage product is lunched in market for introduction.
- Growth stage: In growth stage, demand and sale increase because size of market is increase.
- Maturity: Sale and demand curve are flat at this stage because demand is at saturation point.
- Declined stage: At this stage sale began to fall because new product with advance technologies are becoming available at this stage. So, company started to manufacture products with advance technology, and replace old one or modified into new form. Like as old product replacement, technology, trick and technique, all are changed. When manufacturing process is computerized, company replace old system and install new and advance system for production control.
For this purpose system analyst is hired or some large organization has its own analysis wings also. The SAD is required to compete with compete to survive in market.
These are main causes behind new system development:
i. Replace old system: The new system is used to replace old system because maintenance cost is high in old system and efficiency level is low.
ii. Demand of Organization: The new system is developed and installed on the demand of organization and working groups.
iii. Productivity: The new system is installed to increase productivity of company or organization.
iv. Competition: The new system is a matter of status also. In the age of roaring competition, if organization does not cope with modern technology failed to face competitions.
v. Maintenance: The new system is needed to maintain organization status.
The phase of system development cycle:
The new system is not easy to build. It is a time consuming process in which many personnel share their skill, efficiencies and time. In human life, we get four stages: Childhood, adolescence, young and old. In life cycle of insects, there are four distinct phases: egg, larva, pupa and adult.
There are main eight stages in Software Development Life Cycle (SDLC):
[A] . Investigation: This is a first stage of SDLC. It has following activities:
1. Requirement: The information is collected from client about current system and requirement study of new system.
2. Feasibility Study: It is a study of possibility of building new system. There are three types of feasibility studies:
- Economic: The building of new system is how many times beneficial than current system and how much resources are invested to complete project is main theme of economic feasibility.
- Operational: This is the study of constitutional and social issues related with new system.
- Technical: The scope of available technology in new system is called technical feasibility.
After different types of feasibility study project approval is required. It is also a part of feasibility study.
Project Approval: The system analysis department prepares feasibility report for client for approval by higher authority of organization.
A cost-benefit analysis is necessary to determine economic feasibility. The primary objective of cost-benefit analysis is to find out whether it is economically worthwhile to invest in project. If the return on the investment is good, then the project is considered economically worthwhile. The payback method is used to find out in how many years the money spent is recovered as benefits. If r% is the interest rate per annum, the present value of earnings x accruing in the nth year is
[B] System Analysis: System Analysis phase is divided into many sub-phases to make analysis work easy. This phase is not easy phage, but very cumbersome and complex. The taking out thought and views from other is not a joke. This phage of SDLC is tricky and time consuming also.
(a) System Study: The system study is information-oriented stage in which user; middle level and higher-level management have to face interviews.
- Interview: The system analysis team conducts face-to-face interview with the staff of organization.
- Questionnaire: distribute questions (closed, open, probing types) to user and note their responses.
- Observation: The actual position of men and machine are observed on-site.
- Study of literatures, objective of organization, procedural manual etc is important tools for data collection.
(b) Requirement Analysis: The user expectation with new or candidate system is called user requirement. The requirement can be qualitative and quantitative.
(c) Documentation: The report of system study and requirement analysis is studied and documented. Designer team for system designing uses this document. If document does not contain appropriate information, design cannot be successful.
[C] Design: The documentation is a first point of designing. This phase is a most challenging, creative, and skillful part of SDLC. The future of System Development Organization or constancy depends on successfulness of system design. If system fulfills requirements of client, it is considered as successful system. In this phase input/ output, controls, procedures etc are designed according to functional specifications.
[D] Coding: The program is coded in any higher-level language. Now a day, many tools are developed for program designing and coding. The team of programmers is used for program coding. The code generators are also used to code program. The code generators are templates of code.
[E] Testing: The testing is a phase in which errors of program are removed, modifications are done to satisfy requirements of clients.
Generally, four type of test are done:
- Unit testing
- Integrated testing
- System testing
- Acceptance testing
Unit testing: In unit testing, the program is divided into several modules called unit. Each unit is tested. Units are easily manageable and errors can be easily detected. All the units are tested one by one, and all units of program are tested in this fashion. In the diagram largest square denotes program and all the smallest are modules or units. The unit testing is a time consuming testing process because each unit consumes times. It is an oldest or easy method of testing.
Integration testing or Link testing: The output of unit testing is used as input for integration testing. The test is done under supervision of designers. The one module is tested and combined with next module of great concern for testing together. In this way, all modules are integrated and tested. For this testing, top down, bottom up and sandwiched approach are applied.
System testing: The testing of whole system is called system testing. This test is done in the presence of analyst, designer and representative of clients. This test is done in different hardware setup. The memory range, operating system, storing devices, processors etc are hardware and software environments in which this test is done.
Acceptance testing: This is a final testing, if client is satisfied, sign for acceptance. If clients get errors or problems, developer has to modify again the system.
[F] Installation: There are two main steps in Implementation:
(1) The User Training and
(1) The User Training: The user training is an important phase of SDLC because without training, the utilities of new system are not exploited. The training is given at developer site or user site. Developer develops the training package and all the important aspect of input, output, loading software etc is taught on machine. The developer use training aids like as manual, help screens, data dictionary, job aids etc.
(2) Conversion: The conversion is a process of replacing old existing system by new one. The all the data of old format is converted into new format.
There are three types of conversions and they are:
- Pilot approach: In this conversion approach, a part of existing system is replaced by new system and after sometime the whole old system is replaced.
- Cut over approach: new one replaces entire existing system.
- Phased change over: In this approach, new system is implemented in several phases.
[G] Maintenance: When new system is installed, the periodic maintenance is needed to restore system performance in original condition. The maintenance keeps system update and it spans for 500 years whenever a system is developed in 1 or 2 years. It is a very broad activity. There are some activities related with maintenance are (a) Fix, (b)Enhance, and (c) Adaptive.
- Fix: When programmer is not human, if superman or God, he must say errors as demon because the nature of error is very painful, it appears suddenly and vanished also. Sometimes, it cannot be wiped out in one test, only deactivated and became active after installation of system. Developers fix these types of errors and this process is not easy, but labor-intensive.
- Enhance: The enhancement is a modification according to new demands.
- Adaptive: The changing of program function is called adoptive maintenance. The government policies, Organizational policies, work patterns, workers union, operating systems, business rules etc are factors which affect working environments and causing modification in new system.
[H] Evaluation: Once the system is -implemented, the maintenance and evaluation are two major factors, which determine life and functionality of new system. The evaluation is a process of observation in both positive and negative direction. The evaluation of new system is based on following approaches: (a) Operational approach,
(b) Organizational impact, and
(c) User Management
(a) Operational approach: The evaluation of system in working environment is called operational evaluation. It is related with handling of system. The new system is how many times easy in handling, the degree of efficiency, accuracy etc are measured.
(b) Organizational impact: The impact of system on organization is also considerable in evaluation. The first thing that does it fulfills the objective of organization or not? If it fulfill objective, the degree profit is satisfactory or not.
(c) User Management: The organization is a system of good management in every field. Each field like as production, purchasing, marketing, sale etc are integrated and working together to obtain objective of organization. The new system is influencing the management of all levels or not, is also a burning problem for system developers.
5. Software Lifecycle Model
The goal of software engineering is to produce well-documented, maintainable and efficient software in reasonable cost. A successful software product is one that satisfies all the objectives of the development project. These objectives include satisfying the requirements and performing the development within time and cost constraints. There are many models to guide software engineers for production of cost-effective, maintainable and user oriented software.
These models are:
(a) Waterfall Model
(b) Prototyping Models
(c) Spiral Models
(a) Waterfall Model: The diagrammatic representation of this model resembles as cascade of waterfall, so, it is called waterfall model. It is also called classic life cycle or liner sequential model, because development progresses in linear fashion.
It has five phases:
(i) Requirement analysis and Specification
(iii) Implementation and Unit testing
(iv) Integration and system testing
(v) Operation and Maintenance
(i) Requirement analysis and specification: The goal of this phase is understandings of exact requirement of customers and proper documentation. The resultant document is called SRS (Software Requirement Specification).
(ii) Design: The SRS is transformed in specified structure. The architecture of software system is defined and its final form is called SDD ( Software Design Description).
(iii)Implementation and Unit: The modules are coded and tested. This is the phase of modification and examination.
(iv)Integration and System testing: The tested modules are integrated into system and interface is designed to control each modules. The entire modules are converted in a system, and tested to obtain higher quality of system according to users requirements.
(V) Operation and Maintenance: This is the phase span for round 5 to 50 years, but system is developed in 1 to 3 years. The error correction, enhance capabilities, optimization etc are tasks performed in maintenance.
(b) Prototype Model: the prototyping is the model of system development. We know that there are many models which assist software development and testing. It is a quick model. The developer and customers meet and define the overall objective for the system. So, risk factor is minimized to the some extends. Example: water fall model, Spiral model etc. It is a rough estimate of functional capability of candidate system. The following main steps are implemented in prototyping model:
- Requirement: The requirement analysis is the first step or any designing models. The requirement and goal of organization is needed to understand designing strategy.
- Quick design: The rough design of system is drawn for discussion and decisions.
- Implementation: The designed system is implemented to check functionality.
- Evaluation: The suggestion of customers is important here for refinement of system.
- Design: It is a design phase where system is designed to satisfy customers.
- Implementation and Unit testing: The system is implemented and tested.
- Operation and Maintenance: In this stage, system is operated and maintained.
This model is not appropriate for final development of candidate system due to poor performance, limited functional capability and low reliability.
(c) Spiral Models: The Software development process is time and money consuming process. The cost of development differs from organization to organization. The productivity of software system is not satisfactory. Many software are developed per years in the world, lunched in markets, and avoided by users due to error or inefficiency.
As per the latest IBM report, “31% of the software projects get cancelled before they completed, 53% over-run their cost estimates by an average of 89% and for every 100 projects, there are 94 restarts. Suppose, you design and develop software system for any organization, and at the last hour organization is not satisfied to new or candidate system, then how manage risk? The risk factor is also essential for software development, is introduced first time by Barry Bohem. This model is suggested and explained by him first time. It is a realistic approach to the development of large-scale systems. Rest of other model has no risk concept, except spiral model.
The structure of this model is spiral like as our milky way. The spiral structure is divided into 4 quadrants: 1-Planning, 2-Risk Analysis, 3-Development, and 4-Assistment.
(i) Radial dimension represents cumulative cost.
(ii) Spiral: represents cost incensement
(iii) Angular dimension: represents progress made in completing each cycle.
(iv) Loop: Each loop of the spiral from x-axis clockwise through 360, represent the phases.
What is risk?
The definition of risk is always product and organization oriented. It is a condition of uncertainty in future. Tomorrow’s problems are today’s risk. Hence, simple definition of a risk is a problem that could cause some loss or threaten the success of the project, but which has not happened yet. The risk analysis and management is also an important factor for software development. An important feature of the spiral model is that the people concerned with the project complete each phase with a review. The second important feature of the model is that each cycle of the spiral is completed by a review that covers all the products developed during that cycle, including plans for next cycle. The detailed design contains coding, unit testing, integration testing, acceptance testing etc.
- Introduction to operating system Operating System: An operating system is a collection of system...
- Operating System Structure operating system structure: An operating system might have many structure....
- Computer System The computer is designed to manipulate all types of data...
- Input and Output system The process of giving input to computer and giving output...
- BIOS The BIOS (Basic Input Output System) can be defined as...