Group Assignment
Page 1 of 67
GROUP ASSIGNMENT CE00003-2 PRINCIPLES & PRACTICES OF SOFTWARE PRODUCTION PT0981 [CSE] ASSIGNMENT TITLE: A2 DRIVING SCHOOL GROUP NO. 5
Hand out date: 17th Aug 2011 Hand in date: 14th Nov 2011 Submitted by: Akhilesh Bamhore (PT0981105)[GL] Durgesh Kumar (PT0981128) Ravi Kumar (PT0981123) Yogesh Kumar Yadav (PT0981121) Submitted to: Mr. Prateek Mishra Module Lecturer
Level 2
2011
Group Assignment
Page 2 of 67
CERTIFICATE
This is to certify that Akhilesh Bamhore, Durgesh Kumar, Ravi Kumar and Yogesh Kumar Yadav of Software branch (Level-2) have completed their assignment and submitted it in due time and have followed the appropriate steps which are prescribed by the University.
Akhilesh Bamhore Name (Group Leader ) Durgesh Kumar Ravi Kumar Yogesh Kumar Yadav Intake No Signature Branch Module : Software, Level-2, Sem-5 : PPSP PT0981105 PT0981111 PT0981126 PT0981109
Level 2
2011
Group Assignment
Page 3 of 67
ACKNOWLEDGEMENT
We a re g r a t e f u l t o o u r a c a d e m y A P I I T S D I N D I A t o g i v e u s t h i s a s s i g n m e n t . F i r s t o f a l l w e w o u l d l i k e t o t h a n k e v e r yb o d y w h o h a s h e l p e d u s i n c o m p l e t i n g o u r a s s i g n m e n t . W e a r e v e r y t h a n k f u l t o Mr. Prateek Mishra w h o is ou r l ectu r er . His timel y guidan ce and support at cruci al junctures m ad e
the un dert aki n g of th is p roj ect an en ri chi n g l e ar nin g ex p er ien ce. The l ea rni n g ex perie n ce wh ile doing this proj ect w as a great
Thanking You, Akhilesh Bamhore (Group Leader) Durgesh Kumar Ravi Kumar Yogesh Kumar Yadav
Level 2
2011
Group Assignment
Page 4 of 67
TABLE OF CONTENTS
S.NO. CHAPTERS PAGE NUMBER
1 2 3 4 5 6 7 8 9 10 11
Introduction Problem Background Proposed Solution Project Planning Control Project Management Schedule Planning Selection of Methodology Cost Estimation Risk Management Requirement Analysis Process Modeling Context diagram 1. Level 0 DFD 2. Level 1 DFDs for the Level 0 processes
6 8 8 10 13 17 21 23 26 34 38 38 39 40 41 41 43 44 46
12
13 14
Data Modeling Logical Data Models: 1. Entity Relationship Diagram 2. Entity Life History
15
47 47 47
Level 2
2011
Group Assignment
Page 5 of 67
3. Processes 4. Source and Sink 16 17 18 19 20 21 22 Design Principles and Concepts Architectural Design Interactive Screen Design Programming Environment Testing Conclusion References
47 47 52 55 57 62 63 66
Level 2
2011
Group Assignment
Page 6 of 67
Chapter 01-Introduction
This system has been developed to support those organisations which are related to driving schools. For todays world there is a need of using computer in each and every aspect of life. The director of A2 School of Motoring, Shiv Chand has given the project specification to our group to develop a system which will act as an interface between all the branches situated all over India. It will work as a liaison between all the branches. They need not go for paper works to communicate with each other. So that we are going to develop a system in ASP.net which will be web application and work with the help of local host or other web technology. 1. Client aspect: As per the specification the whole module is sub divided into three parts with the client aspect. 1.1 Submitting form 1.2 Learning Driving 1.3 Appear for the driving test. 2. Instructor aspect: In aspect of the trainer again the system is subdivided into three parts. 2.1 Knowing the client(trainee) 2.2 Train the trainee 2.3 Update the system with client performance in exam. Explanation: 1.1 While submitting the form you need to fill the application in written form so that it can be a proof for future. In the form you need to specify all the details required for a driving test. The basic fields of the form are shown in the report given in page 2. 1.2 The course of learning driving is divided into many individual lessons. The customer has the option to request for individual lessons or book a block of lessons for a reduced fee. An individual lesson is for 1 hour, which begins and ends at the office. 1.3 When the customer is over with the courses he/she can apply for the driving test. After the performance of the client we will be able to give him/her the license. 2.1 The trainer needs to know whether the client has got a provisional license or not. Whether the client knows the basic of driving or not? Which type of lesson is enough for him/her? And some other fundamental questions are asked by the trainer to the
Level 2
2011
Group Assignment
Page 7 of 67
client. This interview session is created to make both the trainer and trainee comfortable for the other sessions. 2.2 In this step the main work begins for the training session. The instructor has the authority to use the car for the personal work also. The trainee is given the training lesson by lesson. 2.3 Once the training is over the client will ask for the exam to be conducted. The trainer will prepare the trainee for the both exam written as well as practical.
Task: As a software engineer we are assigned to make an efficient computer based system which will carry on the day to day task of the A2 motor driving school. Scope of the Proposed System: This system can be deployed on the server and can be used by the remote system to access the files and upload their data as well. This system can be used by all those driving schools which do not have their computer based database and are working on the file based system today also. The scope of this project is very large as compared to others similar type of project. Objectives: this system will add the details of the new student, instructor details, lesson details, add new branch (only admin has this privilege), change the instructor in between the course(Student has this option), schedule the lesson etc.
Level 2
2011
Group Assignment
Page 8 of 67
Level 2
2011
Group Assignment
Page 9 of 67
Branch Manager (Senior Instructor): This is usually the senior instructor of the system. He/she will have the highest access privilege for that particular branch only where he/ she is assigned to do the work. E.g. he/ she can see the instructor details, add or modify lessons, costs, vehicles etc. Further he/she is responsible for the day-to-day running of the office. Instructor: Instructor has the authority to view the details of only those clients who are under their guidance. View the schedule of the lessons. Register the student for the test. Give the feedback for the student and take the interview of the client i.e. student. Receptionist: He/she has the very low priority but very important work to do i.e. to register a student for the driving lesson, book a lesson, change the instructor on the demand of student, and schedule a lesson. Student: He/ she have the lowest priority and can only view his/ her details and result only. To obtain a full driving license the client must pass both the practical and theoretical parts of the test. It is the responsibility of the Instructor to ensure that the client is best prepared for all part of the test. The Instructor is not responsible for testing the client. If a client fails to clear the test for the driving license, instructor must record the reasons for the failure. To do all these activities the system is developed on asp.net platform with MS access database. This is software with many forms and links with a normalized database which has been shown in the ER diagram.
Level 2
2011
Group Assignment
Page 10 of 67
For the final plan of the project, the system has undergone Boehms W5HH Principle. It follows as:1. Why is the system being developed: This system is being developed to help A2 motor driving school in an easy and efficient way. This will help in running the organisation in a successful way. 2. What will be done: The different functionalities have been listed down as proposed solution for the current system. This includes the functionality to be built and the
Level 2
2011
Group Assignment
Page 11 of 67
tasks required to meet the needs of the Driving school and the work would be done as per the prepared format. The reports of the system will be generated in efficient way. 3. When will it be accomplished: The scheduling of the project is covered under the topic schedule planning of the project. 4. Who is responsible for a function: A rough Work break Down Structure was made and distributed among the group members each being assigned some common and some specific functions. 5. Where they are organizationally located: the identification of branches of the driving school and the developers location, the same was studied for other stakeholders like members, non-members, branches etc. 6. How will the job be done technically and managerially: After establishing the scope for the project, a management and technical strategy for the project has been decided. 7. How much of each resource is needed: Keeping resource allocation in mind the costs planning has been done. The other Project Control activities have been mentioned below: 1. Software Configuration Management: Configuration Management is unique
identification, controlled storage, change control, and status reporting of selected intermediate work products, product components, and products during the life system. Following are the features of SCM: a) Versioning: As this project progresses, many versions of individual work products has been created. The repository is there to save all of these versions to enable effective management of all product releases and to permit the system to go back to previous versions during testing and debugging. b) Dependency tracking and change management: The relationships between the enterprise entities and processes have been made and all these are stored in the repository. c) Requirements tracing: This special function provides the system the ability to track all the design and construction and deliverables that result from a specific requirements specification (forward tracing). It also provides the ability to identify which requirement has been generated and what are the given work product. (Backward tracing) d) Configuration Management: This facilitates us to keep a track of a series of configurations representing specific project milestones and product releases.
Level 2
2011
Group Assignment
Page 12 of 67
e) Audit Trails: It helped the system to establish additional information about when, why, and by whom changes are made. All the information about changes can be entered as attributes of specific objects in the repository. By implementing the SCM in this project the system got a series of tasks like identifying all the items that collectively define the software configuration, to manage the changes on one or more of these items, to facilitate construction of different versions of this A2 motor driving school and to ensure that the software quality is maintained as the configuration evolves over time. 2). Software Quality Assurance Plan: its an umbrella activity, incorporating both quality control and assurance that is applied at each step in the software process. a) The system has focused in maintaining the standards of ISO 9126, a quality standard since 1980 which consists of attributes like functionality (Suitability, Accuracy, Interoperability, Security), reliability (Maturity, fault tolerance, recoverability), usability (Understandability, learnability, operability), efficiency, maintainability, portability. b) A SQA plan has been made and reviewed by the system and other suitable stakeholders and all the quality assurance activities were performed by the system and governed by the plan. c) Any process that the system has taken has been reviewed in compliance with the A2 Motor Driving policy, internal software standards, and externally imposed ISO 9126 standard. 2. Documentation Standards: The complete system has been reviewed in adherence to high quality standard and will be handed to the A2 Motor Driving School at the time of software delivery. This will involve the documentation to match to the standards of ISO 9001:2000 fulfilling effectively all the 20 requirements that must be present for an effective quality assurance system. A set of policies and procedures are to be established to address each of the 20 requirements as per the ISO 9001:2000 standard. 3. Risk Management Plan: The system has its own risk management plan where the software risks have been be viewed within the context of the system only in which it is a component of the A2 Motor Driving School so that the problem is intended to be solved. The system also thought and still thinking about the risks that may arise in the future such that all of them are manageable. Planning to integrate any risk consideration in this software development has been undertaken. The system encourages open communication from all the stakeholders to suggest risks at any time in a formal or informal manner. The main risk related with any system is the risk of
Level 2
2011
Group Assignment
Page 13 of 67
not being developed on time, for this system has already prepared a demo of the software. 4. Programming Standards: The system has maintained good programming practices in this software development process. The documentation has gone parallel to programming. All the indentation rules will be followed and the variable names have been taken as that of a meaningful one to the attribute its focusing on in the system. Proper validations have been added when and where required for all the fields in any form.
Scope: It defines what will be covered in a project (already defined in the chapter 1). Resource: It defines the objects or the equipments required to complete the project. Time: It describes the tasks to be performed according to the schedule and the period for which the work will continue.
Quality: It is the spread or deviation allowed from a desired standard. Risk: It defines what threats a system can face and search for a prior solution to manage all the risks.
Level 2
2011
Group Assignment
Page 14 of 67
Resources required: Needful action is very much important in developing any software projects along with the proper allocation and management of the resources available. Different hardware resources required for developing the system are: 1. Hardware Requirement: Computer for each developer members equipped with keyboard and mouse, So that every developer member can parallel work upon coding, testing, documentation and other software development component. 2. Software Requirement: For the development process i. ii. iii. iv. v. vi. ASP.net (platform for developing code and design of the system), MS Access (Back End for storing data) MS Word (documentation purpose), MS Access (creating and maintaining database), MS Visio (DFD designing), Web browser (to gather necessary details).
Besides these human resources is also important and its the job of group leader to assign the task of each of the group members based upon the skills of the individuals. The percentage of the work done by each member has been discussed in the workload matrix section. Major tasks performed by the team: Each group member was assigned to do a particular task and every task and the main task performed by the team as a whole are as follows and the explanation of each of the task is being taken care of in the further part of the documentation: Project planning and scheduling Requirement analysis Selection of methodology Cost estimation Risk management Process modelling Architectural Design Project monitoring and reviews System testing Project planning: It is probably the most time consuming project management activity and is a continuous activity from initial concept through to system delivery. Plans must be
Level 2
2011
Group Assignment
Page 15 of 67
regularly revised as new information becomes available. It is a part of project management which relates to the use of schedules such as Gantt charts to plan and subsequently report progress within the project environment. Types of project plan are as follows:Plan Quality plan Description Describes the quality procedures and standards that will be used in the project. In our project the team tried to maintain the consistency in each form by designing the master page. Validation plan Explain the approach, resources and schedule used for system validation. During the project the team strictly followed the validation for each of the unit and application wherever necessary. Configuration management plan Maintenance plan Express the configuration management procedures and structures to be used. For more detail refer to project planning control. Predicts the maintenance requirements of the system, maintenance costs and effort required. Flexibility has been provided to set the rules & regulation and coding will be done in such a way that the enhancement can take place anytime whenever required. Staff plan development Elucidate how the skills and experience of the project team members will be developed. Work divided according to the experience, capability and talents among the team members. Table 1
Level 2
2011
Group Assignment
Page 16 of 67
Define project milestones and deliverables: Milestones are the end points of any project which must be completed within the specified frame of time in order to make the project a successful one. Different activities along with the deadline have been mentioned in the Gantt chart. While project has not been completed or cancelled loop: Perform the understanding activity till the condition become false.
Level 2
2011
Group Assignment
Page 17 of 67
Level 2
2011
Group Assignment
Page 18 of 67
PERT CHART
Data Gathering A3 Database Design
A1
A5
Systems Design
Construction
A7 Start
Requirements Analysis
A6
Implementation
Planning
Testing
A8
A4 Maintenance Documentation
Finish
Level 2
2011
Group Assignment
Page 19 of 67
Testing 19 5 Days
Level 2
2011
Group Assignment
Page 20 of 67
WORKLOAD MATRIX
No. Components
Max Mark
Akhilesh Bamhore
Durgesh Kumar
Ravi Kumar
Yogesh Kumar Yadav 20% 20% 25% 20% 20% 40% 20% 20% 20% 20% 25% 20% 40% 25% 25% 20% 40% 40% 25% 25%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Introduction Problem Background Proposed Solution Schedule Planning Selection of Methodology Project Planning Control Cost Estimation Risk Management Project Management Requirement Analysis Process Modeling Data Modeling Data Dictionary Design Principles & Concepts Architectural Design Interactive Screen Design Report Design Programming Environment Testing Overall Documentation (Layout) Signature
2 2 4 2 5 5 5 5 5 5 10 5 5 8 8 5 5 2 7 5
20% 40% 25% 20% 20% 20% 20% 40% 20% 40% 25% 20% 20% 25% 25% 40% 20% 20% 25% 25%
40% 20% 25% 20% 40% 20% 20% 20% 20% 20% 25% 40% 20% 25% 25% 20% 20% 20% 25% 40%
20% 20% 25% 40% 20% 20% 40% 20% 40% 20% 25% 40% 20% 25% 25% 20% 20% 20% 25% 25%
Level 2
2011
Group Assignment
Page 21 of 67
waterfall(lifecycle) model, prototyping model, rapid application development(RAD) model, incremental model, spiral model, hybrid model and etc. Out of these model Hybrid model has been selected for the development of the system keeping in view of the various parameters that can affect the system development. Methodology Selected: This system has adopted the hybrid model of system development. Purpose of selected methodology: Hybrid model is basically a mixture of waterfall and spiral model which encompasses nearly the best features of these models. It makes the use of a structured method for the requirement analysis and specification stages. It follows waterfall model till the requirement analysis phase and further the spiral model comes into the picture for physical designing and construction phases. Finally waterfall is being followed for implementation and operation & maintenance phase.
Level 2
2011
Group Assignment
Page 22 of 67
Reasons to select Hybrid Model: Provides flexibility in meeting the user requirements which is a very difficult scenario in waterfall model. Less time consuming as it doesnt follow the approach of throwing and rebuilding the prototype. It doesnt require ample of human resources to work on the project simultaneously. Ensures requirements analysed and well documented. Ensures rapid user-driven software delivery. Useful and is mostly used model where implementation is a prototype. Scope of Hybrid Model: Documentation takes place in parallel with the system development; if any change arises in the requirement then the whole documentation may needs to be modified, which results in an expensive and time taking documentation. The attainments of ultimate goal of the project that is to learn the software engineering concepts as well as completion of the project on time. Determine and understanding well in advance the appropriate flow of the project how sequence of the progress will flow.
Level 2
2011
Group Assignment
Page 23 of 67
COCOMO MODEL: The original COCOMO stands for Constructive Cost Model. The word "constructive" implies that the complexity of the model can be understood because of the openness of the model,
Level 2 Asia Pacific Institute of Information Technology 2011
Group Assignment
Page 24 of 67
which permits exactly to know why the model gives the estimates it does. It has three models: The basic COCOMO'81 model is a single-valued, static model that computes software development effort (and cost) as a function of program size expressed in estimated thousand delivered source instructions (KDSI). The intermediate COCOMO'81 model computes software development effort as a function of program size and a set of fifteen "cost drivers" that include subjective assessments of product, hardware, personnel, and project attributes. The advanced or detailed COCOMO'81 model incorporates all characteristics of the intermediate version with an assessment of the cost drivers impact on each step (analysis, design, etc.) of the software engineering process.
Now the development mode can be organic, semi-detached or embedded. 1. Organic Mode: Applied for simple, small software project with a small team and with well understood applications. E.g. a banking system. 2. Embedded Mode: It is used in large projects which have substantial operating costs. For e.g. a missile guided system. 3. Semi-detached Mode: It is used in projects which have requirements and development characteristics somewhere in between organic and embedded mode.
The Equations:
1. Development Effort (in person-months) E=aSbm(X), where M(X) =an adjustment multiplier S= size measured in thousands of source instructions (KDSI) a = a composite function of 15 pre-determined cost factors (called cost drivers) The adjustment multiplier m(X) is calculated as the product of individual cost factors, i.e. M (X) =m (Xi) In basic COCOMO the value of each cost factor m (Xi) is 1, whereas in intermediate COCOMO the values vary. 1. Development time(in months) D=cEd
Level 2
2011
Group Assignment
Page 25 of 67
a and c, b and d are developed by Boehms own experience and judgement rather than statistical analysis, depend on the development mode of the project. 2. No. of People, N=E/D COST ESTIMATION IN A2 MOTOR DRIVING SCHOOL 1. Calculating Adjustment Multiplier, m(X): Cost Driver(Xi ) Required Reliability Size of the Database Complexity of the System Computer Time Capability of Analysts Applications Experience Capability of Programmers Programming Experience User of Software Very low 1.24 High Nominal Nominal 0.86 1.00 1.00 0.95 Low Low 0.94 0.85 0.87 Rating Software High Value 1.15
Turnaround Low
Language High
Development Schedule Table 2 Now, m(X)=m(Xi) =1.15*0.94*0.85*0.87*0.86*1.00*1.00*0.95*1.24*1.10 =0.891 Estimated Lines of Codes: 3500Lines of Codes=3.5LOC Therefore, Development Effort, E=aSbm(X) In this case, a = 3.2 (for Intermediate Organic COCOMO) b=1.05 S=3.5 m(X)=0.891
Level 2
2011
Group Assignment
Page 26 of 67
Thus, E=3.2*3.51.05 *0.891=10.6=11 person-months Development Time, D=c*Ed Here, c= 2.5 D=0.38 Therefore, D=2.5*110.38 =6 Months Number of people, N=E/D=11/6=2 persons (approx.) Therefore, the project can be finished within 3 months by a group of 4 persons this is what required by the A2 motors driving school.
Risk management is a project management tool to assess & mitigate events that might
adversely impact a project, thereby increasing the likelihood of success.
Risk Management
Risk Assessment
Risk control
Risk Identification
Risk Analysis
Risk Prioritization
Risk Resolution
Risk monitoring
Level 2
2011
Group Assignment
Page 27 of 67
To
identify, address & eliminate risk items before they become either threats to
Necessary that
range of risks a software development project faces, & to identify areas where a significant exposure exists The discipline attempts to provide a set of principles & practices to achieve the above.
Risk identification: Recognizing a mixture of risks involved in the project that are likely to compromise a projects success. Risk prioritization: Ordering and ranking the risk item identified & analyzed in an ascending order. Risk analysis: Assessing the loss probability (P), loss magnitude (L) and risk exposure (R.E.). Formula used for finding risk exposure is given as: R.E. = Probability of risk becoming true (P) * Loss when risk occur (L) Risk control: Doing the ground work and producing a situation in which the risks can be resolved and eliminated and finally come up with the required corrective action to be taken to resolve the risks. Various risks along with risk prioritization, risk analysis and risk control are stated in table as under: Risk identification Risk Prioritization Timely submission of project 1 P=0.3 L= Rs. 12,000 R.E. = 3,600 Entire project broke down into milestones and schedule for Risk Analysis Risk Control
Level 2
2011
Group Assignment
Page 28 of 67
First of all the entire criteria of project specification to be fulfilled and further the additional features will be met. Each of the team members will be aware of the system requirements.
All the group members gone with the concepts of PHP for of the and its better system
development tool
implementation understanding
development tool. Continuing stream of requirements 4 P=0.2 L= Rs. 8,500 R.E. = 1,700 P=0.4 Personnel shortfalls 5 L= Rs. 5,800 R.E. = 2,320 Assigning the task according to the talent of the group members and rotate the system deliverables among the members. Risks associated & 6 P=0.3 L= Rs. 7,000 R.E. = 2,100 Regular monitoring of project and its respective module assigned to Hybrid model has been followed to overcome this risk.
changes
status
the 7
Analyzing the meaning of each line given in the project specification and concentrate on what is required by the user of the system. We will strictly follow the design principals
functions
Table 3 Risk management is a central part of any organizations strategic management. It is the process whereby organizations methodically address the risks attaching to their activities with the goal of achieving sustained benefit within each activity and across the portfolio of all activities. The focus of good risk management is the identification and treatment of these risks. Its objective is to add maximum sustainable value to all the activities of the
Level 2
2011
Group Assignment
Page 29 of 67
organization. It marshals the understanding of the potential upside and downside of all those factors which can affect the organization. It increases the probability of success, and reduces both the probability of failure and the uncertainty of achieving the organizations overall objectives. Risk management should be a continuous and developing process which runs throughout the organizations strategy and the implementation of that strategy. It should address methodically all the risks surrounding the organizations activities past, present and in particular, future. It must be integrated into the culture of the organization with an effective policy and a program led by the most senior management. It must translate the strategy into tactical and operational objectives, assigning responsibility throughout the organization with each manager and employee responsible for the management of risk as part of their job description. It supports accountability, performance measurement and reward, thus promoting operational efficiency at all levels. The software risk components are as given below: Performance Risk Cost Risk Support Risk Schedule Risk Technology Risk
Level 2
2011
Group Assignment
Page 30 of 67
stop, this risk called as support risk. This risk was sort out during the development as there were two systems in back up. Schedule risk:-It suggest that activities which will perform on system on given time , it didnt completed successfully on the scheduled time , it cause delay of project completion for any organisation such risk called is known as schedule risk , this risk has been avoided by completing the projects individual tasks on time. Technology Risk: - This Risk factor come, when we will develop new features for our system but it will not work well at the time of implementation thus it causes some technical error on the system, so system software working became stop and hang the system .such risk are known as Technology Risk. Risk Identification A checklist of the risks that may arise during the development of this system are identified as under Schedule Slippage-. The delivery date of the software may vary due to the delays in developing the system. Unfortunately the customer may have to wait for a period in order to receive the system Poor designA private software company is adopted for the development of this
system there is every possibility the designer has rushed through the design process in order to get the coding started quickly. Competitive risk- Existing system in the market pose a great risk towards other newly implemented systems. Motor Driving School Systems are being developed on daily basis; hence the system which will be implemented will depend on how competitive it is in the market. Substandard quality- The programmer got behind schedule and desperately needed to catch up. To catch up, the programmer decided to quickly code the next feature and not spend the time testing the feature as they should have. Once the feature went to the. Testing team, a lot of bugs were found, causing the testing / fix cycle to extend far beyond what was originally expected.
Level 2
2011
Group Assignment
Page 31 of 67
Project cancelled- after numerous schedule slips the customer loses confidence that the project can never be completed. Another reason might be that the Business process changes, which leaves the software incapable of solving the new business problems. So the customer decides to cancel the whole project.
System built with basic feature- there are very few advanced features used in the system as a result customer is not satisfied with the system.
False feature rich- the system has great feature but unfortunately they are not useful according to the customer but the programmer thinks they are great feature.
System crash- there is a possibility of a hardware failure during the development of the system.
Over budget- Chances that the system will cost more than the estimated budget is considered.
Risk Analysis After identifying the possible risks there analysis starts in two phases, one the possibility of its occurring and the second is the consequences of them. Here is the analysis done by the team after identification Schedule slippage- The risk of having a schedule slippage is not so high. However the consequence caused by it is very high. The customer can lose faith in the team; he can abandon the system also. Poor design- There is a high possibility of a poor design due to the adoption Waterfall methodology. This causes problem for the programmer while coding and a design which is reusable allows changes to be made quickly and also lessens testing. Competitive risk- this is the biggest risk in front of the development team. There is a high possibility that customer switches over to some other system if he comes to know that a better system is present there in the market. Substandard quality- to add some advanced features programmer lags behind in the schedule and there is a moderate possibility that such a thing can happen. This result in the development of a very ordinary quality system due to which the competitors
Level 2
2011
Group Assignment
Page 32 of 67
gets an edge. It also increases the work of testing team as they are busy in removing bugs of the system. Project cancelled- it is not a high risk however there is possibility if the customer loses faith in the development team. This will result in the loss of customer by the team as well as the reputation of the team. It will also lead to wastage of all the work and the cost that the team has already put into the development of the system. System build with basic feature- There is a high possibility of this risk due to the lack of time. This will result in the dissatisfaction of the customer and the next time he needs a system he might not call us. False feature risk- there is a slightly less chance of occurrence of this risk. This will result in the false advertisement of the system and also the customer might not use the system to its full potential. System crash- this is possibly the least probable risk that might occur during the development of the system. This will result in losing up of all the data and also all the work that has been contributed in it. Over budget- it has a moderate risk of occurrence but if it happens then the client may not buy the system and the team will incur a heavy loss not only in terms of money but also in terms of work. Risk Assessment The following things need to be done to remove or reduce the risk that has been identified: Schedule slippage- The project is split into small release cycles. In each cycle something valuable to the customer is implemented as a result even if the project gets late, the most important and valuable parts would be working. Poor design- The only way to overcome this risk in not to rush through the design phase in order to get the coding and starting connectivity of databases with Webpages. Competitive risk- knowledge about the competitor should be kept in order to be competitive in the market.
Level 2
2011
Group Assignment
Page 33 of 67
Substandard quality- first all the required features of the project will be done and then only work on some advanced features will be started in order to increase the quality of the project.
Project cancelled- the A2 Motor Driving School is involved in each of the release cycle so that he has an idea about the project in which way it is headed. This will help him change the direction of the project as his business need changes. Also if the project gets late he has the most important parts working so he will be less inclined in cancelling the project.
System build with basic feature- proper planning about the development of the project will reduce this risk to a great extent as now the team will have sufficient time to add extra features to the project.
False feature rich- in each release cycle, the customer will be allowed to pick features that are important to him - he will be picking features that are relevant to his business process and not the processes that are a programming challenge.
System crash- A backup of all the work will be made at the end of each release cycle so that if the system crashes programmer will have all the data of the previous release cycles.
Risk prioritization
The risk based prioritization using the core set of information has been carried out during the
registration phase and result in easy registration for substances shown to be of low concern. Only if a concern has been identified and if safe use cannot be demonstrated should the natural progression be to move on to the evaluation phase and subsequently to the restriction/authorization procedure. Prioritization based on risks will help focus the use of resources on hot spots: Time and (limited) financial resources that would have been devoted to the collection of data on lower risk substances (as in the current draft) with little if no improvement of health and environmental protection, can be saved or better redirected to address higher priorities. The system is made more cost effective for all.
Level 2
2011
Group Assignment
Page 34 of 67
Risk based prioritization supports early implementation of additional health and environmental protection measures
Substances of lower tonnage but showing higher risk potential are addressed earlier in the REACH process
Level 2
2011
Group Assignment
Page 35 of 67
Details of Instructors as well as branch manager No. of students registered per day. They can easily generate reports. He has the highest access privilege. 4. Instructors: Can view the details of student under his/her guidance Can give feedback to the system about the students progress. View Scheduled lessons Register the student for the test Register the student as pass or fail after the exam.
5. System Developers: The requirements of the developer team to make the system are as follows. Proper software and hardware availability. Proper preparation of milestones. Proper work scheduling. Co-relation between the team members. Functional requirements from the system: It describes the functionalities and performance of the A2 Motor Driving School system. We have found the requirements based on our software. Record of all staffs as well as the students. Instant report Generation for all the functionality Payment and billing records. Day to day reports of all fields
Interface Specification: The system which we are developing for this assignment is based on client server architecture. Following are the hardware and the software requirements for this system. Hardware Interface: P4 processor. Software Interface: ASP.net.
Level 2
2011
Group Assignment
Page 36 of 67
Communications Interface: Screen, Keyboard Memory Constraints: 128 MB. Data Requirements: INPUT- Data input comprises of data being entered in Student Registration Input Admin Registration Info Schedule Interview Book Lessons for a particular student Register a particular lesson Register an Instructor Feedback from the instructor Change of an Instructor as on demand of student Register a new Vehicle Modify the above records OUTPUT- Data out will provide information in form of output Student Details(By student, all) Instructor details (for admin access only by all or by branch) Slip of payment with lessons details for student purpose. Vehicle details All other details from the above input fields
Level 2
2011
Group Assignment
Page 37 of 67
Techniques used in Requirements Elicitation, Analysis and Requirement Validation Elicitation Techniques The various elicitation techniques used in our project are brainstorming session (a meeting is held where every member gives there idea and does a brainstorming), storyboarding (It clearly explains the series of steps needed to complete the business event to the customer/user), Prototyping/Mock-up (It is built for developers, users, and customers to better understand system requirement). Requirement Analysis It basically deals with the relationships among various requirements and shaping those relationships to achieve a successful result. The various requirement techniques used in our project are Define the system, specify the goals, constraints and boundaries of the system. Requirement Validation It ensures that the requirement satisfies the condition of the system. The various requirement validation techniques are Requirements reviews, Prototyping and Test-case generation. It is always found that the longer the error is undetected the more the cost of correcting it .So, it was very important to detect errors in the requirements before actual designing of A2 Motor Driving School System could start. The work product that we got after requirement engineering was accessed for quality here. Under this stage we examined all the gathered information to insure that all software requirements have been stated unambiguously and errors were gathered and corrected. The whole process was divided into primary and secondary levels. The primary level consists of formal technical review team consisting of group members and some end users who looked for areas where further modifications can be done. In order to do this we came up with validation checklist that had subsets like:-
Are requirements stated clearly? Can it be misunderstood? Is each requirement testable? Is the initial state of the system defined? Are the responses to exceptional conditions specified? Are possible future modifications specified?
Level 2
2011
Group Assignment
Page 38 of 67
Manager
A2 Driving School
Services Booking Dept Client Info./ Lesson Info. Update L.S./ Train Client/ Interview Client
Car
Page 1
Level 2
2011
Group Assignment
Page 39 of 67
LEVEL 0 DFD
Examination Request for test Customer Give Money 9.0 Conduct exam 4.0 Generate Bill Request for register Save Report Give Report Monitor exam Send Result Manager
Book Lesson Send Invoice Send account Report Send exam Schedule/ Send Result 5.0 Create Invoice
Send Report
Take Interview
Lesson Report
Schedule Interview Booking Dept. 1.0 Register Client 6.0 Schedule Training Schedule Instructor Drive
Book Client
Driving Service
Level 2
2011
Group Assignment
Page 40 of 67
Receptionist Login
Booking Dept.
1.3 Send Report
A2 Motors Database
Instructor
Page 1
Level 1 Examination
Examination Monitor exam 9.1 Register Examinee
A2 Motors Database
Level 2
2011
Group Assignment
Page 41 of 67
Level 2
2011
Group Assignment
Page 42 of 67
Process: Conduct Interview Record=Interview No. + Student Id+ Instructor Id+ Date of Interview+ Type (Fresh Interview/ Rescheduled Interview).
Data model It basically defines data objects, attributes, and relationships between the datas. Entity Relationship Diagram-It is a network model that describes the stored data layout of a system at a high level of abstraction. There are basically 3 things which the system has consider while making ERD. 1. Entity- An entity is something, real or abstract, about which we store information. 2. Relationships It is the association among the entities which exists among them. 3. Attributes A property of an entity or a relationship type. For this system there are basically these 5 entities. Entities 1. Student (Client) 2. Vehicles 3. Instructors 4. Manager(Usually the senior manager) 5. Booking Dept. Relationships 1. Admin can view Branch managers Details(1:M) 2. Branch Manager Can View Instructor Detail(1:M) 3. Instructor can view Student detail (1:N)
Level 2
2011
Group Assignment
Page 43 of 67
4. Receptionist can Schedule lesson (1:N) 5. Student can change Instructor (1:1) 6. Student books lesson (1:N) 7. Instructor Trains student(1:N) 8. Student gets training by instructor (1:1) Attributes 1. Student (Client) - Student Id, Name, Provisional Driving licences etc. 2. Vehicles-Vehicle Id, Vehicle model etc. 3. Instructors- Instructor Id, name, Driving licences etc. 4. Manager (Usually the senior manager)-Id, name, etc. 5. Booking Dept. Dept. no., Password etc.
Level 2
2011
Group Assignment
Page 44 of 67
Manager
contains
Booking Dept.
Instructors
Foreign Key
Inst_dob
Relation
Gender Atribute
Inst_fname
Inst_drevingln o.
Entity
Inst_mob
Inst_payment
Page 1
Level 2
2011
Group Assignment
Page 45 of 67
An Entity Life History diagram is used to show the sequencing, iteration or timing of an entity. It shows the start and end of the entity. The life history of the various entities in this system is given below Student Life History:
Student
Gives Details
Scheduling of Interview
Selected
Intreview
Not Selected
Book Lesson
Gets Trainning
Pass
Status
Fail
Reapear
Level 2
2011
Group Assignment
Page 46 of 67
Instructor
Instructor
Take Interview
Take Vehicle
Instructor Life
Promotion
Give Training
Manager
Manager
View Reports
ManagerLife
Here Managers life, student life, or instructor life and as it is for the receptionist means death or they opt for leaving the company in between. Here the end of the life history of any entity is given by the last field ex. View reports for manager.
Level 2
2011
Group Assignment
Page 47 of 67
The data dictionary of the proposed system consists of 4 elements. 1. Data Flows 2. Data Stores 3. Processes 4. External entities (Source & Sink) Data Flow: - Data Flow are groups of data that move and flow through a system from one place to another. It Include names of all individual elements of data moving. Data flow is represented by arrow arrows depicting movement of data E.g. Status of student
Data store: - Data Store refers to data at rest that may represent one or many physical locations. Each data store has a label and number (number of files location). Data store is represented by a rectangle E.g. data about students
D1
Exam/grad file
Processes: - Process are the action performed on data so that they are transformed (manual or automatic), stored or distributed, each process includes a name & process number. It is represented by rectangle with rounded corners or a circle as shown in the level 0 diagram. E.g. Register Student
1.
Register
Level 2
2011
Group Assignment
Page 48 of 67
Source and Sink: - Source and Sink are the origin (sources) and/or destinations (sink) of the data i.e. that supplies or receive data. They refer to external entities (or outside) to a system; boundaries of the system; boundaries. Each source/ sink has a name that states what the external agent is, e.g. students
Students
Name Description
Student Student is the most important entity of the system. Student has to be registered to the A2 motor driving system firstly to obtain training.
Student gives all required information about his/her name, address, contact no, Email ID etc.
Name Description
Administrator Shiv Chand is the administrator of the system one who is responsible for registering the Branches, branch managers, view payment and billing information and Maintenance of the system.
Level 2
2011
Group Assignment
Page 49 of 67
Processes: Name Description Login In User inputs user name and password. If data is correct then user gets access to the system. Input data flow Output data flow User name and password is entered by the user. User gets access to the system after successful login. User goes to his home page. Data structure User name[text] + password[*] Table 6 Name Description Input data flow Output data flow Data structure Registration Take user information and stores into Member record Username, Password, and other user details. Confirmation of user registration. Email ID [text], password [text], Users name [text], age [integer], Contact no [text], and address [text]. Table 7 Name Description Schedule Lesson The scheduling of the training is done by the receptionist depending on the availability of the trainer. Input data flow Can be searched by date, by particular student id or by instructor id Output data flow Data structure Shows the status of schedule Date[date/text], Source[text], Destination[text] Table 8
Level 2
2011
Group Assignment
Page 50 of 67
Name Description Input data flow Output data flow Data structure
Lesson Booking Before the lesson starts the student has to book the lesson. Student id, instructor id, lesson id, date etc. Booking Confirmed. Student id[Number], Instructor Id[Number], Lesson Id[Number], Date[number/text] Table 9
Data stores: Name Description Input data flow Output data flow Login record Stores information of user name and password. Stores login details Provides user name and password Table 10 Name Description Input data flow Output data flow Student Record Store Student information Student id Student details Table 11 Name Description Input data flow Output data flow Instructor Record Stores the information of instructor Instructor id Instructor details, schedule details etc. Table 12
Level 2
2011
Group Assignment
Page 51 of 67
Register Lesson Register a new lesson Stores the information of the new lesson Shows the details of the all lessons or id wise Table 13
Fare Store Cost Details Stores total expenses as well as profits. Shows Cost of particular lesson of the system. Table 14
Level 2
2011
Group Assignment
Page 52 of 67
The design is meaningful engineering representation of software which the system has developed. It focuses on patterns as they apply to the application to be built. Software design is most important part of the software engineering. Each activity which is undertaken is the software design transforms information in that manner that ultimately it produces quality software. Why designing of the system? The software design is very important because it reduces the risk, reduces the cost of rework, and increases the quality of the product. Thats why the system has used the design principle to develop the project. The design principles are: 1. The design should not suffer from narrow vision A good designer should consider alternative approaches. Judging each based on the requirements of the problem, the resources available to do the job and any other constraints. Conceptual integrity is the most important consideration in system design. Having a clean internal structure is essential to constructing a system that is understandable, can be extended and reorganized, and is maintainable and testable. 2. The design should be traceable to the analysis model it is necessary to have a means of tracking how the requirements have been satisfied by the model 3. The design should not reinvent the wheel The design should not repeat the same thing. Systems are constructed using a set of design patterns, many of which have likely been encountered before. The A2 motor driving schools design is made in such a manner where the functionalities are given more value than the graphics design of the system. 4. The design should minimize intellectual distance between the software and the problem as it exists in the real world A software system exists for one reason: to provide value to its users. All decisions should be made with this in mind. The structure of the software design should (whenever possible) mimic the structure of the problem domain. Before specifying a system requirement, before developing a piece of system functionality, before determining the hardware platforms or development processes, each and step should add real value to the system.
Level 2
2011
Group Assignment
Page 53 of 67
5. The design should exhibit uniformity and integration The system developed follows this principle. We have followed Hierarchy model which so whenever the system found that it should change its master page according to the new ideas, the designed has been changed accordingly. A design is integrated if care is taken in defining interfaces between design components. 6. The design should be reviewed to minimize conceptual (semantic) errors there is sometimes the tendency to focus on minute details when the design is reviewed, missing the forest for the trees. Design is not coding, coding is not design Even when detailed designs are created for program components, and the level of abstraction of the design model is higher than source code. 7. The design should be structured to accommodate change The design should be assessed for quality as it is being created
in the design concept we are shows the process of work how it fallow. There are seven concepts which this system is using to justify the design.
The seven concepts of design are 1) Abstraction: - It allows designers to focus on solving a problem without being concerned about irrelevant lower level details (procedural abstraction - named sequence of events, data abstraction - named collection of data objects). We have used control abstraction in our design that means that our program control is flowing without showing its internal working to its users. It allows designers to focus on solving a problem on a generalised standard without being concerned about irrelevant lower level details. The designer analyse the problem related to the interface design of the system i.e. button, menus and other visual design elements. 2) Refinement: - It is process of elaboration where the designer provides successively more detail for each design component. According to the three steps system has done the refinement concept. The three steps are: 1st refinement: In this we refine the problem in the system. According to requirement analysis and data gathering we found some problems faced by the current system. 2nd refinement: After finding out the problems we are going to identify what the user actually needs. This was carried out by the data gathering technique.
Level 2
2011
Group Assignment
Page 54 of 67
3rd refinement: After 1st and 2nd refinement the system has gathered the data and then we identify what the user need. In 3rd refinement we divide the software in different modules (login module, registration module). After dividing the module we design Data flow diagram as per the primary research we have planned to design the system using. After that we draw Entity-Relationship Diagram (E-R Diagram) that is basically used to model the data view of the system.
3) Modularity: - In the modularity concept we have to divide our system in different module. We divide the system in three modules. They are: Login module: - In this module the system has given regular users some special privileges, like giving them bonus points for each trip they make and based on these bonus points we provide special offers to them. Admin module: - admin can see the details of each and every component of the system. Student Module: - In this module the system has provided the receptionist to check the details of the student and give the same to the needy person. 4) Control hierarchy: - Several modules are divided in sub-modules and these sub-modules into lower level modules. Every entity has some level of hierarchy in the application. It is controlled when the level of hierarchy ends after a certain level. 5) Information hiding: - This part of design concepts has been taken care of by modularity. Through Information (data and procedure) contained within a module is inaccessible to modules that have no need for such information. This is done by preparing different master pages for different types of users. 6) Software procedure:- This part of design concepts deals with specifying the module interface, and how the system work, like login and then register a user. 7) Re-Factoring:- This is the process of changing a software system in such a way that it does not alter the external behaviour of the code yet improves its internal structure. For effective modular design following factors are taken in the consideration by the system: Cohesion: It is a measure of the extent to which a module serves a unified purpose. The system has functional cohesion, which is a strong and high cohesion. Like the
Level 2
2011
Group Assignment
Page 55 of 67
queries are connected to the database via making sub procedures and the same sub procedure is called into the different forms for a specific purpose. Coupling: It is a measure of how tightly components are interconnected. It depends on the interface complexity between modules, the point at which entry or reference is made to a module, & what data pass across the interface. The system has data coupling which is low and weak.
Level 2
2011
Group Assignment
Page 56 of 67
The design of client-server systems should reflect the logical structure of application that is being developed. The client-server architecture can either be of 2-tier or 3-tier. 2-tier architecture is a client-server architecture where the server is versatile, i.e. it is capable of directly responding to all of the client's resource requests. In 3-tier architecture however, the server-level applications are remote from one another, i.e. each server is specialized with a certain task (for example: web server/database server). The 3-tier architecture distributes processing is more effective than 2-tier architecture. However system management is more complex as application functionality is spread across many different computers. So, the implementation of this architecture was not economically feasible for this system which has a limited number of users. Selected Architecture: [2-tier approach of client-server architecture] So, the 2-tier approach of client-server architecture has been adopted for the implementation of the system for the application. The user requirements as well as the database requirements are very limited in this system. So, the database and the application are deployed in the same server. The user interface for these systems is migrated to PCs and the application itself acts as a server and handles all processing and data management. The results are then displayed in the presentation layer as per user requirements. ADVANTAGES: 1. Easier to maintain 2. Cost Effective 3. Suitable for small applications where the number of users are limited and also the database requirements is minimum.
ARCHITECTURE PATTERN
BROKER PATTERN
(DISTRIBUTION PROBLEM)
DMS PATTERN
(FOR PERSISTENCE)
Level 2
2011
Group Assignment
Page 57 of 67
User interface design creates an effective mode of communication between a human and a computer .If the interface is poorly designed, the user would find it difficult to know the features and functionalities of the system. Following a set of interface design principles, design identifies interface objects and actions and then creates a screen layout that forms the basis for a user interface prototype. Interface design started with the user requirements and the environment under which the system is going to operate. It is done by taking all the user requirements in consideration. Once user task have been identified, user scenario were created and analyzed to define a set of interface objects and actions .This formed the basis for creation of screen layout that depicted graphical design and placement of icons, specifications and titling of windows etc. At last tools were used to prototype and group reviewed the design and evaluated for quality. Following are the set of rules that the system has followed to make the design interactive:1. Place the User in Control User would be satisfied with the system if the controls of the system would be easy to learn and easy to learn. So, the system has tried to minimize constraints and limitations to simplify the implementations of the interface. System has tried to define interaction modes in a way that does not force a user into unnecessary or undesired action. Allow user interaction to be interruptible and undoable: Even when involved in a sequence of actions, there will be able to interrupt the sequence to do something else without losing the work that had been done. The cancel button and update button has been provided for the same In order to maintain the privacy of the data we tried to hide technical internals i.e., users are never required to type operating system commands from within the software .We have incorporated Try-catch block at the application design to hide such internal technical. 2. Reduce the Users Memory load- The more the user has to remember the more complicated the system would be. Considering this in mind system have tried to Followed design principle given by Mandel that reduces the users memory load:-
Level 2
2011
Group Assignment
Page 58 of 67
Demand on short term memory is always minimized by providing visual cues that enable users to recognize past actions rather than having to recall them. We have tried keep visual layout of the system on real world metaphors. Information is disclosed in a progressive manner such that information about task, an object and behaviour presented at a high level of abstraction. 3. Make the interface Consistent The interface should present and acquire information in a consistent fashion i.e., all visual information are organize in a design standard that is maintained throughout the screen display. System has tried to allow user to put the current task into a meaningful context: Many interfaces implement complex layers of interactions with dozens of screen images. It is important to provide indicators that enable the user to know the context of the work at hand. In addition, the user should be able to determine where he has come from and what alternatives exist for a transition to a new task.
Screen Design
Login here
Level 2
2011
Group Assignment
Page 59 of 67
Scheduling Interview
Level 2
2011
Group Assignment
Page 60 of 67
Dashboard
Level 2
2011
Group Assignment
Page 61 of 67
Level 2
2011
Group Assignment
Page 62 of 67
A2 Motor Driving School System is purely developed on ASP.Net platform. The backend is Microsoft Access for storing the data. ASP.Net is a sophisticated program for creating, editing, and testing web pages. Why ASP.Net? ASP.Net allows creating dynamic web pages i.e., web pages whose contents are generated dynamically and can be easily customized. It provides user controls it gave the system developers flexibility to add own feature, methods and event handlers. Its session state provided security as Session variables can be set to be automatically destroyed after a defined time of inactivity, even if the session does not end. It provides performance benefit over other script based technology as it compiles server side code to one or more DLL files or web Server. It also drastically reduces the amount of code to build large applications. Its more secure than any other platform for webpage.
Tools used to develop the system PURPOSE DESIGN TOOLS MARKUP & PROTOTYPE PROGRAMING PLATFORM DATABASE USED OS PLATFORM BROWSER TOOLS DREAMWEAVER HTML,CSS ASP.Net MICROSOFT ACCESS 2007 WINDOWS 7 INTERNETEXPLORER, SAFARI, GOOGLE CROME Table 15
FIREFOX,
Level 2
2011
Group Assignment
Page 63 of 67
Chapter 20-Testing
Testing the system means finding out the errors and components that are missing which is specified in project specification and is not followed. Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design, and code generation. There exists a particular team of testers for testing the systems. It is recommended that testing should begin in requirements phase of SDLC. It plays important role for the quality project. The types of testing are:-
Unit
interdependency. It basically focuses verification effort on the smallest unit of software design and on the internal processing logic & data structures within the boundaries of a component.
Integration Testing: In Integration testing the system has combined individual components and tested them as a group. It is followed after Unit Testing. The main use of Integration testing is to verify the functionality, the performance and the reliability. There are different approaches for Integration testing i.e. Top Down Approach and Bottom Up Approach.
Test case name Test case ID Purpose of test Testing object Test Attribute Test focus Test type Test process
Date of Student Registration TbDOR_01 To take the input only in the form of dd-mm-yyyy. Unit Date of Registration(textbox) Validation Unit Initial State Date of Registration textbox is required to be filled. Output expected Accept only current date and in proper date format.
Accept date in proper format and didnt accept past date. No Action Required, working properly and take right input.
Level 2
2011
Group Assignment
Page 64 of 67
Test case name Test case ID Purpose of test Testing object Test Attribute Test focus Test type Test process
Date of Examination TbDOE_02 To take the input only in the form of dd-mm-yyyy. Unit Date of Examination(textbox) Validation Unit Initial State Output expected
Date of Examination Accept only current date and in textbox is required to be proper date format. fill. Accept date in proper format and didnt accept past date. No Action Required, working properly and take right input.
Table Name
Expected Input
Expected Output Error No Error Error Error No Error Error Error Error No error Error Error Error Error No Error No Error No Error
Net Result
Student
Stud_name/ Stud_fname
Stud_dob
Stud_address
Character Number Punctuation Marks Blank Character Number Punctuation Marks Blank Date Character Number Punctuation Marks Blank Character Number Punctuation Marks
Fail Pass Fail Fail Pass Fail Fail Fail Pass Fail Fail Fail Fail Pass Pass Pass
Level 2
2011
Group Assignment
Page 65 of 67
Table Name
Expected Input
Expected Output Error No Error Error Error No Error Error Error Error No error Error Error Error Error No Error No Error No Error
Net Result
Instructor
Inst_name/ Inst_fname
Inst_dob
Inst_address
Character Number Punctuation Marks Blank Character Number Punctuation Marks Blank Date Character Number Punctuation Marks Blank Character Number Punctuation Marks
Fail Pass Fail Fail Pass Fail Fail Fail Pass Fail Fail Fail Fail Pass Pass Pass
Table Name
Expected Input
Expected Output Error No Error Error Error No Error Error Error Error No error Error Error Error Error No Error No Error No Error
Net Result
Manager
Man_name/ Man_fname
Man_dob
Man_address
Character Number Punctuation Marks Blank Character Number Punctuation Marks Blank Date Character Number Punctuation Marks Blank Character Number Punctuation Marks
Fail Pass Fail Fail Pass Fail Fail Fail Pass Fail Fail Fail Fail Pass Pass Pass
Level 2
2011
Group Assignment
Page 66 of 67
Chapter 21-Conclusion
Working on this Project was really a learning experience and we have come a long way in building our concepts of Software engineering. The Online A2 Motor Driving School developed by us is purely based on Asp.net platform. The overall purpose of this system is to computerized the whole process and thus prevent the intervening errors. Since ,Software engineering practices requires concepts, principles ,methods, and tolls that are applied at different levels of the process and approach of each project is unique, so we have tried to understand the technical essentials i.e. prototype areas of uncertainty, requirement, software architecture and plan component integration. We have identified Hybrid model in order to bring structure and order to Software Development. It was necessary to understand the requirements before actual design and construction could start. We followed distinct requirement engineering functions like inceptions, validation. Software architecture The above mentioned are some of the glance of the practice that we conducted in order to complete the system. We have designed this Software keeping users requirements and their needs as our primary goal. The Online A2 Motor Driving School System will not only improve the efficiency but will also reduce human stress thereby indirectly improving human recourses. We have also provided special features that will attract more and more users. We have put all our efforts in development of this software and hope that it would be appreciated and liked by all.
Level 2
2011
Group Assignment
Page 67 of 67
Chapter 22-References Books: Jalote P. , 2005, COCOMO Model ,Cost estimation, An Integrated Approach to Software Engineering, 3rd ed., New Delhi, Narosa Publishing House Jalote P. , 2005, Risk Assessment , An Integrated Approach to Software Engineering, 3rd ed., New Delhi, Narosa Publishing House Pressman Roger S., 2001, Analysis Rules Of Thumb, Software Engineering: A Practitioner Approach, New York, Tata McGraw Hill Publication, 5th Edition Pressman Roger S., 2001, Architecture Pattern, Software Engineering: A Practitioner Approach, New York, Tata McGraw Hill Publication, 5th Edition Pressman Roger S., 2001, Creating an Architectural Design, Software Engineering: A Practitioner Approach, New York, Tata McGraw Hill Publication, 5th Edition. Pressman Roger S., 2001, Design Concepts, Software Engineering: A Practitioner Approach, New York, Tata McGraw Hill Publication, 5th Edition Pressman Roger S., 2001, Requirement Analysis, Software Engineering: A Practitioner Approach, New York, Tata McGraw Hill Publication, 5th Edition Pressman Roger S., 2001, SCM Features, Project Planning Control, Software Engineering: A Practitioner Approach, New York, Tata McGraw Hill Publication, 5th Edition Pressman Roger S., 2001, Testing Strategies For Conventional Software, Software Engineering: A Practitioner Approach, New York, Tata McGraw Hill Publication, 5 th Edition
Websites
1. N/A. (1971). Learning school driving. Available: http://www.learndriving.info/. Last accessed 14/11/2011 2. N/A. (1999). Core Attributes. Available: http://www.w3schools.com/tags/ref_standardattributes.asp. Last accessed 14/11/2011. 3. N/A. (N/A). learning school driving. Available: http://www.learnerdriving.com/. Last accessed 14/11/2011. 4. N/A. (N/A). learning school driving. Available: http://www.team-bhp.com/forum/technicalstuff/9859-car-driving-lessons-step-step.html. Last accessed 14/11/2011.
Level 2
2011