Академический Документы
Профессиональный Документы
Культура Документы
System Development Life Cycle (Software Development Life Cycle): SD%& is a set of activities carried out by system analyst, designers and user to
develop and implement the information system. It consists of following activities: !reliminary investigation. 'nalysis"(e$uirement or System 'nalysis# Design Development )f Software"&oding# *esting Implementation and +aintenance. Preliminary Investigation: *he ob,ective of this step is to determine whether the re$uest is valid and feasible before ma-ing any recommendation to improve or modify the e.isting system or build a new system. Requirement Analysis: )nce the decision is made by management on the recommendation of preliminary investigation, the second phase of SD%& start. *he ob,ective of this step is to collect and analy e all data and information with a view to un!erstan! customer requirement clearly and wee!ing "remove# inconsistencies and incompleteness in these re$uirement. System Design: *he goal of system design phase is to transform the re$uirement into a structure that is suitable for implementing in some programming language. System Construction (Co!ing): *he goal of this step is to translate the design of the system into code in a given programming language. "esting: efore implementation, system must be tested. System testing is done to ensure that system does not fail while running actually and it should function as per re$uirement specification. Implementation an! #aintenance: 'fter the system is found to be fit, it is implemented. /ardware is installed and users are then trained on new system and word on it is carried out independently. )nce the system is implemented it should be maintained properly.
C&aracteristics:
1. Divide the pro,ect into number of tas- and processes. 2. Document every step and process and produced specific reports and other documents during system development. 1. 'ssure the participation of users, managers in the pro,ect. *he people generally provide approvals and system being developed. 2. System must be tested thoroughly prior to implementation. 3. ' training plan is developed for those who will operate and use new system. 4. ' post implementation review of developed system must be performed.
In order to ma-e sure that systems are analyzed and designed efficiently and effectively, it is essential to adopt a suitable model. 7ollowing are the some approaches for system development: *raditional 'pproach or 8aterfall +odel. Linear %ramewor* "ype !rototype 'pproach. Iterative %ramewor* type Incremental 'pproach. Com(ination of Linear an! iterative framewor* type Spiral +odel. Com(ination of Linear an! iterative framewor* type 'gile +ethodology. ('D "(apid 'pplication development# 'pproach. Iterative %ramewor* "ype
!reliminary investigation
System analysis F E E D B A C K
System design
System construction
System testing
,ea*nesses of ,aterfall #o!el: 1. 2. 1. 2. 3. 4. !ro,ect progresses forward, with only slight movement bac-ward. !roblems are often not discovered until system testing. Difficult respond to changes. &hanges that occur later in the life cycle are more costly. %ittle room for use of iteration. *ime frame will be more. System performance cannot be tested untill the system is almost fully coded.
"&e Prototyping #o!el: ' prototype model suggests that before development of
actual software a wor-ing prototype of the system should be built. ' prototype is a toy implementation of the system which usually provides limited functionality, low capabilities and inefficient performance but it help to understand the e.act re$uirements from system. Strengt&s: !rototype model helps to find the customers actual re$uirements. ;seful for resolving unclear ob,ectives. /elps to easily identify confusing or difficult functions and missing functionality. !rototype ma-es re$uirement more clear and more transparent. In general, it is difficult to develop a new type of product without going through many revisions< and prototype approach helps to develop such products with lower cost and time re$uirement.
!rototype model can be viewed as series of following steps: 1. (e$uirement gathering. 2. =uic- Design. 1. Develop prototype. 2. &ustomer evaluation. 3. (efine (e$uirements as per customer evaluation.
)nce user approves the prototype actual system development starts using traditional approach.
,ea*nesses: !rototype model can be successful only if the system developers are ready for providing significant time to e.periment and build prototype and get it chec-ed from actual users again and again, until user approves the prototype. *o save development time developer do not thoroughly test and document the system because of time consumed in e.perimenting with prototype, which may cause inefficient and erroneous system development. If end user is not satisfied with initial prototype, he may loose interest in the pro,ect. !rototype may not have sufficient chec-s and balance incorporated. Designers may prototype too $uic-ly, without proper users need analysis, resulting in an infle.ible design that limits future system potential.
"&e Incremental #o!el: In this model the product is decomposed into number of
components, each of which are designed and built separately. >ach component is delivered to the client when it is complete. 7irst the development team develops the core module of the system and then it is later modified to better meet the need of customer and delivery of additional features and functionality. System is developed in step by step manner.
Strengt&s: *he feedbac-s from early increments improve the later stages. Smaller sub pro,ects are easier to control and manage. *he pro,ect can be temporarily abandoned if more urgent wor- crops up. Smaller sub pro,ects are easier to develop. ,ea*nesses: *esting of modules result into overhead and increased cost. Some problems are difficult to divide into functional units "modules#. Since some modules will be completed much earlier than others, well defined interfaces are re$uired.
Spiral #o!el: Spiral model is similar to incremental model but with more thrust on risanalysis and resolution. In this model, pro,ect development activities are represented as spiral. >ach loop in the spiral acts as phase in the process. *he ris-s are e.plicitly assessed in each spiral0s loops and ris-s are resolved throughout the spiral process. Spiral model is primarily used for comple. and large pro,ects. >.ample: In the first cycle there was shortage of developers to develop programs. *hus in ne.t iteration enough developers will be appointed such that delay should not occur again to develop the programs.
A!vantages: *his model is used as a ris- reduction mechanism. 'fter final iteration, all ris-s are resolved. It is ris- driven model. Disa!vantages: +odel is not suitable for small pro,ects. +odel re$uires e.pertise ris- management s-ills. &omple..
Agile #et&o!ology: *his approach does not follow any predefined steps. *his approach
describe that software development is essentially a human activity and will always include variation in processes and inputs< therefore model should be fle.ible enough to handle the variations. *hus the 'gile +ethodology incorporates iteration and continuous feedbac-. 's important, it focuses on empowering people to collaborate and ma-e decisions together $uic-ly and effectively. 'gile software development focuses on -eeping code simple, testing often, and delivering functional bits of the application as soon as they?re ready. *he goal of 'SD is to build upon small client5approved parts as the pro,ect progresses, as opposed to delivering one large application at the end of the pro,ect. C&aracteristics Includes iterative cycles. Include modular development process. ;sers or people oriented approach. &ollaborative wor-ing approach.
@athering re$uirements using wor-shops instead of interview. *he re5use of software components. %ess formality in reviews and other team communication. 'ims to produce high $uality systems $uic-, primarily through the use of iterative prototyping, active user involvement, &'S> "computer aided software engineering# tools, D +S, 7ourth generation programming languages, &ode generators etc. It includes A'D "Aoint 'pplication Development#, a small team compromising developers and users empowered to ma-e the decisions.
A!vantages: ;sing ('D model a product can be developed withing a very short time duration. 's customer is involved at all stages of development it leads to product achieving customer satisfaction. 7eedbac- from customer is available at the initial stages. =uic- initial reviews are possible. ecause ('D produces system more $uic-ly and to business focus, this approach tends to produce systems at lower cost. @enerally produces a dramatic savings in time, money and human effort. Disa!vantages: +ore speed and lower cost may lead to lower overall system $uality.
If customer and developers are not committed to the activities to complete the system in a much abbrivated time frame, ('D pro,ects will fail. If the system cannot be properly modularized,building the components necessary for ('D will be problematic. ('D my not be appropriate when technical ris-s are high. System Development Life Cycle (SDLC): SD%& is a popular system development frmewor- which provides se$uence of steps to developers for efficient system development. >ach step of SD%& is -nown as phase and each phase uses results of previous phase. *he SD%& is document driven framewor- which means at every steps of SD%& documentation is produced. ' phase of the SD%& is not complete untill the appropriate documentation is produced. A!vantages: etter planning and control by pro,ect manager. Documentation is an important measure of communication. &ompliance to prescribed standards ensuring better $uality. Disa!vantages: *he development team may find it cumbersome. *he user may find that the end product is not visible for long time. It may not be suitable for small and medium sized pro,ects. SD%& is used in all the system development approaches.
&larify B understand the pro,ect re$uest. Determine the size of the pro,ect. Determine the technical and operational feasibility. &onduct cost benefit analysis: what is the estimated cost for developing a particular systemC 8ill the proposed system provide better service to customerC 3. Submit reports to management with recommendation outlining the acceptance or re,ection of proposal.
Preliminary investigation/ (P-AS. 0): A/ ID.1"I%ICA"I'1 '% PR'2L.# 2/ ID.1"I%ICA"I'1 '% '23.C"I4. C/ D.LI1.A"I'1 '% SC'P. D/Pro)ect %easi(ility (Possi(ility Stu!y) ./ Cost 2enefit Analysis
Pro)ect %easi(ility:
"ec&nical feasi(ility: It is concerned with hardware and software. In this analyst evaluate whether proposed system is feasible with e.isting or e.pected computer hardware and software technology. Some of the technical issue raised are: 1. &apacity of e.isting hardware or software is enough. 2. >.pansion of the system in future. .conomic %easi(ility: It includes comparison of cost of pro,ect with its benefits. )bviously a pro,ect should be ta-en if benefits e.ceed the cost. 'perational %easi(ility: It includes how people are able to wor- with the system. Some issues raised: 1. Support from managers and users. 2. 're current business methods acceptable to usersC If not users may welcome a change. 1. Involvement of user in planning and development of pro,ectC Sc&e!ule %easi(ility: >stimating how long it will ta-e a new system to become operational. Legal %easi(ility: It is concerned with whether there will be any conflict between a newly proposed system and organizations legal obligations.
In this analyst defines the problem and its scope, provide one or more solution and estimates cost and benefits. *his report is submitted to management for approvals. *he ne.t phase for system development starts after the approval is given by management.
S5S".# A1AL5SIS 'R R.67IR.#.1" A1AL5SIS: (P-AS. 8) A/ %act %in!ing "ec&niques 2/ Analysis of t&e Current System C/ Analysis of Propose! System D/S5S".# D.4.L'P#.1" "''LS ./ System Specification 9(Preparing #anagement Report) %/ Role of Different Persons !uring SDLC p&ases:
'fter completing all the above steps, all information gathered and analysis done there on is documented -nown as SRS !ocument and submitted to a management for approval and approved document become the contract "reference# document for further development. System Requirement Specification contains the following: Intro!uction: description about the system to be developed. Information Description: Input D )utput. %unctional Description: !rocessD Database. 2e&avioral Description: &ontrolsD e.ternal &onnectivity. 4ali!ation Criteria: &lasses of test to be performed.
'nsite '(servation: In the analyst personally visits the place of the wor-s of users and managers and observes their wor-ing of the system and environment to get a clear picture of the users wor-. It plays an important role in analysis of system. *he purpose of onsite observation is to get as close as possible to the ErealF system being studied.
Systems flowcharts, Data 7low Diagrams, system &omponent +atri. etc are used to represent system component and flows. 7ser Interface: Such tools help in designing the interface between end users and computer systems, such as: Layout forms an! screen are used to construct the content and format of input and output form. Dialogue %low !iagrams are used for describing the flow of dialogue between computers and users. Data Attri(utes an! Relations&ips: Database is very important part od a system. *he database in the system are defined and designed by this category of tools. >.ample are Data Dictionary: .ntity relations&ip Diagrams: 7ile %ayout 7orms etc. Detaile! System Process: *hese tools help programmer to develop detailed procedures and processes. >.amples are Decision "R.. an! D.CISI'1 "A2L..
and
Data 7lows
*ransformation !rocess
!rocess transform data from inputs to outputs and represented by circles or bubbles
Data Stores
is two
Decision Tree
' decision tree is a decision support tool that uses a tree5li-e graph or model of decisions and their possible conse$uences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm. Decision trees are commonly used in operations research, specifically in decision analysis, to help identify a strategy most li-ely to reach a goal. If in practice decisions have to be ta-en online with no recall under incomplete -nowledge, a decision tree should be paralleled by a probability model as a best choice model or online selection model algorithm. 'nother use of decision trees is as a descriptive means for calculating conditional probabilities. Layout %orms an! Screens: %ayout forms and screens are used to design source documents, input D output and storage records, files and output displays and reports. 2@% pac-ages, &'S> tools and other software pac-ages provide electronic version of layout forms. *hese are tools -nows as report generators, form generator etc help to design data entry forms and output reports. System component matri;: It shows information system as matri. of component that highlights basic activities of input, processing, output, storage and control. It represents different resources and their utility in +atri. form which is easy to understand and implement. Activities -ar!ware Software 7sers Data(ase Input ar code reader Data entry Sales cler&ustomer, program product database !rocessing &omputer !rogram sales cler&ustomer, processor inventory )utput !oint of sales (eport &omputer Same terminal generator operator, D ' program Storage /ard disD +S D ' &ontrols !oint of sale !erformance 'uditor &ustomer,
terminal
Inventory.
Data Dictionary: ' data dictionary contains +etadata i.e. data about data. ' database system consult data dictionary before reading or modifying actual data. It is the most common powerful component of D +S. ' data dictionary contains the details of data li-e table names, field0s name etc. A!vantages: *his file can be used for security purpose. It describes which program will store and use data. Data dictionary serves as an important aid when documenting internal control procedures. CAS. tools: *he data flow diagram and system flowcharts that users review are commonly generated by system developers using the on5screen drawing modules found in &'S> (Computer Ai!e! Software .ngineering) software pac-age. *he software that helps the user to generate Data 7low Diagram and System 7lowcharts. &'S> helps in 'utomation of anything that system analyst perform in system development process.
Decision "a(le: Decision table is a table that is created before a flowchart, defining all the possible conditions that may be considered within the program and all appropriate action for each condition. ' decision table is divided into four parts: &ondition Stub 'ction Stub &ondition >ntries. 'ction >ntries.
7ollowing are the -ey personsD groups involved in a system development: Steering Committee: Steering committee provides overall direction and is responsible for all costs and time schedule. 'lso it ma-es regular review of pro,ect development and ta-es corrective actions accordingly. Pro)ect #anager: ' pro,ect manager is normally responsible for more than one pro,ect and liaison with the client. /e is responsible for delivery of the pro,ect within time and budget and periodically reviews the progress with the pro,ect leader and team members.
Pro)ect Lea!er: ' pro,ect manager may be responsible for many pro,ects at the same instance, and pro,ect leader is solely dedicated to particular pro,ect. /e monitors day to day progress of the pro,ect. #o!ule Lea!er+ "eam Lea!er: ' pro,ect is divided into following modules and development responsibility for each module is assigned to module leader. System Analyst+ 2usiness Analyst: System analyst is a person responsible to understand user0s re$uirements and communicate that to programmer. Programmer+ Co!er+ Developer: !rogrammers writes programs and converts design into programs by coding using programming language. *hey also responsible for initial testing or debugging activities. Data(ase A!ministrator (D2A): *his person is responsible for creating an efficient and secured database. /e is also responsible to monitor the performance of database. 6uality Assurance: *his team sets the standards for development of pro,ect and team chec- the compliance for standards from time to time. "ester: *ester is ,unior level $uality assurance person. *ester tests the program and modules and prepares test reports. Domain Specialist: 8henever a pro,ect team develops a pro,ect in the field new to them, they ta-e help of domain specialist. 7or e.ample: it a team underta-es application development in insurance then they ta-e the help of a person who has e.pert -nowledge of insurance system wor-ing. IS Au!itor: IS auditor ensures that ade$uate controls are observed while developing and testing applications.
Arc&itectural Design: *his design deals with the organization of application in terms of
hierarchy of modules and sub modules. 't this stage we identify +a,or modules. 7unction and scope of each module. Interlin-ing between modules. Data inputs, processing and output from modules. *he architectural design is made with the help of a tool called =%unctional Decomposition> which can be used to represent hierarchies of modules. It has three elements: +odule &onnection &ouple "Data that move from one module to another# *he module is represented by bo., connection between them by arrows and data that move from one module to another is represented by an arrow with circular trail.
output refers to any information in the form of report, document or message produced in printed or displayed form by an information system. )utput )b,ectives: &onvey re$uired information. Signal important events, problems, warning e.g. e.ception reports, error messages etc. *rigger an action on receiving some re$uest from users. &onfirmation of an action to indicate completion of tas-. System analyst should consider the following factors when designing user outputs: Content: &ontent should be in appropriate volume. *oo much or *oo %ess contents will ma-e output undesirable. %ormat: 7ormat refers to the way the content is presented to user. Data can be presented in various forms to users li-e te.t, graphics, video etc. ./$/ Garious department managers often prefer both summary and detailed information to be presented in terms of chart form such !ie &hart, ar chart etc. 4olumes: 'mount of data is re$uired at one time. *his factor also helps in deciding the type of output device re$uired to produce such volume. "imeliness: *imeliness refers to when users needs outputs. Some output is re$uired on regular basis5 daily, monthly etc. )ther output is generated on re$uest.
./$/ Sales +anager may be re$uired a monthly report. )ther user such as airline agents, re$uire output within few seconds. #e!ia: +edia refers to medium for output for e.ample paper, display, &D, DGD etc.
Input design means the activity of putting the data into the computer for processing. *he following factors should be considered while designing any input: Content: &ontent means the type of data re$uired to be input into the system. It is very crucial aspect because the input captured will ultimately provide the desired output from the system. "imeliness: If output is re$uired in a specific time, input has to be provided in a timely manner. #e!ia: &hoice of input device is an important factor for data input to system, li-e -eyboard, touch screen, scanner etc. %ormat: 7ormat means the size and type of data fields selected for data input records< it is normally done with user friendly, easy to understand data entry form. Input 4olume: Input volume refers to the amount of data that has to be entered into the computer system at one time. *he main components of Input Design are %orm Design normally *nown as !ata entry form/
Design of Data(ase:
Storing data is an important stage in the design of an information system. *he system analyst and database administrator determines how the data will be stored and what methods will be used for their retrieval. In conventional approach, data used to store in a file system, normally in individual files. ut these days database approach for storing data using D +S is applied. Database approach gives lots of a!vantages over conventional file system approach in terms of security: concurrent access: !ata integrity etc. 7ollowing are the -ey activities performed in the database design: Conceptual #o!eling: In this step D ' design the database by creating >5( diagram i.e. entity relationship diagram which contains entities as tables of database with attributes "i.e. fields# and relationship between tables. Data #o!eling: In this step, the conceptual models are translated into data models by using D +S i.e. actual tables and fields which can be accessed by programs or applications are created by designer. P&ysical Layout Design: In this activity, designer decides how the database will be physically located at different locations. 7or >.ample: &omputers in %'H or 8'H.
P&ysical Design:
In this design, all the functions and interfaces designs created above are converted into physical units or modules. *hese modules are finally programmed and lin-ed together as per the designs to provide a wor-ing software or system in the ne.t phase. *his design should be created such that effective and efficient system should be available to the users and auditor should ensure that a structured approach by using &'S> tool etc have be followed to create physical design.
7inally the hardware and system software platform is designed as per the re$uirement of new application.
System #anual:
*he output of system design phase is description of various tas-s to be performed and all these tas-s are documented in manual form and this manual is -nown as System #anual, and its contains following details: @eneral description of e.isting system, its flow and outputs. @eneral description of new system, stating the purposes and functions of the new system along with ma,or differences from the e.isting system together with a brief ,ustification for a change. 7low of !roposed system: contains various flowcharts, D7D etc. )utputs of !roposed System: contains (eports format etc. Input %ayouts: &ontains Design of various data entry form. +acro logics giving a brief description of overall logic of the internal flows. Database structure. &ommunication System for data communication. &ontrols included. @lossary of terms used etc.
1. Rapi! Implementation: eing ready for use it is possible to implement and use these pac-ages immediately without any wastage of time.
2. 6uality: software development organizations which provide these pac-ages use specialists in this field for the development of different application. *hese specialists have e.tensive e.perience hence can provide better software. 1. Cost: 's the software vendors are selling the same software to several people the cost will generally be lower than a pac-age developed in house. /owever in the case of ready made pac-ages there may be following drawbac-s: 1. Lac* of fle;i(ility: *he pac-age may not be as fle.ible as the organization re$uired. 2. Partly useful application: *he pac-age maybe useful in part only, and may not cover the entire re$uirement of organization. 1. Documentation: 'bsence of proper documentation may result in poor utilizationD understanding of the pac-age.
*here are various methods for validations of vendor0s proposal to chec- whether the submitted proposals are as per as-ed specifications or not. 7ollowing are some of the common methods for validating vendor0s proposals. 1. C&ec*lists #et&o!: In this method a list is prepared for re$uired specification from system in terms of hardware, software and support services etc and all the proposals are chec-ed against these list of specification and accordingly a decision can be ta-en for selection of vendor
>.ample: Description Hardware Check List: CPU type CPU Speed RAM Hard Disk S%&tware Check List La'()a(e )sed C%'tr%*s +'c*)ded
S)pp%rt Ser1ices Check List Past Per&%r2a'ce G%%d 3rai'i'( S)pp%rt Pr%1ided
In this way, organization prepare a detailed chec- list from the details provided in vendor proposal and select the proposal, meeting the re$uirement as per cost vDs offered parameters. 8/ Point Scoring #et&o!: In this method every evaluation criteria is given certain point weight age and mar-s are allocated to each vendor for these criteria as per the submitted details in their proposals. >.ample: Ho. >valuation !ossible Gendor 1 Gendor 2 Gendor 1 &riteria !oints Software 1: I 9 I meet all mandatory re$uirements Software 1: 3 I 9 7le.ibility &ontrols 1: I 9 6 'pplied !erformance 1: I I I ;ser 1: I I I 7riendliness "otal 3: 16 22 2: 1. Pu(lic .valuation Reports: Information about products may be gathered from sources as: !ublished information in newspapers, computer magazines etc. Internet. )ther ;sers of similar products.
S 1
2 1 2 3
2. 2enc& #ar*ing "est: In this approach a ,ob mi. of possible transactions to be e.ecuted on re$uired system is prepared and same is used on the vendor system and then various performance parameter are chec-ed li-e processing speed, response time, number of users supported simultaneously etc. ench mar-ing test is not a simple procedure this re$uire an e.pert technical -nowledge and help of various specialized testing software.
an! Languages):
*hese standards guide programmer for writing an efficient, robust and maintainable program. !rogram coding standards are set of rules that the programmer has to follow strictly. !rogram coding standards help in the following: 1. !rovide simplicity. 2. !rovide efficient utilization of storage. 1. %east processing time.
Programming Language:
Software includes statements or instructions written in some programming languages. *hese set of instructions or programs code is also -nown as source program which is converted to ob,ect program with the help of compiler. *here are different types of programming languages are as follows: 1. /igh level !rogramming language such as &) )%, &. 2. )b,ect )riented %anguage such as A'G', &JJ. 1. Scripting %anguage such as A'G' S&(I!*, G S&(I!*. 2. >.pert System %anguage li-e !()%)@.
*he following are the important criteria for selecting the language for program code: 1. *ype of application "web application, accounting application#. 2. >nvironment "clientD server, local application# 1. S-ills available with staff.
Program De(ugging:
Debugging is the most primitive form of testing activity which refers to correcting programming language synta. and diagnostic errors so that program compiles cleanly. ' clean compile means that the program can be successfully converted from source code written by the programmer into machine language instructions. Debugging consists of following four steps: 1. Input source program to the compiler. 2. %etting the compiler find errors in the program. 1. &orrecting lines of code that are erroneous. 2. (esubmitting the corrected source program as input to compiler.
In this step, a thorough testing of ob,ect program is done with the test data to find out any run time errors, which could not be detected by compiler. How days there are various testing software in mar-et which help in efficient testing of programs.
Program Documentation:
*he writing of narrative procedure and instruction for people who will use software is done throughout the program life cycle. +anagers and users should carefully review documentation in order to ensure that the software and system behave as the documentation indicates. If they do not, documentation should be revised. Documentation should be prepared in such a way that the user can clearly understand the instructions.
Program #aintenance:
*he re$uirements of business data processing applications are sub,ect to continual change. *his calls for modification of various programs. *here are, usually separate categories of programmers called maintenance programmers who are entrusted with this tas-.
*esting is a process used to identify the correctness, completeness, and $uality of developed computer software. *esting is used to find out the errors rather than to tell the e.act nature of the errors. *esting helps to verify that developed software or product would be wor-ing as it is intended to be wor-ing.
P&ase A ("esting):
Software "esting %un!amentals: "esting '()ectives: following are the -ey ob,ectives of software testing:
1. *esting is a process of e.ecuting a program with an intension to find error. 2. *he main ob,ective of software testing is to find a yet undiscovered error. 1. ' successful test is one that uncovers a yet undiscovered error. *esting should systematically uncover different classes of errors in a minimum amount of time and a minimum amount of effort.
Levels of testing:
7nit "esting: In unit testing individual components are tested to ensure that they
operate correctly. It only tests the functionality of the units themselves. *herefore it will not catch integration errors. ;nit is the piece of code< usually it is referred to as the smallest piece of code whose further sub5division is not possible. 2enefits: *he goal of unit testing is to test each part of program and show that the individual parts are correct. It provides various benefits: *he size of a single module is small enough that we can locate an error fairly easily. Documents the code of each unit on side by side. >ncourage programmers to ma-e changes to the code if the code is not wor-ing properly, which if not corrected, then at later stages can ma-e it difficult to do after integration with other programs.
*here are five categories of tests that a programmer typically performs on a program unit: 1. %unctional "est: 7unctional tests chec-s whether programs do what they supposed to do or not. *his test involves only observation of the output for certain input values, and there is no attempt to analyze the code, which produces the output. 2. Performance "est: !erformance is generally assessed in terms of response time and throughput rates under different processing and configuration conditions. 1. Stress "ests: *he purpose of stress testing is to find defects in the system capacity of handling large numbers of transactions during pea- periods. %or e;ample, we -now during & S> results declarations the HI& server on which results are posted some time get crashes due to heavy traffic. *he stress level at which HI& server can operate is overloaded at the time of results declaration, and results in a crash. 2. Structural "ests: Structural tests are concerned with e.amining the internal processing logic of software. 3. Parallel "ests: !arallel testing is testing a new version of software together with processing of its previous version to ensure that the new version of application performs correctly.
the code, which produces the output. *he internal structure of the program is ignored. 7or this reason it is -nown as blac- bo. testing "also called behavioral and functional testing# in which the content of the blac- bo. is not -nown and function of the blacbo. is understood completely in terms of its input and outputs.
Inputs
Outputs
Integration "esting:
In this testing, functionalities which lin- one unit with another are tested. 'fter creating many different units, the developer integrates them. *he developers then have to test that multiple unit are wor-ing fine after integration or not. *his testing includes the following: o 2ottom up Integration: It is easy to implement. It consists of unit testing, followed by sub5system testing, and then testing of the entire system. o "op !own Integration: In top5down integration testing, the highest5level modules are tested first and progressively lower5level modules are tested after that. o Regression "esting: 8hen we ma-e changes in some part of e.isting software, sometimes this may introduce problems in other parts of software. *o test all parts of program wor- without error we use the regression testing techni$ue. (egression testing ensures that changes have not introduced new errors i.e. the older programs still wor-s with new changes.
System testing is nothing but testing the whole application which was integrated all the modules. 8hen the testing is done by the testing team, then the application has to be tested in their real environment .*hat is called Esystem testingK. *his covers the functionality of entire pro,ect or system. *he system testing may include the following tests: o Recovery "esting: *his is to chec- that system developed is able to recover from any crashes, hardware failure etc. (ecovery of system is supported by bac-up of data and components.
System "esting:
o o
Security "esting: *his testing is done to chec- whether implemented security features are able to protect data and information. Stress or 4olume "esting: It is the testing of the system when the ma.imum numbers of users are simultaneously active and when the database contains the greatest data volume. Stress testing may be performed to test system performance during pea- hours. Performance "esting: *his testing is used to test System performance in terms of response time and throughput rates under different processing and configuration conditions.
P&ase C (Implementation):
Implementation phase is less creative than system design. It is mainly concerned with user training, site selection and file conversion etc. Implementation ensures that information system is properly operational and allows its users to ta-e over its operation for use and evaluation. *he system implemented can be totally new system or a ma,or modification to e.isting system. *he system implementation consists of the following activities: .quipment Installation: *he hardware re$uired to support the new system is selected prior to the implementation phase. *he following steps are involved in >$uipment installation: o Site Preparation: In this step , layout is prepared regarding where the e$uipment etc will installed in terms of their place "location#, users sitting arrangement, wiring arrangement, air conditioned setting etc. Site preparation is very important step of implementation< a poorly designed site can drastically reduce productivity of users. )ne must find out an appro.imate location with conductive operating environment for the e$uipment i.e. right temperature, humidity and dust control specification. &omplete the site preparation prior to the delivery of the e$uipment, as vendors deliver e$uipment only on a neat layout than in a place under construction.
o o
Install .quipment: *he e$uipment must be physically installed by the manufacturer, connected to power source and wired to communication lines etc. .quipment c&ec*out: Installed e$uipments are chec-ed for proper wor-ing li-e turn onD off, booting of computers and communication channels wor-ing etc. and also various routine test and diagnostic routine are carried out for testing the e$uipments installed.
"raining: ' system can be succeeded or fail depending on the way it is operated and used. *herefore, the $uality of training received by the personnel involved with the system in various capacities helps or hinders the successful implementation of information system. o 8henever a new system is installed in the organization, a need of training arises for both general users and computer professionals as the new system often contains some new types of hardware and software. Conversion an! startBup from #anual to Computeri e! System: *his involves the activities carried out for successful conversion from old system to new system. 7ollowing activities are carried out for conversion from old to new system: o Proce!ure Conversion: >very system has its own procedure for input data preparation, output generation, controls etc. *herefore for implementation of new system the procedure, method for wor-ing on new system must be clearly defined and converted from old procedure and methods to as per the re$uirement of new system. o %ile Conversion: *he old data files should be converted to as per the re$uirement of new system and these conversions should be done before system is implemented. Data file conversion is one of the most important tas-s and it should be done with utmost care. o System Conversion: 'fter data files are converted from old to new system and system components are properly in place, users in organization should start wor-ing on new system. If re$uired for some time old system may be continuous for verification purpose. ut once every thing is o- users can start using new system completely. o Sc&e!uling Personnel an! .quipment: Schedule should set up for both e$uipments and personnel for data processing activities so the re$uired outputs are available always at time. Conversion Strategies or Conversion #o!es: 7ollowing are the strategies or modes for conversion from old to new system: o Direct Conversion: In this method, on a given date the old system is totally discontinued and the new system is put into use. It is comparatively a ris-y way of conversion because if errors are there in the new system then a lot of delay and losses can be there. *he a!vantages of this method is that no duplication of wor- and efforts and low cost, use of only efficient new system. /owever, the !isa!vantages are >rrors that may result in long delay< ;ser can not compare the result of new system with old. o Parallel Conversion: *his is most useable conversion strategy. In this method the old system and the new system both are used for some time in parallel. *he
results of both the systems are compared and after satisfaction< the use of old system is stopped and new system is used only. A!vantages: (ecover from any processing error immediately. ;ser can compare the result of new system with old. Disa!vantages: Duplications of wor- and efforts. /igh costs, difficulty in running two systems. o P&ase! Conversion: In this approach each part of the system is developed, refined, implemented and then the ne.t one and so on until the entire system is implemented. *he advantage of this method is that each part is thoroughly tested before being used, but it has the disadvantage that the lin-ing up between different modules has to be carried out several times to ensure that it wor-s as a system, which is a difficult tas-. Pilot Conversion: *his approach is utilized when the same system is to install at several places e.g. ban-s etc. *he conversion of one installation is completed and then ne.t one is implemented. A!vantages: !roblems detected in the initial installation can be avoided in subse$uent installations. Disa!vantages: >ach site has its own peculiarities< therefore successful conversion of one site may not wor- with other. Post implement .valuation: >valuation is also one of the very important step as it provide the information about how successful is system in satisfying user needs and it also provide the information on drawbac-s D problems encountered in system development. >valuation covers the following: o Development .valuation: *his evaluation is done to chec- whether system developed is on schedule and with in the budget. If system is not developed on a schedule and within budget, and then what were the possible reasons for delay and over cost etc. are identified and noted as evaluation remar-s. o 'peration .valuation: It is very essential that developed system should be easy to operate and should wor- as per user re$uirements. *his evaluation includes: 1. 8hether the transaction are processed on time and accurately. 2. Is system easy to wor-C 1. 're reports available on timeC 2. Is there sufficient storage capacity etcC Information .valuation: *his is most difficult evaluation. *his evaluation is related to find out the value of information that developed system is providing to
user or to find out how the information provided by system is changing the $uality of decision ma-ing of users.
necessary changes to the information system as re$uired from time to time. It may involve: 1. 'dding new data elements. 2. +odifying reports. 1. 'dding new reports. 2. &hanging calculations etc. +aintenance can be of following types: o
Sc&e!ule #aintenance: Schedule maintenance is planned maintenance i.e. changesD modifications which are planned in advance. *his type of maintenance is also -nown as preventive maintenance li-e running every morning anti virus, the implementation of new inventory coding scheme can be planned in advance if number of items are increasing. Rescue #aintenance: (escue maintenance refers to errorsD situations which were not anticipated but which has arisen now and re$uire immediate solution li-e brea-down of a system due to hard dis- crash, an undetected bug or run time error and so on. Corrective #aintenance: &orrective maintenance deals with fi.ing bugs in the code or defects found. A!aptive #aintenance: (efers to change in the system as per the changes in the environment. Perfective #aintenance: *his maintenance deals with accommodating to new or changed user re$uirements that helps to increase the performance of system. Preventive #aintenance: In this maintenance, time to time system components and functionalities are reviewed and needed changes are done to maintain system in good wor-ing conditions.
' !roper system operation re$uire proper maintenance of system and system staff should continuously plan and implement the re$uire changes to provide the system in optimum manner.
Unit 2: SDLC
Question Bank
As a system analyst, you need to assess the successful implementation and stakeholders actual requirements of an enterprise system in a retail chain organization across its branches to provide the following features: 1. Lower operational costs, . !etter information for managers, and ". #mooth operations for users or better levels of service to customers. $ustify your answer with necessary techniques used to determine the requirements of a system. An organization is in the stage of system development to implement an enterprise wide information system, where the following conditions e%ist: 1. &nd users are not aware of the information needs. . 'he new system is mission critical and there is a hasty need. ". 'he business risks associated in implementing the wrong system are high. (ead the above case carefully and answer the following with proper )ustifications: 1. *dentify system development approach and the steps to be followed in the above stated conditions. . #tate the reasons for choosing the particular approach for system development. ". *dentify the risks, when end users are involved in the system development process. +iscuss the system development approach whose components are time bo%ing, incremental prototyping and clean rooms. +escribe briefly four categories of the ma)or tools that are used for system development. &%plain with e%ample in each category. *f you are the ,ro)ect manager of a software company with the responsibility for developing a break through product, combining state of art hardware and software, will you opt for prototyping as a process model for a product meant for the intensely competitive entertainment market A company is offering a wide range of products and services to its customers. *t relies heavily on its e%isting information system to provide up to date information. 'he company wishes to enhance its e%isting system. .ou being an information system auditor, suggest how the investigation of the present system should be conducted so that it can be further improved upon. 'he top management of a company has decided to develop a computer information system for its operations. *s it essential to conduct the feasibility study of system before implementing
it- *f answer is yes, state the reasons. Also discuss three different angles through which the feasibility study of the system is to be conducted. 1. . ". 4. /rite #hort notes on the following: 0uidelines for input form design. 1actors for validation of vendor2s proposal. ,oint3#coring Analysis. Advantages of Application ,ackages. 5arious software packages serve as aids in analysis of program logic. &%plain briefly.
+escribe any five functional areas of a system which needs to be analyzed by system analyst for detailed investigation of the present system. !ring out the reasons s to why the organizations fail to achieve their #ystems +evelopment 6b)ectives At the end of Analysis phase, the #ystem Analyst ,repare a +ocument. /rite the 7ontents of that document. 1. . ". 4. 1ollowing are involved in #+L7. +iscuss their (oles: ,ro)ect 8anager. #ystem Analyst. +!A. *# Auditor. 9ow would you use +ata +ictionary as a tool for 1ile security and audit 'rails-
1rom the perspective of *# audit, what are the advantages of #ystem +evelopment Life 7ycle A!7 'echnologies Ltd. *s in the development of application software for various domains. 1or the development purposes, the company is committed to follow the best practices suggested by #+L7. #+L7 provides the guidelines to follow a sequence of activities. *t consists of a set of steps and phases in which each phase of the #+L7 uses the results of the previous one. 'he #+L7 is document driven which means that at crucial stages during the process, documentation is produced. A phase of the #+L7 is not complete until the appropriate documentation is produced. 'hese are sometimes referred to as deliverables. A deliverable may be a substantial written document, a system test plan or even a physical ob)ect such as a new piece of technology that has been ordered and delivered. 'his feature of the #+L7 is critical to the successful management of an *# pro)ect. (ead the above carefully and answer the following:
'here are various advantages by following #+L7, but there are some shortcomings also. !riefly e%plain those shortcomings. 1easibility study is a key activity in the #+L7. /hat are the issues which are typically considered in feasibility study-