Final 11

58
Experiment No-1 OBJECTIVE: Aim: Study and categorize the generic phases of software development and maintenance Theory: Various phases in Development Process: Engineering and analysis, design, programs construction, validation and management of technical or social entities. In software engineering our entity is software that is to be produced so various phases for software development are: Software development life cycle Requirement Analysis Feasibility study Design Coding Testing Maintenance System design Detailed Design PREPARED BY : Er Rajni Mehta APPROVED BY : JCDM College of Engineering, Sirsa LAB MANUAL ISSUE NO.: 00 ISSUE DATE : REV. NO. : 00 REV. DATE: - 00 PAGE- DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Transcript of Final 11

Page 1: Final 11

Experiment No-1OBJECTIVE: Aim: Study and categorize the generic phases of software development and maintenance

Theory:

Various phases in Development Process:

Engineering and analysis, design, programs construction, validation and management of technical or social entities. In software engineering our entity is software that is to be produced so various phases for software development are:

Fig.a. Work breakdown structure of software development life cycle

1. Requirement Analysis and Specification.2. Design.

Software development life cycle

Requirement Analysis

Feasibility study

Design Coding

Testing Maintenance

System designDetailed Design

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 2: Final 11

3. Coding.4. Testing.

Requirement Analysis and Specification

It is done in order to understand the problem for which software is to be developed. In requirement analyses and specification we emphasis of what i.e. what is required from system not on how the system should satisfy the needs. There are two parties in RA&S, Client and developer. The developer develops the software to satisfy the client needs. The requirement analysis and specification has two parts.

Requirement Analysis- In this we collect and analyze the data to understand the customer’s requirements and remove the inconsistencies and incompleteness. Inconsistency of a requirement is that the one part of requirement is contradictory to other parts. Incompleteness is that some part of requirement is omitted inadvertently. So the requirement analysis is to collect data and information from user to understand the problem by taking interviews and making discussions.

Requirement Specification- In this the requirement are organized and documented in a document. It addresses all the requirements like functional requirement, non-functional requirement, special requirement for maintenance and development of software. User manuals and software test plans are also prepared in this phase.

The person who handle the requirement analysis and specification is called analyst. The document that contains all the requirements are called software requirement specification document and requirement document and also called box specification of problem. The SRS works as a bridge between the client and developer.

Design

Designing phase starts when we have an SRS that addresses all the requirements for which software is to develop. As the SRS is in problem domain, so designing is first step form problem to solution domain. Design works as a bridge between SRS the final solution of the problem. The design is treated in 2 ways:-

1) Verb.2) Noun.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 3: Final 11

When design is a verb it represents the process of design when design is noun it represent the result of design. The goal of design process is to make a model of system or representation of system that is used later for system design. The output of design phase is design document that is also called blueprint or the solution of the problem.

Designing has two approaches:-1) Function Oriented: In this approach we concentrate only on functional abstraction.2) Object Oriented: In this approach we concentrate only one abstraction.

Designing has two levels as follows:-1) Top Level Design: In system design the system is divided into many modules and

specification of system and interconnection of modules are defined.2) Low Level Design/Detailed Design: In detail design the internal logic of each of

module and there specification is defined.Coding

When design document of the system is ready then we need to prepare coding. In coding our main goal is to convert the design of system in a particular programming language i.e. to translate the design of the system in best possible manner.

In coding we need to prepare the program that are easy to read and understand and note that program that are easy to write.

Our coding phase effect both the testing and maintenance phase. Well written coding can reduce the testing and maintenance cost. As coding cost is very low, if we need to increase the coding cost in order to reduce the testing and maintenance effort then we must do so.

Testing

Testing is the best quality control in software development. The main goal of testing is to detect error introduced by various phases. The output of requirement analysis and design is a textual documentation that is not executable but output of coding phase is executable program. That can be implemented on computer. In testing, first unit testing is performed on each module then two modules are integrated and that testing is known as integration testing and all the modules are assemble when system testing is performed at last when software is ready then demonstrate the client with real data the acceptance testing is performed.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 4: Final 11

Experiment No: 2Aim: To Study the Object Model of Hospital Management System.

Theory:

Hospital management system has the following activities:

Connects people, processes and data in real time across all the hospital on a single platform.

Workflow routes documents and Information electronically. Flexibility and Integration abilities manage change. Customized Clinical data according to each Department, Laboratory etc Access to Financial information and Performance indicators help in managing

resources, costs and margins. Fast and reliable information storage, querying and retrieval. Retrieval could be either

for generation of reports based on demographics, gender, and age or for research & library classification.

Features of Hospital Management System

RegistrationEvery patient who approaches a hospital has to get registered prior to getting any consultation, treatment, and investigations done from the hospital. Registration of patients involves accepting certain general and demographic information about the patient and assigning a unique central registration number (CR No) to the Patient.

Out Patient ManagementThe outpatient module deals with the entire gamut of activities pertaining to the management of out-patients. It consists of the creating Patient Visit and storing details like complaints, history, clinical summary, provisional diagnosis, drugs etc corresponding to each visit.

Pharmacy ManagementThe Pharmacy Module deals with the maintenance of drugs and consumables in the hospital.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 5: Final 11

The functions of this module include, online drug prescription, inventory management of drugs, consumables and sutures.

BillingThe Billing module deals with collection of money for services availed by a patient.

InvestigationIn the routine functioning of a hospital, various types of investigations are carried out. The module handles the processes right from raising investigations to making the results available.

In Patient Management The In-patient module commences when the patient is being allotted a bed in the ward and ends after preparing the final discharge for a patient. In Patient Management deals with the complete treatment administered during the patient stay in the hospital.

Operation Theatre The Operation Theatre module contains information about the availability of all the theatres, Equipment/Tools etc. Scheduling of operations is the main function of this module. Provides provision for raising and validating an operation.

EnquiryThis module provides information related to enquires regarding the hospital or the patients admitted or registered in the hospital.

AppointmentThis module deals in allotting appointments to patients for a visit to the hospital. It keeps track of available slots in various categories of appointments. This module also deals with cancellation of existing appointments.

The module deals with two types of appointments

Consultant Appointment

Equipment Appointment.

Central Sterile ServicesThe Central Sterile Services Department's (CSSD) main function is to provide sterile items,

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 6: Final 11

linen, equipment to wards and OT's. This could be reusable equipment, linen from various wards and OT's for sterilization or it could be fresh sterilized items, which is issued to

wards/OT's as per the requisition received from their side.

Patient Medical RecordsThe Patient Record Management Module is crucial in the overall integrated hospital management system. The rationale behind computerization of PMR is to maximize the usage of the patients' medical information.

Blood BankThe Blood Bank is one of the major components of a hospital, concerned with various related activities including donor registration, physical examination, blood grouping, blood infectious tests, component separation, blood requisition and cross match.

Central StoresThis module deals with Hospital Equipment/Material/Inventory Purchase and Supply to different Departments. Requisitions for different items/equipment are sent to this store from different departments and accordingly the CSD issues items/equipment to various departments. The CSD also maintains records of purchases, stock, and supplier list, item/equipment/material master tables, and also takes care of the inspection details.

Bio-Medical Engineering DepartmentThe Bio-Medical Engineering Department (BMED) module keeps track of the details of the Bio-medical equipment of the hospital. The details include equipment code, category, department name, location, and vendor's name and purchase details. This module also handles complaints and service details of different equipment Master Management

The functioning of the Hospital Information System depends on a large set of data that remains static for a long period of time.The Master module is used to enter, modify and validate the Master data that is used by all the other modules. It is the responsibility of the System Administrator to maintain the integrity of this data.

User ManagementUser Management is Instrumental in assigning Privileges to users according to their Roles and Work Area. The Privileges are of two kinds Application Level and Data Level.

Personnel Information SystemThe PIS Module deals with the maintenance of employee records in the hospital. The

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 7: Final 11

function of this module includes Employee Personnel Information, Employee Service Details, Leave Management, Disciplinary Action, Recruitment Process, Manpower Planning, and

Management Module, which specifically looks after Vehicle Management & Accommodation Management, Training Management. The PIS Module is integrated with Payroll System.

Finance Management SystemThe FMS module consists of Payroll System, which deals with generation of salary of employees with dues, deduction and income tax processing. Bill Processing System, which generates various types of bills (both employee specific and office related). The Asset Management Module which deals with purchase, allotment, location tracking, maintenance, contract details of assets and generation of Fixed Asset register. The Account Module maintains accounts, generation of Accounts Book such as Bank Book, Journal Book, and Cash Book etc. It also includes Voucher generation, Ledger, Trial Balance, Sub-Trial Balance, Balance Sheet, and Profit-Loss account for the accounts section.

Stores Management SystemThe Stores Management System keeps the inventory of various items such as stationary, furniture etc. It also keep record of items in the inventory, reorder level of items, items allotted to various department, no of items that can be allotted to the department

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 8: Final 11

Fig- E-R Diagram of Hospital Management System

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 9: Final 11

Fig- Information hierarchy in Hospital Management System in the form HIS

Experiment No. 3

OBJECTIVE: TO Study Task Analysis with Example.

Theory :

Task analysis analyses what a user is required to do in terms of actions and/or cognitive processes to achieve a task. A detailed task analysis can be conducted to understand the current system and the information flows within it. These information flows are important to the maintenance of the existing system and must be incorporated or substituted in any new system. Task analysis makes it possible to design and allocate tasks appropriately within the new system. The functions to be included within the system and the user interface can then be accurately specified.

Method Task decomposition

The aim of ‘high level task decomposition’ is to decompose the high level tasks and break them down into their constituent subtasks and operations. This will show an overall structure of the main user tasks. At a lower level it may be desirable to show the task flows, decision processes and even screen layouts (see task flow analysis, below fig ).The process of task decomposition is best represented as a structure chart (similar to that used in Hierarchical Task Analysis). This shows the sequencing of activities by ordering them from left to right. In order to break down a task, the question should be asked ‘how is this task done?’. If a sub-task is identified at a lower level, it is possible to build up the structure by asking ‘why is this done?’.

The task decomposition can be carried out using the following stages:

1. Identify the task to be analysed.

2. Break this down into between 4 and 8 subtasks. These subtasks should be specified in terms of objectives and, between them, should cover the whole area of interest.

3. Draw the subtasks as a layered diagram ensuring that it is complete.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 10: Final 11

4.

Decide upon the level of detail into which to decompose. Making a conscious decision at this stage will ensure that all the subtask decompositions are treated consistently. It may be decided that the decomposition should continue until flows are more easily represented as a task flow diagram.

5. Continue the decomposition process, ensuring that the decompositions and numbering are consistent. It is usually helpful to produce a written account as well as the decomposition diagram.

6. Present the analysis to someone else who has not been involved in the decomposition but who knows the tasks well enough to check for consistency.

Task flow diagrams

Task flow diagrams document the details of specific tasks. They include interactions of the system and users; representing flow-charts. Different people who have understood the process can write it. Screenshots can also be used to represent the interactions. TA can be validated with Subject Matter Experts (SMEs). They can validate the subtasks and decide the level of task decomposition necessary.

Sources for Task Analysis

The following are the sources for task analysis:

Interviews with users, experts, and marketing team

Observations

Comparisons

Do-it-yourself

Descriptions

Literature

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 11: Final 11

Fig- Task flow Analysis of Customer Services in Bank

Applications of Task Analysis

Following are the applications of task analysis:

Task analysis evolves into framework; making it easier to describe how tasks fit together. This in turn makes it easier to design user interfaces.

User documentation and training material are developed based on the outcome of task analysis.

Testers use task analysis to develop “use case” and “test case” scenarios.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 12: Final 11

Advantages and Disadvantages of Task Analysis

The advantages of task analysis are that it is defined from user-perspective:

Relates to interaction scenarios; thereby linking to job accomplishments

Enables to classify the type of users and the type of tasks

Enables ease of organization

Eliminates redundancy by serving as a base for both documentation and training.

Although TA is beneficial, it is time and resource consuming. It is most suitable for complex products that have multiple usages. It is not suitable for simple applications with limited users and tasks. In addition, performance support information is not solely based on TA. TA needs to be supplemented with audience analysis and learning analysis to analyze performance support information.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 13: Final 11

Experiment No. 4

OBJECTIVE: Study the various steps for doing the requirement analysis of your project. (Project under taken is PAYROLL MANAGEMENT SYSTEM).

Theory:

Need: The proposed system is designed in the C++ to automate the process of Payroll system. The complete set of rules & procedures related to Payroll and generating report is called “PAYROLL MANAGEMENT SYSTEM”. This project gives a brief idea regarding automated Payroll activities. The following are the steps that give the detailed information of the need of proposed system:

Performance: During past several decades, the Payroll is supposed to maintain manual handling of all the Payroll activities. The manual handling of the record is time consuming and highly prone to error. To improve the performance of the payroll system, the computerized payroll system is to be undertaken. The computerized project is fully computerized and user friendly even that any of the members can see the report and status of the pay.

Efficiency: The basic need of the project is accuracy and efficiency. The project should be efficient so that whenever an Employee is added, add his record, delete his record, display and generate his pay-slip. Software: Software includes the platform where the Payroll project is being prepared. I have done my project using DOS based Compiler TURBO C++ platform and the database is the FILE HANDLING MECHANISM OF TURBO C++. But it is not necessary that we have to first install Turbo C++ to run this project as only that is only needed if we are providing the user the source code but this is not the case we are providing him only the compiled copy that is object code which is known as executable file.

Feasibility Study

The feasibility study proposes one or more conceptual solution to the problem set of the project. In fact, it is an evaluation of whether it is worthwhile to proceed with project or not.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 14: Final 11

Feasibility analysis usually considers a number of project alternatives, one that is chosen as

the most satisfactory solution. These alternatives also need to be evaluated in a broad way without committing too many resources. Various steps involved in feasibility analysis are:

1. To propose a set of solution that can realize the project goal. These solutions are usually descriptions of what the new system should look like.

2. Evaluation of feasibility of such solutions. Such evaluation often indicates shortcomings in the initial goals. This step is repeated as the goals are adjusted and the alternative solutions are evaluated.

Four primary areas of interest in feasibility study are:-

Economic Feasibility:

An evaluation of development cost weighed against the ultimate income of benefit derived from the development system of product. In economic feasibility, cost benefit analysis is done in which expected cost and benefits are evaluated.

Technical Feasibility:

Technical Feasibility includes existing and new H/W and S/W requirements that are required to operate the project on the platform Turbo C++. The basic S/W requirement is TURBO C++ in which the PAYROLL MANGEMENT SYSTEM project has been done. The basic entry forms are

developed in TURBO C++ and the data is stored in the FILES.

Operational Feasibility:

Operational feasibility is mainly concerned with issues like whether the system will be used if it is developed and implemented. Whether there will be resistance from users that will concern the possible application benefits? The essential questions that help in testing the technical feasibility of a system are following:

Does management support the project? Are the users not happy with current business practices? Will it reduce the time

considerably? If yes, then they will welcome the change and the new system.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 15: Final 11

H

ave the users involved in the planning and development of the project? Early involvement reduced the probability of resistance towards the new system.

Will the proposed system really benefit the organization? Does the overall response increase? Will accessibility of information be lost? Will the system affect the customers in considerable way?

Legal Feasibility:

A determination of any infringement, violation, or liability that could result from development of the system. Legal feasibility tells that the software used in the project should be original purchased from the legal authorities and they have the license to use it or the software are pirated.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 16: Final 11

Experiment No. 5

OBJECTIVE: Suggest an action plan for the following risk without compromising the project, process or product parameters.

a) Language skills inadequate in two people in a team of five. b) Specially ordered hardware and software likely to be delivered

three months late. c) Custom and end user not convinced on new technology

implementation as a correct choice. d) Software required interface with other technologies on which

the project team has no experience.

Theory:

a) The two people have full knowledge in their field. They have only language

skill problem. So shifting them to other department will create shortage of

personnel. Taking two new appointments will increase cost. Some ways to

manage this risk is to get top talent possible to match the needs of the

project with skills of available personnel. Some key personnel for critical

areas of the project should be appointed. In this case to maintain the budget

proper training should be given to these two people according to project.

b) If project depends on these H/W & S/W either to be provided by client or to

be procured, the project runs some risk. Schedule will be disturbed by the

late delivery. By the time when they are available, project will also suffer if

quality of these components is poor or components turns out to be

incompatible with the project component or with the environment in which

S/W is developed.

c) This type of risk occurs if requirement analysis is not done properly and if

development begins too early or there is improper user interface is

developed. To reduce this type of risk proper SRS and

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 17: Final 11

User interface should be prepared in advance. This risk requires extension

rework of user interface later. This need adding some features is S/W for

this requirement changes should be applied. This affects the cost and

schedule.

d) Staff should be given proper training according to new technology. Time to

time inspection and compatibility analysis should be done.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 18: Final 11

Experiment No 6

OBJECTIVE: Build a work breakdown structure for the following.a) Delivery of the software, initiation to development covering lifecycle

b) Development of prototype. c) Development of a process for a function.

Theory :a) The software to be delivered should be of high quality and according to the

needs of the customers. Software development includes a series of steps known as a software development life cycle. Each phase has a defined output, entry criteria and exit criteria. The entry criteria of a phase specify the condition that the input to the phase should satisfy in order to initiate the activities of that phase. The exit criteria specify the condition that the work product of this phase should satisfy to terminate the activities of the phase. There are various models for developing software, each having its own version. Following are the main steps to be followed in each model:

1) Requirement Analysis : Requirement Analysis is done in order to understand the problem the software is to solve. The problem could be automating an existing manual process, developing a new automated software or a combination of both. the emphasis is on identifying what is needed from the system ,not how the system will achieve its goals. There are two steps in it: Requirement Analysis and Requirement specification. Requirement Analysis is to collect and analyze all related data and information with a view to understanding the customer needs clearly and weeding out inconsistency and incompleteness in these requirements. So it starts with the collection of relevant data though questionnaire, interviews, on site observations, discussions etc. contradictions and all the ambiguities are identified. In requirement specification all the user requirements are properly organized and documented in a SRS document. It contains all the functional , non functional requirements, formats of the input, outputs, any required standards to be followed and all the design constraints.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 19: Final 11

2) Feasibility Study: depending on the results of the initial investigation, the survey is expanded to the more detailed feasibility study. It is a test of a software proposal according to its workability, impact on users, effective use of resources it focuses on :i) What are the users needs and how does a new software meets them?ii) What resources are available for given software? Is the problem worth solving?iii) What is the impact on the organization? It does the following studies: Economic Feasibility: It is known as cost/benefit analysis, the procedure to determine the benefits and savings that are expected from a software and compare them with cost If benefit outweighs costs then the decision is made to design and implement the software. Otherwise further justification or alternation sin proposed software will have to be made it is to retain. It is ongoing effort that improves the accuracy at each phase. .

Technical Feasibility: It studies that whether the new software is feasible or not mean all the tools, developer, or the required environment is available or not. In future it can adopt changes or not.

Steps in Feasibility Study :a) Form a project team and appoint a project leaderb) Prepare software flowchartsc) Enumerate potential candidate software’sd) Describe and identify the characteristics of candidate software e) Evaluate the performance and cost effectiveness of each candidate softwaref) Weigh software performance and cost datag) Select the best candidate softwareh) Prepare and submit the following repots to the management:

Statement of the problem Summary of findings and recommendations Details of findings

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 20: Final 11

Conclusion about target dates, cost

3) Software Design : It is first step in moving from the problem domain to the solution domain. Starting with what is needed; design takes us toward how to satisfy the needs. Design activity is divided in two parts: System design and Detailed design. System design is also called top level design aims to identify the modules that should be in the system, specifications of these modules and how they interact with other to produce the result. At the end of design all the major data structure, file format, output formats and major modules and their specifications are decided. Detailed design, the internal logic of the system is decided. During this phase further details of data structures and algorithms of each module are decided logic is specified in high level language. Design can be function oriented or object oriented.

4) Coding : the goal of the coding phase is to translate the design of the system into code in a given programming language. during coding the focus should be on developing programs that are easy to read and understand and not simply on developing programs that are easy to write. Simplicity and clarity should be there. The coding affects the both testing and maintenance.

5) Testing : After coding phase computer programs are available for execution. For testing purpose. This implies that testing not only has to uncover errors introduced during coding but also errors introduced during previous phases.Thus its goal is to uncover requirement, design and coding errors in the programs. The starting point of testing is unit testing. In it a module is tested separately and is often performed by the coder himself. The purpose is to exercise the different parts of the module code to detect coding errors. After this modules are gradually integrated into subsystems which are then integrated to form the entire system. It finds the design errors. So integration testing is performed.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 21: Final 11

After the system is put together system testing is performed, here the system is tested against the system requirement to see if all the requirements are met

and if the system performs as specified by the requirements. Finally acceptance testing is performed to demonstrate to the client, real life data of the client, the operation of the system. Testing.

6) Maintenance: Software maintenance denotes the process of modifying a software product after it has been delivers to the customer. Due to hardware obsolescence, the immortality of a software product and the demand of the user community to see te existing software products run on newer platforms, run in newer environments and with enhanced features givers birth to the maintenance phase. when hardware changes and a software product performs some low level functions maintenance is necessary. Whenever the software support environment changes the software product requires rework to cope with new interface eg., when operating system changes the software product need to be maintained. It is needed due to following reasons:

a) Corrective: it is necessary either to rectify some bugs observe while the system is in use or to enhance the performance of the system.

b) Adaptive : A software product might need maintenance when the customer need the product to run on new platforms, on new operating systems or when they need the product to interface with new hardware.

c) Perfective: software product need maintenance when the new features that the users want.

Refer to the following fig.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 22: Final 11

Fig. Work breakdown structure of software development life cycle

b) Before development of actual software, a working prototype of the system should be built first. the model starts with an initial requirements gathering phase. A quick design is carried out and prototype model is built using several shortcuts which involve inefficient or dummy functions. The prototype is submitted to the customer for his evaluation. Based on user feedback requirements are refined. This cycle is continued until the user approves the prototype.

Software development life cycle

Requirement Analysis

Feasibility study

Design Coding

Testing Maintenance

System designDetailed Design

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 23: Final 11

The actual system is then developed using waterfall model. The code for model is not written. An important purpose is to make input

format, message, reports and user interface

.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Requirements Gathering

Quick Design

Build PrototypeRefine Requirement

Customer evaluation of prototype

Customer Suggestions

Design

Implement

Test

Maintain

Acceptance by the customer

Page 24: Final 11

Fig. b. work breakdown structure of prototype model.

c) Development of a process for a function is done using evolutionary model. The system is first broken down into several modules or functional units that can be incrementally implemented and delivered as in fig c. The developer first develop the core modules of the system. This initial product is refined into increasing levels of capability by adding new features. Each successive version of the product is functioning system capable of performing some more useful work. It is useful only for large systems. But is is difficult to divide problem into several functional units. Eg., as in fig c, to develop a function c. make core module A, make additions in it to ,make B then finally add all the feature and complete the function C.

Fig c. work breakdown structure of a development of a process for a function c using Evolutionary Model

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 25: Final 11

Experiment No-7Objectives: Conduct a task analysis for the following users:

(a) Officer at railway ticket reservation window(b) Officer at insurance claim settlement desk(c) Clerk at call center answering the queries of customers who have

purchased cars from the company.

Theory:

Task Analysis:- Task analysis analyzes what a user is required to do in terns of actions and/or cognitive processes to achieve a task. A detailed task analysis can be constructed to understand the current system and the information flows within it. These information flows are important to the maintenance of the existing system and must be incorporated or substituted in new system. Task analysis makes it possible to design and allocate tasks appropriately within the new system. The functions to be included within the system and the user interface can then be accurately specified.The aim of ‘high level task’ decomposition is to decompose the high level tasks and break them down into their constituent subtasks and operations. This will show an overall structure of main user tasks. At a lower level it may be desirable to show the task flows, decision processes and even screen layouts.

(a) Officer at railway ticket reservation window:- Officer sitting at reservation window do the reservation but besides he has to perform various functions. He answers all the queries of the passengers about the reservation. He tells them about the accurate train and time suitable to various passengers. Now we will explain some features, which will tell us the railway ticket reservation.Officer sitting at the reservation window do the following functions: -Enquiry:-

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 26: Final 11

Officer will answer all the questions of the passengers asked regarding ticket reservation. In this he tells about the train name, train no., time of boarding etc and help the

passenger to fill up the ticket reservation form according to the requirements of the passengers. All the queries are made clear to the passengers.

Train Information:-

Train information includes the information regarding the train whether the train is super fast or an express train and all the trains which are going to the destination from the source of the passengers. It also includes the queries of boarding and reaching time at the

destination. With the help of the train information the passenger can easily fill the railway ticket reservation form.

Ticket Window:

At the ticket window passenger will give the reservation form. Officer will give the ticket if there is seat in that train on the required day. If there is no seat available he will tell the passenger you are getting so and so waiting no. in this train. If the passenger wants then he will give the waiting no. Ticket otherwise he will suggest him for other trains which are going to the same destination and give the ticket according to the satisfaction of the passenger.

Ticket:-

In this section we can say that that whether the passenger got the ticket reserved or waiting. In which class he gets the seats If he got a reserved ticket than simply get the train on the desired day otherwise he has to check. The waiting no. If his no. is confined than he will get a seat otherwise he has to travel in a general class coach or can cancel the ticket.

b) Officer at insurance claim settlement desk: Officer sitting at insurance settlement desk first of all check the case that under which category the case falls. According to that category he will proceed towards the next step because there is lots of types insurance like vehicle insurance, life insurance or any general insurance. With the help of task analysis we can decompose the task into various sub steps and can solve the case. Fig(b) shows the task flow diagram of the insurance settlement desk. According to the task analysis main task is breakdown into the subtasks.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 27: Final 11

Settlement:-

According to the rules and regulation of the insurance company officer will proceed

for the further verification at the settlement table. As described above according to the category of the case he will asks the question. He will verify according to the requirement of the insurance company. After the discussion of the case the insurance settlement officer he will decide whether the case is approved for the insurance claim or not. If the case had been approved by the officer than the company will do its own formalities and pay the amount according to their insurance scheme.

Claim:-

Settlement officer after hearing the views and verifying the documents decide whether the case is approved for the claim or not. So, after deciding that case is approved for the

insurance claim or not, if case is approved for the claim than the amount will be paid otherwise will be closed after proving that the case is invalid.

Amount Paid:-

At last after all the discussions made at the settlement table. For those cases which are approved for the claim of the insurance, it is checked that whether the appropriate amount is paid or not.

(c) Clerk at the call center answering the queries of customers who have purchased cars from the company:-

After purchasing a car customer can have many queries related to the car. They may be technical as well as general queries. We make task flow diagram in fig.( c) to explain the queries of the car. With the help of task flow diagram we can easily understand the problem by decomposing. First of all the queries are categorized according to the technical and general queries. Further we divide them according to their level. Following of three levels of the task flow diagram.

Technical Queries:-

In this category we have the queries which are related to the technical problem. Under this category one can have the queries about the mileage, top speed and wheel balancing etc. One can ask about the current mileage and mileage after first servicing. He may ask about the queries related to the wheel balancing. After how much kilometers one can go for the wheel balancing, also about the top speed the car on which it will give the better mileage. So one can have many more queries related to the technical issues.General Queries:-

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 28: Final 11

In the general queries one can have many queries related to the accessories and its features. In this we can have the queries related to the accessories like stereo system, safety guards, air

bags etc. We can ask about any effect on the car due to the respective accessories. We can ask about the stereo system in the car, how it is going to effect the battery and also can ask about the time period of time for filling up of water in the battery. One can have the queries on the safety guards like air bags. Customer can also ask about queries related to the alloy wheel of the car. In this way we can study the queries of a car with help of task flow diagram.

Insurance

General Insurance

Life Insurance

Vehicle Insurance

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 29: Final 11

Fig. Task flow diagram of insurance settlement

SETTLEMENT

ClaimAmount

Paid

Valid Invalid Appropriate Inappropriate

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 30: Final 11

Fig- Task flow diagram of queries of car

Experiment No-8Objective :-Draw three level DFD ‘s for CLPS. Modularize the CLPS and structure them top-down functional model.

Theory:

CLPS (CONSTRAINTS & LOGIC PRORAMMING SYSTEM)

CLPS offers a very high level of abstraction & a declarative nature with an extreme flexibility in the design of the execution model. CLPS allows variable to be constrained rather than bound.For eg. In the game of ladders & snake, there are many ways to reach the goal. Either by steps & by ladders. There is no particular path defined to win the game.Solution to CLPS can be derived from the KB(knowledge base).CLPS incorporates various constraints solving algorithm for the constraints allowed in the language. CLPS combines elements of constraints satisfaction algorithm, logic programming & deductive database.

DFD (Data Flow Diagram)

The DFD (also known as the bubble chart ) is a simple graphical notation that can be used to represent a system in terms of the input data to the system, various processing carried out on these data and the output data generated by the system .The DFD model uses a very limited number of the primitive symbols to represent the function performed by a system and data flow among the functions. Symbols used to construct DFDs

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 31: Final 11

For drawing a DFD, a top down approach is suggested in the structured analysis method. In the structured analysis method, a DFD is constructed from scratch when the

DFD for the physical system is being drawn and when the DFD for the new system is being drawn. The Second step largely performs transformation the physical DFD. Drawing a DFD starts with a top level DFD called the context diagram, which lists all the major inputs and outputs for the system. This diagram is then refined into a description of the different parts of the DFD showing all details. This results in a leveled set of DFD’s. During this refinement, the analyst has to make sure consistency is maintained and that net input and out put are preserved.

Example of a Restaurant

QUERIES

Technical General

MileageWheel

BalancingTop

SpeedAccessories

Special features

AlloysSafety Guards

StereoSystem

External Entity

Data FlowProcess

Data Store Out Put

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 32: Final 11

A restaurant owner feels that some amount of automation will help make her business more efficient. She also believes that an automated system might be added attraction for the

customers. So she wants to automate the operation of her restaurant as much as possible. Here we will perform the analysis of this problem. Details regarding interviews, questionnaires, or how the information was extracted are not described. First let us identify the different parties involved.

Client : The restaurant owner.

Potential Users : Waiters, Cash register operation.

With the help of context diagram of the restaurant we simply come to know about the information of the input and the output of the restaurant. Now we have to draw the DFD for the restaurant by sorting out the problem by meeting and discussions with the restaurant owner.

(a) Context Diagrams for the Restaurant Now we must draw a DFD that models the new system to be built. After many meetings and discussions with restaurant owner , the following goals for the new system were established:

Automate much of the order processing and billing. Automate accounting. Make supply ordering more accurate so that leftovers at the end of the day are

minimized and the orders that cannot be satisfied due to no availability are also minimized. This was currently being done without a careful analysis of sales.

The owner also suspects that the staff might be stealing/eating some food/supplies. She wants the new system to help detect and reduce this.

The owner would also like to have statistics about sales of different items.With these goals, we can define the boundaries for the change in DFD. The DFD is largely self explanatory. The major files in the system are: supplies file, accounting file, order file and the start menu. Note that the processes are consistent in that the input given to them are sufficient to produce the outputs.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 33: Final 11

The definitions of the different data flows and files are self explanatory. Once this DFD and the data dictionary have been approved by the restaurant owner, the activity of

understanding the problem is complete. After taking with the restaurant owner the man machine boundary was also defined (it is shown in the DFD). Now remain such tasks as determining the details requirement of each bubble shown in the DFD, determining the non-functional requirements, deciding codes for that task to perform can be done with the help of DFD.

Experiment No-9OBJECTIVE: Making use of Graphical Design notation study the concept in developing Data Flow Diagram(DFD).

Theory:

Context level DFD Payroll Management System

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

EMPLOYEECODE

PAYROLL MANAGEMENT

SYSTEM

Page 34: Final 11

Level 0 DFD

Level 1 Data Flow Diagram of Opening an Employee Record

FILE

Employee Document

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

SELECTEDEMPLOYEE

RECORD

GENERATEPAYSLIP

Process

Update Table

EMPLOYEE Generating new CODE

number

Display Form

Get Details

Open new code

Update

Page 35: Final 11

Level 1 Data Flow Diagram of Admission of a new employee

Employee Details

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Process

Update Table

EMPLOYEE

Assigning a new code

number

Display Form

Get Details

Generate display

Update

FILE

Page 36: Final 11

Level 1 Data Flow Diagram of Record Modification

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

UpdateProcessing

Scan Record

USERRead the employee

code

Show the Details of

Record

Modify Details of

Record

FILE

Page 37: Final 11

Level 1 Data Flow Diagram to Delete Record of Employee

Employee Details

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

ProcessUpdate Table

EMPLOYEE

Scan the Employee

number

Display Form

Get Details

Update

FILE

Page 38: Final 11

Level 1 Data Flow Diagram for Listing of Employee

FILE

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Scan Record

Processing

Processing Output

To Screen/Printer

Final Output

Read the code number

Select Record from

Database

Copy Selected Record

Compute Total

Copy Selected Record

Select Record

Generate Total List

Compute Bill

OUTPUT UNIT

EMPLOYEE

Page 39: Final 11

Level 1 Data Flow Diagram for Generating Payslip of Employee

FILE

Experiment No-10

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Scan code no.

Update

Cash

Processing

MANAGEMENT

Read employe

e no.

Check for allowance

s

Compute Bill

Close Database

EMPLOYEE

Page 40: Final 11

OBJECTIVE: Making use of Object Oriented Design, implement a student & employee record system using the concept of Inheritance.

Theory:

Design is concerned with the mapping of objects in the problem space into objects in the solution space, and creating an overall structure and computational models of the system. This stage normally uses the bottom-up approach to build the structure of the system and the top-down functional decomposition approach to design the class member functions that provide services. It is particularly important to construct structured hierarchies, to identify abstract classes, and to simplify the inter-object communications. Reusability of classes from the previous designs, classification of the objects into subsystems and determination of appropriate protocols are some of the considerations of the design stage. The object oriented design (OOD) approach may involve the following steps:-

1. Review of objects created in the analysis phase.2. Specification of class dependencies.3. Organization of class hierarchies.4. Design of classes.5. Design of member functions.6. Design of driver program.

Inheritance is a powerful way of representing a hierarchical relationship directly. The real appeal and power of the inheritance mechanism is that it allows us to reuse a class that is almost, but not exactly, what we want and to tailor the class in a way that it does not introduce any unwanted side effects into the rest of class.

Inheritance can be seen in an example where we have a class which contains persons Name, Father’s Name, Gender etc. now we can inherit two classes from this that is Student

class which have additional fields Standard, Roll No. etc. that are relevant to student and other can be class which can have the data of an employee which contains additional fields like Employee ID, Designation etc. So, we can say that inheritance is a powerful concept as it

can be used for reuse which saves our time both in making it and in testing as it is tested before. We can see the above stated inheritance in the following:-

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6

Page 41: Final 11

Fig: student & employee record system using the concept of Inheritance.

PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL

ISSUE NO.: 00 ISSUE DATE :

REV. NO. : 00 REV. DATE: - 00 PAGE-

DEPTT. : CSE SUBJECT: Software Engineering SEMESTER: 6Person

Student Employee

Date of Birth

GenderFather’s Name

Name

Roll No.Standard

Above all fields

Employee ID Designation

Above all fields