Upload
venkatesh-kumar
View
222
Download
0
Embed Size (px)
Citation preview
7/31/2019 Ppsp Group 5
1/67
Principles & Practices of Software Production Group Assignment Page 1 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
GROUP ASSIGNMENT
CE00003-2
PRINCIPLES & PRACTICES OF SOFTWAREPRODUCTION
PT0981 [CSE]
ASSIGNMENT TITLE: A2 DRIVING SCHOOL
GROUP NO. 5
Hand out date: 17th
Aug 2011
Hand in date: 14th
Nov 2011
Submitted by: Submitted to:
Akhilesh Bamhore (PT0981105)[GL] Mr. Prateek Mishra
Durgesh Kumar (PT0981128) Module Lecturer
Ravi Kumar (PT0981123)
Yogesh Kumar Yadav (PT0981121)
7/31/2019 Ppsp Group 5
2/67
Principles & Practices of Software Production Group Assignment Page 2 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
ASIA PASIFIC INSTITUTE OF INFORMATION TECHNOLOGY
PANIPAT
(Affiliated to Staffordshire university & Approved by AICTE)
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.
NameAkhilesh Bamhore
(Group Leader )Durgesh Kumar Ravi Kumar Yogesh Kumar
Yadav
Intake No PT0981105 PT0981111 PT0981126 PT0981109
Signature
Branch : Software, Level-2, Sem-5
Module : PPSP
Mr. Prateek Mishra
Signature of Module Lecturer
7/31/2019 Ppsp Group 5
3/67
Principles & Practices of Software Production Group Assignment Page 3 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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 . We a r e v e r y t h a n k f u l t o Mr. Prateek Mishra w h o
i s o u r l e c t u r e r . H i s t i m e l y g u i d a n c e a n d s u p p o r t a t c r u c i a l j u n c t u r e s m a d e
t h e u n d e r t a k i n g o f t h i s p r o j e c t a n e n r i c h i n g l e a r n i n g e x p e r i e n c e .
T h e l e a r n i n g e x p e r i e n c e w h i l e d o i n g t h i s p r o j e c t w a s a g r e a t
a c h i e v e m e n t f o r us . A n d f i n a l l y h e a r t f e l t a p p r e c i a t i o n t o f a c u l t i e s a n d o u r
m a t e s o f A P I I T , w h o h a v e s u p p o r t e d u s i n a l l t h e s t e p s w e h a d u n d e r g o n e i n
c o m p l e t i n g o u r p r o j e c t .
Thanking You,
Akhilesh Bamhore (Group Leader)
Durgesh Kumar
Ravi Kumar
Yogesh Kumar Yadav
7/31/2019 Ppsp Group 5
4/67
Principles & Practices of Software Production Group Assignment Page 4 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
TABLE OF CONTENTS
S.NO. CHAPTERS PAGENUMBER
1 Introduction 6
2 Problem Background 8
3 Proposed Solution 8
4 Project Planning Control 10
5 Project Management 13
6 Schedule Planning 17
7 Selection of Methodology 21
8 Cost Estimation 23
9 Risk Management 26
10 Requirement Analysis 34
11 Process Modeling 38
Context diagram 38
1. Level 0 DFD 39
2. Level 1 DFDs for the Level 0 processes 40
12 Process Specification 41
1. Structured English 41
13 Data Modeling 43
14 Logical Data Models: 44
1. Entity Relationship Diagram
2. Entity Life History
46
15 Data Dictionary for Proposed Systems 47
1. Data flows 47
2. Data Stores 47
7/31/2019 Ppsp Group 5
5/67
Principles & Practices of Software Production Group Assignment Page 5 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
3. Processes 47
4. Source and Sink 47
16 Design Principles and Concepts 52
17 Architectural Design 55
18 Interactive Screen Design 57
19 Programming Environment 62
20 Testing 63
21 Conclusion 66
22 References
7/31/2019 Ppsp Group 5
6/67
7/31/2019 Ppsp Group 5
7/67
Principles & Practices of Software Production Group Assignment Page 7 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
8/67
Principles & Practices of Software Production Group Assignment Page 8 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 02-Problem Background
A2 Driving School was established in Delhi in 2002. Since then, the school has grown
steadily and now it has several offices in most of the main cities of India. The administrative
staffs from different branches need to communicate very often which is tedious. Also there is
no such method from which the director can view the details of the students studying in his
company and he is not able to find out daily progress on time. To monitor the whole
organisation there is a need of developing a efficient system. The working of the system is as
follow:
1. Register the client
2. Schedule Interview
3. Take Interview and check for the valid provisional driving licence of student
4. Book lesson
5. Schedule training
6. Record day to day progress of student
7. Register student for driving test
8. Record the result and if student fails give the reason for it (for instructor only).
Chapter 03-Proposed Solution
A2 Driving School is facing a lot of problems related with the system e.g. the people from
different branches are not able to contact with each other in an efficient way. They are not
able to provide an up to date system to a client who are willing to learn motor driving. So the
director of the A2 motor Mr. Shiv Chand has hired us as software engineer. So as to develop
software which will help the A2 motors running in a good manner this system has been
developed. As the system is being developed for a new system so there is a need of
registering each and every component of the driving school. E.g. the system has to register a
lesson before scheduling lesson, register an instructor, register a branch etc. the access
privilege has been given accordingly to the user of the system. The module for each and
every components of the system along with their accessibility is given below.
Administrator (Director): Mr Shiv Chand is the director of A2 motor school and he has the
highest access privilege. He can view all the reports generated in the system.
7/31/2019 Ppsp Group 5
9/67
Principles & Practices of Software Production Group Assignment Page 9 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
10/67
Principles & Practices of Software Production Group Assignment Page 10 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 04-Project Planning Control
Planning any software means identifying each element of the specific tasks that must be
accomplished to complete that particular task. Division of works must be done so that who
and when that work will be done. Planning also comes handy in deciding and identifying the
activities and the outcomes or the deliverables of the project. Good project planning means
identifying, early and continuously, the specific tasks that must be achieved; considering the
resources in money, personnel, facilities, and time available. Project planning is necessary to
keep a control on the various factors affecting the project so as to deliver the project on time
within the constraints of cost and risk. The quality management also plays an important role
in any project planning and control keeping the documentation standards high and accurate.
Management expects and demands that technical work be administered and controlled
effectively. The planning done in this system is as follow:
Understood the scope of the system i.e. A2 Driving motor school. This provided the
destination in terms of the solution to the current problems.
Various entities (Vehicles, branches, fares, etc.) in are covered under planning
activity and it helped the system to define priorities and the project constraints.
The student has the facility to change the instructor in between the course and opt for
a particular instructor.
This system is intended to identify how it can ensure quality in terms of Software
quality Assurance Plan, Documentation standards, Programming standards all of
which are discussed later.
Risks have been considered at all the stages of the planning and the risks that will
have high impact and high probability in the development and delivery of the system.
This system is made more realistic in terms of software development process.
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
7/31/2019 Ppsp Group 5
11/67
Principles & Practices of Software Production Group Assignment Page 11 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
12/67
Principles & Practices of Software Production Group Assignment Page 12 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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
7/31/2019 Ppsp Group 5
13/67
Principles & Practices of Software Production Group Assignment Page 13 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
Chapter 05-Project Management
Project Management involves the planning, monitoring, and control of the people, process
and events that occur as software evolves from a preliminary concept to an operational
implementation.
It is a carefully planned and organized effort to accomplish a specific goal. It includes
developing a project plan, which includes defining project goals and objectives, specifying
tasks or how goals will be achieved, what resources are need, and associating budgets and
timelines for completion. Implementing the project plan, along with careful controls to stay
on the "critical path", that is, to ensure the plan is being managed according to plan. Project
management usually follows major phases, such as feasibility study, project planning,
implementation, evaluation and support/maintenance.
The distinctive characteristics of the project management are:
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.
7/31/2019 Ppsp Group 5
14/67
Principles & Practices of Software Production Group Assignment Page 14 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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. ASP.net (platform for developing code and design of the system),
ii. MS Access (Back End for storing data)
iii. MS Word (documentation purpose),
iv. MS Access (creating and maintaining database),
v. MS Visio (DFD designing),
vi. 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
7/31/2019 Ppsp Group 5
15/67
Principles & Practices of Software Production Group Assignment Page 15 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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 Description
Quality plan 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
Express the configuration management procedures and structures to
be used. For more detail refer to project planning control.
Maintenance plan 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 development
plan
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.
Project planning process:
Table 1
Establish the project constraints: Project constraints can be proposal writing, project
planning & scheduling, project costing, project monitoring
& reviews, personnel selection & evaluation, report
writing & presentations and etc.
Make initial assessments of the project parameters: Prepare task schedule chart and
follow the schedule strictly. Keep monitoring and
reviewing of the project after a regular interval of time.
Distribute the work among the team members according to
the talent and experience of each individual.
7/31/2019 Ppsp Group 5
16/67
Principles & Practices of Software Production Group Assignment Page 16 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
17/67
Principles & Practices of Software Production Group Assignment Page 17 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 06-Schedule Planning
GANTT CHART
7/31/2019 Ppsp Group 5
18/67
Principles & Practices of Software Production Group Assignment Page 18 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
PERT CHART
Data
GatheringA3
Database
Design
A1 A5
Systems
Design
Project
Initiation
A2Coding
Construction
A7
Start
Requirements A6Analysis Implementation
Planning
Testing A8
A4
Maintenance Documentation
Finish
7/31/2019 Ppsp Group 5
19/67
Principles & Practices of Software Production Group Assignment Page 19 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Start
Wed8/17/11
PERT CHART (Network Diagram)
Introduction ProblemBackground ProposedSolution SchedulePlanning SelectionofMethodology
1 2DAYS 2 2Days 3 3Day 4 2DAYS 5 5Days
Wed8/17/Thu8/18/11
11 Fri8/19/11 Sat8/20/11Mon8/22/11
Wed8/24/11
Thu8/25/11 Fri8/26/11 Thu8/25/11Wed8/31/
11
ProjectPlanningControl CostEstimation RiskManagement ProjectManagement RequirementAnalysis
6 3Days 7 3Days 8 5Days 9 2days 10 5Days
Thu9/1/11 Mon9/5/11 Thu9/1/11 Fri9/2/11 Tue9/6/11 Mon9/12/11 Thu9/8/11 Fri9/9/11 Tue9/13/11Mon9/19/11
ProcessModeling DataModeling DataDictionaryDesignPrinciplesand
ConceptsArchitecturalDesign
11 5Days 12 3Days 13 5Days 14 11Days 15 6Days
Tue9/20/11Mon9/26/11 Tue9/27/11Thu9/29/11 Fri9/30/11 Thu10/6/11 Thu9/29/11Thu10/13/
11Fri10/14/11Fri10/21/11
InteractiveScreen
Design
ReportDesignProgramming
Environment
TestingOverallDocumentation
(Layout)16 4Days 17 4Days 18 3Days 19 5Days 20 5Days
Mon10/24/ Thu10/27/ Tue10/25/ Sun11/13/
11 11 11Fri10/28/11
Fri10/28/11Tue11/1/11 Tue11/1/11Mon11/7/11Tue11/8/11
11
Finish
Wed11/13/11
7/31/2019 Ppsp Group 5
20/67
Principles & Practices of Software Production Group Assignment Page 20 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
WORKLOAD MATRIX
No. Components Max
MarkAkhilesh
Bamhore
Durgesh
Kumar
Ravi
Kumar
Yogesh
Kumar
Yadav
1 Introduction 2 20% 40% 20% 20%
2 Problem Background 2 40% 20% 20% 20%
3 Proposed Solution 4 25% 25% 25% 25%
4 Schedule Planning 2 20% 20% 40% 20%
5 Selection of Methodology 5 20% 40% 20% 20%
6 Project Planning Control 5 20% 20% 20% 40%
7 Cost Estimation 5 20% 20% 40% 20%
8 Risk Management 5 40% 20% 20% 20%
9 Project Management 5 20% 20% 40% 20%
10 Requirement Analysis 5 40% 20% 20% 20%
11 Process Modeling 10 25% 25% 25% 25%
12 Data Modeling 5 20% 40% 40% 20%
13 Data Dictionary 5 20% 20% 20% 40%
14 Design Principles & Concepts 8 25% 25% 25% 25%
15 Architectural Design 8 25% 25% 25% 25%
16 Interactive Screen Design 5 40% 20% 20% 20%
17 Report Design 5 20% 20% 20% 40%
18 Programming Environment 2 20% 20% 20% 40%
19 Testing 7 25% 25% 25% 25%
20 Overall Documentation
(Layout)
5 25% 40% 25% 25%
Signature
7/31/2019 Ppsp Group 5
21/67
Principles & Practices of Software Production Group Assignment Page 21 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 07-Selection of Methodology
Its very important to go through a series of predictable steps, whenever we are going to build
a system- a road map that helps us to create a timely, high-quality result and the road map
that we follow throughout our project is known as a system methodology.
Why selection of any methodology?
It is advised to adopt a specific methodology to develop a system because of the following
reasons:
Provides stability to the system development process.
Provides greater control over the system development.
For allocating the right resources at right place.
The focus remains clear and time estimation can be made which can be followed
throughout the project.
Every methodology has its own characteristics and scope, so its very important to select the
best suitable methodology based upon the nature of the system and its respective parameters.
These parameters can include resources available, stipulated time estimation, budget, risks
involved and etc. Various system methodology persists in todays world are;
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.
7/31/2019 Ppsp Group 5
22/67
Principles & Practices of Software Production Group Assignment Page 22 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
23/67
Principles & Practices of Software Production Group Assignment Page 23 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 08-Cost Estimation
Software cost estimation is the process of predicting the effort required to develop software
System .Software cost estimation is not an exact science. Variables like human, technical,
environmental, and political, etc. affects the ultimate pricing of the software. However, many
cost estimation techniques each having its own set of distinctive strength and weaknesses
have been proposed in the last 30 years, which have transformed cost estimation from a black
art to a series of systematic steps that provides estimates with acceptable risk. The various
cost estimation techniques available today are:
Expert judgment: One or more experts in both software development and the
application domain use their experience to predict software costs. Process iterates
until some consensus is reached.
Estimation by analogy: The cost of a project is computed by comparing the project
to a similar project in the same application domain.
Top-down estimation: Start at system level and work out how the system
functionality is provided. It takes into account costs such as integration, configuration
management and documentation.
Bottom-up estimation: Start at the lowest system level. The cost of each component
is estimated individually. These costs are summed to give final cost estimated.
Algorithmic Cost Modelling: Cost is estimated as a mathematical function of
product, project and process attributes whose values are estimated by project
managers.
Parkinsons Law: The project costs whatever resources are available
Pricing to win: The project costs whatever the customer has available to spend on it.
Constructive Cost Model: The model was first published by Dr. Barry Boehm in
1981, and reflected the software development practices of these days. This is
described below.
Selected model: For this system COCOMO Model has been selected and its reason for
selection is given below.
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,
7/31/2019 Ppsp Group 5
24/67
7/31/2019 Ppsp Group 5
25/67
Principles & Practices of Software Production Group Assignment Page 25 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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 ) Rating Value
Required Software
Reliability
High 1.15
Size of the Database Low 0.94
Complexity of the System Low 0.85
Computer Turnaround
Time
Low 0.87
Capability of Analysts High 0.86
Applications Experience Nominal 1.00
Capability of Programmers Nominal 1.00
Programming Language
Experience
High 0.95
User of Software
Development Tools
Very low 1.24
Existence of Required
Development Schedule
Very High 1.10
Now, m(X)=m(Xi)
Table 2
=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
7/31/2019 Ppsp Group 5
26/67
Principles & Practices of Software Production Group Assignment Page 26 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
Chapter 09-Risk Management
Risk management is a project management tool to assess & mitigate events that might
adversely impact a project, thereby increasing the likelihood of success.
RiskManagement
RiskAssessment
Risk control
RiskIdentification
Risk AnalysisRisk
Prioritization
Riskmanagement
Planning
RiskResolution
Riskmonitoring
Fig 4:- Risk Management Activities
7/31/2019 Ppsp Group 5
27/67
7/31/2019 Ppsp Group 5
28/67
Principles & Practices of Software Production Group Assignment Page 28 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Gold plating 2
P=0.5
L= Rs. 15,000
R.E. = 7,500
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.
Poor understanding
of the system
development tool
3
P=0.4
L= Rs. 7,500
R.E. = 3,000
All the group members gone with the
concepts of PHP and its
implementation for better
understanding of the system
development tool.
Continuing stream
of requirements
changes
4
P=0.2
L= Rs. 8,500
R.E. = 1,700
Hybrid model has been followed to
overcome this risk.
Personnel shortfalls 5
P=0.4
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
with incorrect &
optimistic status
reporting
6
P=0.3
L= Rs. 7,000
R.E. = 2,100
Regular monitoring of project and its
respective module assigned to
responsible group member is to be
taken care of.
Developing the
wrong functions
and user interface
7
P=0.15
L= Rs. 9,000
R.E. = 1,350
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
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 theserisks. Its objective is to add maximum sustainable value to all the activities of the
7/31/2019 Ppsp Group 5
29/67
Principles & Practices of Software Production Group Assignment Page 29 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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
Types of Risk Management
Performance risk: - It is the risk which might be thought like whether the system will
perform well or not. This risk has been discarded as before developing the system. The
developers have gone through the analysis and planning phase in a good manner.
Cost Risk:-At the time of planning the system we estimate a budget that will decide the cost
expenditure of project, but when system completed and cost came more than estimated cost,
so, we have to manage it, this is called Cost Risk like. In A2 motor driving school only the
basic functionalities have been provided so there is no fear of cost risk
Support risk: - It suggest that different type of supporting tool which will apply to develop
the system, if it will not work properly at the time of implementation so this type of risk
called as support risk, it generally happens when we make the program of system but at the
time of debugging it shows errors which makes the system halt, so that working of system get
7/31/2019 Ppsp Group 5
30/67
Principles & Practices of Software Production Group Assignment Page 30 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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 design- A 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.
7/31/2019 Ppsp Group 5
31/67
Principles & Practices of Software Production Group Assignment Page 31 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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
7/31/2019 Ppsp Group 5
32/67
Principles & Practices of Software Production Group Assignment Page 32 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
33/67
Principles & Practices of Software Production Group Assignment Page 33 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
34/67
7/31/2019 Ppsp Group 5
35/67
Principles & Practices of Software Production Group Assignment Page 35 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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 performanceof 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.
7/31/2019 Ppsp Group 5
36/67
Principles & Practices of Software Production Group Assignment Page 36 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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
7/31/2019 Ppsp Group 5
37/67
Principles & Practices of Software Production Group Assignment Page 37 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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?
7/31/2019 Ppsp Group 5
38/67
7/31/2019 Ppsp Group 5
39/67
Principles & Practices of Software Production Group Assignment Page 39 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
LEVEL 0 DFD
Examination
Customer
Give Money
4.0
Generate
Bill
Request for test
Request for register
Monitor exam
9.0
Conduct
exam
Send Result
Give Report
Manager
Book Lesson
Save Report
Send Invoice
Send account Report8.0
GenerateSend exam Schedule/
Send Result
5.0
Report
2.0
Conduct
Create
Invoice Send Report
Interview
Send Report
Send report
Take
Interview
Lesson Report
Book Lesson
3.0
Book
Lesson
Lesson Report
7.0
Conduct
Training
Train Client
Schedule Interview
1.0 6.0Schedule Training
Booking
Dept.Book Client Register
ClientDriving Service
Schedule
DriveInstructor
Client Info.
Car
Scheduling drive
7/31/2019 Ppsp Group 5
40/67
7/31/2019 Ppsp Group 5
41/67
Principles & Practices of Software Production Group Assignment Page 41 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 12-Process Specification
This includes description of data structure for some of the important processes in the A2
Motor Driving School System. Each of the records mentioned below corresponds to a table in
a central database. It gives information of the necessary and optional fields in the processing
of required data for the process fulfillment. Some of the processes are shown below and for
more details please look at the Level 0 and Level 1 diagram.
Using Structured English
Process: View Reports
Authorization = ID + Password
The reports will be shown according to the authorization. E.g. Manager can view details of
each and every instructor but vice- versa is not true.
Process: Student Info
Customer Record = Id+ Provisional Driving License No.+ Name+ Fathers Name+ Date of
Birth+ Permanent Address + Address of Correspondence+ Email + Instructor Id + Contact
no. + Date of joining the institution.
Process: Vehicles
Vehicle Record=Vehicle No. + Vehicle Model
Process: Lesson Cost
Cost=Type of lesson + discount.
Fare Record = Rout Number + Business Class (Fare) + Economy Class (Fare)
Process: Change Instructor
Record=Instructor Change no. + Old Instructor Name+ New Instructor+ Student Id
Process: Register Lesson
Record=Lesson No. + Lesson Cost+ Lesson Details
7/31/2019 Ppsp Group 5
42/67
7/31/2019 Ppsp Group 5
43/67
7/31/2019 Ppsp Group 5
44/67
Principles & Practices of Software Production Group Assignment Page 44 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
ER Diagram(A2 Motor Driving School)
Manager_I
d
NameDate of
Promotion
Inst_id
(Optional)
Stud_id
Date
Name
Stud_pdno
Inst_id*
Feedback_no*
Vehicle_no V_model
Manager
Stud_dob
Stud_padd
Stud_cadd
Booking_no*
Change_no*
has Rides
Vehicles
contains
Booking Dept. Schedules
Primary Key Stud_id
Booking_
no
Lesson_c
ost InstructorsForeign Key Inst_id*
Stud_id Date
Inst_id
Lesson_i
d
Inst_id
Inst_name
Inst_dob
Gender
Relation
Atribute
Inst_fnameInst_drevingln
o.Entity
Inst_mob Inst_payment
Page 1
7/31/2019 Ppsp Group 5
45/67
7/31/2019 Ppsp Group 5
46/67
7/31/2019 Ppsp Group 5
47/67
Principles & Practices of Software Production Group Assignment Page 47 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 15-Data Dictionary
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
Current Status, Test status, Final grade
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 & processnumber. It is represented by rectangle with rounded corners or a circle as shown in the
level 0 diagram.
E.g. Register Student
1.
Register
7/31/2019 Ppsp Group 5
48/67
Principles & Practices of Software Production Group Assignment Page 48 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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
Data Dictionary (LEVEL 0) for A2 Motor Driving School
Name Student
Description Student is the most important entity of the system. Student has
to be registered to the A2 motor driving system firstly to
obtain training.
Input data flow Student gives all required information about his/her name,
address, contact no, Email ID etc.
Output data flow Scheduling of the interview is done.
Table 4
Name Administrator
Description 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.Input data flow View, Update and Insert.
Output data flow Request for report.
Table 5
7/31/2019 Ppsp Group 5
49/67
7/31/2019 Ppsp Group 5
50/67
Principles & Practices of Software Production Group Assignment Page 50 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Name Lesson Booking
Description Before the lesson starts the student has to book the lesson.
Input data flow Student id, instructor id, lesson id, date etc.
Output data flow Booking Confirmed.
Data structure Student id[Number], Instructor Id[Number], Lesson
Id[Number], Date[number/text]
Table 9
Data stores:
Name Login record
Description Stores information of user name and password.
Input data flow Stores login details
Output data flow Provides user name and password
Table 10
Name Student Record
Description Store Student information
Input data flow Student id
Output data flow Student details
Table 11
Name Instructor Record
Description Stores the information of instructor
Input data flow Instructor id
Output data flow Instructor details, schedule details etc.
Table 12
7/31/2019 Ppsp Group 5
51/67
7/31/2019 Ppsp Group 5
52/67
7/31/2019 Ppsp Group 5
53/67
Principles & Practices of Software Production Group Assignment Page 53 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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.
7/31/2019 Ppsp Group 5
54/67
7/31/2019 Ppsp Group 5
55/67
7/31/2019 Ppsp Group 5
56/67
Principles & Practices of Software Production Group Assignment Page 56 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
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)
7/31/2019 Ppsp Group 5
57/67
7/31/2019 Ppsp Group 5
58/67
7/31/2019 Ppsp Group 5
59/67
Principles & Practices of Software Production Group Assignment Page 59 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Student
Register
form
Scheduling
Interview
7/31/2019 Ppsp Group 5
60/67
Principles & Practices of Software Production Group Assignment Page 60 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Dashboard
7/31/2019 Ppsp Group 5
61/67
Principles & Practices of Software Production Group Assignment Page 61 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Crystal
Report of
system
7/31/2019 Ppsp Group 5
62/67
Principles & Practices of Software Production Group Assignment Page 62 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 19-Programming Environment
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 TOOLS
DESIGN TOOLS DREAMWEAVER
MARKUP & PROTOTYPE HTML,CSS
PROGRAMING PLATFORM ASP.Net
DATABASE USED MICROSOFT ACCESS 2007
OS PLATFORM WINDOWS 7BROWSER INTERNETEXPLORER, FIREFOX,
SAFARI, GOOGLE CROME
Table 15
7/31/2019 Ppsp Group 5
63/67
Principles & Practices of Software Production Group Assignment Page 63 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Chapter 20-Testing
Testing the system means finding out the errors and components that are missing which isspecified 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 Testing: Unit testing is a done with the components individually having no
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 Date of Student Registration
Test case ID TbDOR_01
Purpose of test To take the input only in the form of dd-mm-yyyy.
Testing object Unit
Test Attribute Date of Registration(textbox)
Test focus Validation
Test type Unit
Test process Initial StateDate of Registration textbox isrequired to be filled.
Output expected
Accept only current date andin proper date format.
Test results Accept date in proper format and didnt accept past date.
Action No Action Required, working properly and take right input.
7/31/2019 Ppsp Group 5
64/67
Principles & Practices of Software Production Group Assignment Page 64 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Test case name Date of Examination
Test case ID TbDOE_02
Purpose of test To take the input only in the form of dd-mm-yyyy.
Testing object Unit
Test Attribute Date of Examination(textbox)
Test focus Validation
Test type Unit
Test process Initial State
Date of Examination
textbox is required to be
fill.
Output expected
Accept only current date and in
proper date format.
Test results Accept date in proper format and didnt accept past date.
Action No Action Required, working properly and take right input.
Field Name Table Name Expected Input ExpectedOutput
Net Result
Student
Stud_Id Student Character Error FailNumber No Error Pass
PunctuationMarks
Error Fail
Blank Error Fail
Stud_name/Stud_fname
Character No Error Pass
Number Error Fail
PunctuationMarks
Error Fail
Stud_dob Blank Error Fail
Date No error PassCharacter Error Fail
Number Error Fail
PunctuationMarks
Error Fail
Blank Error Fail
Stud_address Character No Error Pass
Number No Error Pass
PunctuationMarks
No Error Pass
7/31/2019 Ppsp Group 5
65/67
Principles & Practices of Software Production Group Assignment Page 65 of 67
Level 2 Asia Pacific Institute of Information Technology 2011
Field Name Table Name Expected Input ExpectedOutput
Net Result
Instructor
Inst_Id Instructor Character Error Fail
Number No Error Pass
PunctuationMarks
Error Fail
Blank Error Fail
Inst_name/Inst_fname
Character No Error Pass
Number Error Fail
PunctuationMarks
Error Fail
Inst_dob Blank Error Fail
Date No error Pass
Character Error Fail
Number Error FailPunctuationMarks
Error Fail
Blank Error Fail
Inst_address Character No Error Pass
Number No Error Pass
PunctuationMarks
No Error Pass
Field Name Table Name Expected Input ExpectedOutput
Net Result
Manager
Man_Id Manager Character Error Fail
Number No Error Pass
PunctuationMarks
Error Fail
Blank Error Fail
Man_name/Man_fname
Character No Error Pass
Number Error Fail
Punctuation
Marks
Error Fail
Man_dob Blank Error Fail
Date No error Pass
Character Error Fail
Number Error Fail
PunctuationMarks
Error Fail
Blank Error Fail
Man_address Character No Error Pass
Number No Error Pass
PunctuationMarks
No Error Pass
7/31/2019 Ppsp Group 5
66/67
7/31/2019 Ppsp Group 5
67/67