Title: KKMS based on Software Engineering
1KKMS based onSoftware Engineering Evolution
2Agenda of Session Overview
- Software Engineering
- Software Process iteration
- Software process models
- Software Testing
- Software Tools
- Software Evolution
- History
- Client-Server Model
- Web Technologies
- Jargons
3What is software?
- Definition
- A computer program, which provides the
instructions which enable the computer hardware
to work. System software, such as Windows or
MacOS, operate the machine itself, and
applications software, such as spreadsheet or
word processing programs, provide specific
functionality.
- Computer programs and associated documentation
- Software products may be developed for a
particular customer or may be developed for a
general market - Software products may be
- Generic - developed to be sold to a range of
different customers - Bespoke (custom) - developed for a single
customer according to their specification
4Types of Software
- Software Classifications
- System software operating systems, drivers,
compilers, etc. - Application software Custom business apps.
- Engineering/Scientific software Mentor
Graphics, ANSYS. - Embedded software Cell phones, PDAs.
- Product software Word, Excel.
- Web Applications
- Artificial Intelligence software
5 What is software engineering?
- Software engineering is an engineering discipline
which is concerned with all aspects of software
production - Software engineers should
- adopt a systematic and organised approach to
their work - use appropriate tools and techniques depending on
- the problem to be solved,
- the development constraints and
- the resources available
6What is a software process?
- A set of activities whose goal is the development
or evolution of software - Generic activities in all software processes are
- Specification - what the system should do and its
development constraints - Development - production of the software system
- Validation - checking that the software is what
the customer wants - Evolution - changing the software in response to
changing demands - Examples of process perspectives
- Workflow perspective represents inputs, outputs
dependencies - Data-flow perspective represents data
transformation activities - Role/action perspective represents the
roles/activities of the
people involved in software process
7How Programs Are Usually Written
This is how the problem is solved now
The developers understood it in that way
The requirements specification was defined like
this
This is how the problem was solved before.
This is how the program is described by marketing
department
This, in fact, is what the customer wanted -)
That is the program after debugging
8Generic Software Process Models
(1) Waterfall Model
9Waterfall model problems
- The drawback of the waterfall model is the
difficulty of accommodating change after the
process is underway - Inflexible partitioning of the project into
distinct stages - This makes it difficult to respond to changing
customer requirements - Therefore, this model is only appropriate when
the requirements are well-understood
- Waterfall model describes a process of stepwise
refinement - Based on hardware engineering models
- Widely used in military and aerospace
- industries
10Spiral development
(2) Spiral Model
- Process is represented as a spiral rather than as
a sequence of activities with backtracking - Each loop in the spiral represents a phase in the
process. - No fixed phases such as specification or design -
loops in the spiral are chosen depending on what
is required - Risks are explicitly assessed and resolved
throughout the process
11Spiral model of the software process
12Spiral model sectors
- Objective setting
- Specific objectives for the phase are identified
- Risk assessment and reduction
- Risks are assessed and activities put in place to
reduce the key risks - Development and validation
- A development model for the system is chosen
which can be any of the generic models - Planning
- The project is reviewed and the next phase of the
spiral is planned
13The testing process
14Testing stages
- Unit testing
- Individual components are tested
- Module testing
- Related collections of dependent components are
tested - Sub-system testing
- Modules are integrated into sub-systems and
tested. The focus here should be on interface
testing - System testing
- Testing of the system as a whole. Testing of
emergent properties - Acceptance testing
- Testing with customer data to check that it is
acceptable
15What is CASE ? (Computer-Aided Software
Engineering)
Software systems which are intended to provide
automated support for software process
activities, such as requirements analysis, system
modelling, debugging and testing
- Upper-CASE
- Tools to support the early process activities
of requirements and design - Lower-CASE
- Tools to support later activities such as
programming, debugging and testing
16Functional tool classification
17What are the costs of software engineering?
- Roughly 60 of costs are development costs,
40 are testing costs. For custom software,
evolution costs often exceed development costs - Costs vary depending on the type of system being
developed and the requirements of system
attributes such as performance and system
reliability - Distribution of costs depends on the development
model that is used
18What are the attributes of good software?
The software should deliver the required
functionality and performance to the user and
should be maintainable, dependable and usable
- Maintainability
- Software must evolve to meet changing needs
- Dependability
- Software must be trustworthy
- Efficiency
- Software should not make wasteful use of system
resources - Usability
- Software must be usable by the users for which it
was designed
19 20Historical Evolution of Software Industry
- 1968-1980
- 70's Development of technical project management
technologies - Cost estimation ,COCOMO ,Detection of risky
factors (software complexity measures) , database
technologies - 1980-1990
- Appearance of prototyping technologies Water
fall model paradigm was discarded because it
turned out to be impossible to define users'
requirement perfectly. - 1985-1995
- Development of CASE(Computer Aided Software
Engineering) tools - Software Process ( Process programming ,CMM by
SEI ,SPI(Software Process Improvement) activities
) - Integrated Environments ? Tool Integration
- 1985-1999
- Object-oriented technologies Distributed
Computing Microsoft culture
21Emergence of Software Engineering
- Early Computer Programming (1950s)
- Programs were being written in assembly language
and were limited to about a few hundreds of
lines of assembly code. - High-Level Language Programming (Early 60s)
- High-level languages such as FORTRAN,
ALGOL, and COBOL were introduced.This reduced
software development efforts greatly. - Control Flow-Based Design (late 60s)
- Size and complexity of programs increased
further and programmers found difficulty to write
cost-effective and correct programs. Flow
charting technique was developed. only three
programming constructs are sufficient to express
any programming logicsequence (e.g. a0b5)
selection (e.g.if(ctrue) k5 else m5)
iteration (e.g. while(kgt0) kj-k) - Data Structure-Oriented Design (Early 70s)
- It is important to pay more attention to the
design of data structures of a program than to
the design of its control structure, called data
structure-oriented design techniques. - Data Flow-Oriented Design (Late 70s)
- Data flow-oriented techniques advocate that
the data items input to a system must first be
identified, to produce the required outputs.
22Data Flow Model of a Car Assembly Unit 70s
Door Store
Engine Store
Car
Partly Assembled Car
Chassis with Engine
Paint and Test
Fit Wheels
Fit Doors
Fit Engine
Assembled Car
Chassis Store
Wheel Store
23Object-Oriented Design (80s)
- Object-oriented technique
- an intuitively appealing design approach
- natural objects (such as employees,
pay-roll-register, etc.) occurring in a problem
are first identified. - Relationships among objects
- such as composition, reference, and inheritance
are determined. - Each object essentially acts as a data hiding (or
data abstraction) entity.
24Evolution of Design Techniques
Object-Oriented
Data flow-based
Data structure-based
Control flow-based
Ad hoc
25Evolution of Other Software Engineering Techniques
- life cycle models,
- specification techniques,
- project management techniques,
- testing techniques,
- debugging techniques,
- quality assurance techniques,
- software measurement techniques,
- CASE tools, etc.
26Client/Server systems
- Operate in a networked environment
- Client Workstation (usually a PC) that requests
and uses a service - Server Computer (PC/mini/mainframe) that
provides a service. For DBMS, server is a
database server
272-Tier Architecture Client Server
A 2-Tier architecture contains a presentation
tier and an applicationdata tier.
Application tier (server) performs processing on
behalf of the client and sends it the results to
display it is also responsible for any data
storage
Presentation tier or Client interacts with the
user and sends requests to the application layer
(server)
Network
28Example Web Browsing
- A classic example of the client server model is
the World Wide Web. Which relies on the Internet
to transfer data - A set of web servers hold HTML web pages on disk
and provide them to clients web browsers on
demand. - This is termed a 2 tier model because the web
server does not directly rely on other servers - The server is called the application tier
- The client is called the presentation tier
29Three-tier architectures
- In general, these include another server layer in
addition to the client and database server - This additional server may be used for different
purposes - Often application programs reside on the
additional server (the application server)
303-Tier Architecture
A 3-Tier architecture divides the server into two
parts a calculation server and a data storage
server (often a database)
Application tier Performs calculations on the
Data
Presentation tier Interacts with user
Data tier Stores Data
Network
Network
CCTM Course material developed by James King
(james.king_at_londonmet.ac.uk)
31Advantages of three-tier architectures
- Scalability middle tier can be used to reduce
the load on a database sever by using a
transaction processing (TP) monitor to reduce the
number of connections to a server, and additional
application servers can be added to distribute
application processing - Technological flexibility easier to change DBMS
engines middle tier can be moved to a different
platform. Simplified presentation interfaces make
it easier to implement new interfaces - Long-term cost reduction use of off-the-shelf
components or services in the middle tier can
reduce costs, as can substitution of modules
within an application rather than a whole
application
32Paradigm Shift in Business Trends
- Before 2000
After 2000 - Cost reduction
Profitable growth - Fast
Faster - Self contained
Globalization - Internal focus
Customer focus - Economies of Scale
One-to-One relationships - Technology is an afterthought Technology is
critical to
the business
33A Thought !
- Why need a Web Site ?
- You should at the very least have a presence
on the Web so that customers, potential
employees, business partners and perhaps even
investors can quickly and easily find out more
about your business and the products or services
you have to offer. - What is e-Commerce ?
- Electronic Commerce is merely a part of
E-Business and is limited essentially to
marketing and sales processes, and it uses
digital technologies such as internet and
bar-code scanners to enable the buying and
selling process.
34What is M-V-C ?
- By applying the Model-View-Controller (MVC)
architecture to an application, you separate core
business model functionality from the
presentation and control logic that uses this
functionality. Such separation allows multiple
views to share the same enterprise data model,
which makes supporting multiple clients easier to
implement, test, and maintain.
35Web Technologies
- ASP .net , C
- J2EE
- PHP
- Oracle 9iAS
36.NET vs. Java
XML Support
Browser only
JSP Servlet EJB
None
Host of disparate tools
Single, integrated tool
- Complete Client/server/service tools
- Native XML Web Service support
- Any programming language
- Unified programming model
- Best developer experience
- Server-centric
- Single programming language
- Multiple programming models
- Poor performance
- Vendor lock-in still a problem
37Server Technology Timeline
MDB
JSP
EJB
JAX
JDBC
JMS
WS DP
J2EE
J2EE
1996
1997
1998
1999
2000
2001
Microsoft
QC
Mar 1992
MTS/COM
SOAP TK
ASP
MSXML
VS .NET
MSMQ
ODBC
.NET
WinDNA
38Few Jargons..
- Middleware
- Software which allows an application to
interoperate with other software, without
requiring the user to understand and code the
low-level operations required to achieve
interoperability. The glue that holds
client/server applications together (e.g.)
MQ-Series, CORBA (O2K). - Groupware Application
- Groupware applications provide computer
support for group work (meetings, shared info,
coordinated work, e-mail etc both synchronous
and asynchronous work). - ERP Enterprise Resource Planning
- Facilitates flow of information among
different functions and different locations - Across production, HR, marketing, finance, ..
- Central repository of data
- Integration of application onto a common platform
- (e.g.) SAP, Oracle, BAAN, PeopleSoft, J.D.
Edwards - Knowledge Management KM
- Create , Improve , Enhance and Manage knowledge
as an asset
39Kisan Knowledge Management System
40Kisan Call Center (KCC)- Setup
- Kisan Call Centers - Operational since 21st Jan
2004
- Established to provide easy access point to
farmers, all over the country and in their local
languages. Farmers can call up in KCC and enquire
about the various queries/ problems related
related to the Crops, Seeds, Fertilizers,
Agriculture Commodity Prices, Pesticides,
Horticulture, Veterinary, etc free of cost - 11 nodes, 116 seats, 21 Languages
- Total 135 Level II experts are there for
answering the queries of farmers
41KCC - Operating Procedure
KCC offers three levels of interaction/support
for farmers (Level 1, Level 2 Level 3)
- Level-I
- Professionally managed Call Centers agents (CCAs)
respond to calls of farmers and answer their
queries. - CCAs record name, address, contact details,
query, type/subject of call, status of the call
etc. in a suitable format. - If a query cannot be resolved by CCA, it is
referred in a conference call to an expert for
level II support.
42KCC - Operating Procedure
- Level II
- Scientists from various Agriculture Institutes as
Level II support would answer the calls which
cannot be responded by Level I - Calls pertaining to a particular stream of
Agriculture are escalated to the expert as Level
II support. - If due to any reason, it cannot be taken/resolved
by Level II, it would be escalated to level III (
concerned Directorate). - Level III Concerned Directorate
- Answers from level III support are sent by post
or any other suitable means to the caller within
48 hrs. by the nodal officers on the address
noted by the call center agents, and the query is
then closed.
43Kisan Knowledge Management System (KKMS) - Need
- Quick response to minimize call holding
- Increased accuracy
- Consistency in overall operation
- Knowledge Management
- Information capture
44KKMS - Objective
- To make maximum use of Kisan Call Center
initiative by capturing and managing the vast
amount of data generated during interaction with
farmers. - To set up the Kisan Knowledge Management System
as a vehicle to manage information more
efficiently and help in increasing the efficiency
of call center Services. - To ensure that each and every query is followed
till its completion and the information collected
in the Call Centres is properly analysed and
processed for two-way interaction.
45KKMS - Intent
- To provide a ready reference for Call Center
Agents, which can be accessed quickly. - To make the replies given by CCAs more consistent
and accurate. - To make proper use of the huge amount of
authentic field data generated in the process. - To structure the vast information available with
Ministry of Agriculture to make it available for
the Kisan Call Center operations as well as for
general user through a structured database.
46KKMS - Key Features
- Multiple search methods
- Product, platform or category specific search of
solutions. - Finding matching statement/solutions.
- Finding related statement /solutions.
- Creating and searching by multiple solution types
- Solution authoring features. Categorizing of
solutions. - Adding attachments,External links and comments to
solutions. - User defined search result order.
47KKMS Key Features
- Solution scoring.
- Facilitates efficient response to customer
inquiries by experienced and inexperienced
alike. - Reduce agent training time.
- Direct access by the users to knowledge base
without contacting the agent.
48Knowledge Portal Views
- Farmer/Users
- Knowledge source
- Field inputs
- DAC
- MIS
- Trend Analysis for policies procedures
Knowledge Management System
- Agent
- Knowledge dissipation
- Experts
- Technical inputs
- Technical review
- Role Based Access
- Internet as medium of access
49KKMS - Users
- Call Center Agents (CCAs) Will respond to
farmers queries by using KKMS - Experts Answers farmers queries incase CCAs
not able to handle the same. Will analyze the
data and also upload information in KKMS. - DAC Officers Will use KKMS to access MIS Report
which will give details of KCC. - Farmers - will use the KMS to access various
information related to agriculture, the new
policies launched by government and how this
policy is helpful to farmers.
50KKMS Data Structure
51KKMS Data Model
- Agriculture can be classified in two following
branches - - Agriculture/Horticulture crops
- Animal Husbandry
- Fisheries.
- Agriculture/Horticulture Crops can cover
following dimensions- - Types of Crops
- Agriculture Practices
- Classification of the crops as Annual, Biennial
or Perennial - Market Information
- Weather
- Geographical Location
- Soil Category, etc
- Each Crop type is having various dimensions
- Similarly different operations will be followed
for Animal Husbandry and Fisheries
52Workflow
53If CCAs are unable to revolve farmers Query,
call will be forwarded to L2
- Farmers
- Query CCAs
- Read New Policies, Market Information, Price
Information, FAQs
CCAs/Agriculture Experts (L1) Answer farmers
queries
- Nodal Agencies (L2)
- Review L1s queries
- Input Data
- Extract MIS reports
- Enter good practices
- Enter New Diseases
- Day to day current information
KKMS
L3 Experts for each Topic
- DAC
- Read MIS Reports
- Publish policy decision
- Other stakeholders
- Agricultural Officers
- Scientists,Futures Stock
- Agricultural Market Traders
If L2 are unable to revolve farmers Query, call
will be forwarded to L3
54KKMS Project Implementation Phases
- Supply and Installation of Hardware components
- Supply and Installation of System Software
- Acceptance Testing of Hardware and System
Software - Application Development and Implementation
- SRS,HLD,LLD,Coding,Unit Test,System
Test,Integration Test Specifications,Testing,Imple
mentation,Acceptance Testing - Data Entry and Data Porting
- Training
- Post Implementation services
55(No Transcript)
56J2EE components
- The J2EE specification defines the following
- Application clients and applets are
components that run on the client. - Java Servlets and Java Server Pages
(JSP) technology components are Web components
that run on the server. - Enterprise Java Beans (EJB) components
(enterprise beans) are business components that
run on the server.
57Server Communications
58Web Tier and J2EE Applications
59Modules
- Registration
- Login
- Single Sign On (SSO) Module
- Administration
- Access Module
- MIS Reports Module
- Site Analysis Module
- Search Module
- User Interface
60About MVC Architecture
- The Modal View Controller separates Application
Data (contained in the model) from graphical
presentation components (the view) and the input
processing logic (the controller).
61Additional Modules
- DMS Module (Document Management System)
- for internal Workflow Approval or Audit Trial
- Middle ware
- flexible enough to get incorporated with new set
of databases, which can be of different nature
62Need for Middleware ?
- Middleware is software that connects two
otherwise separate applications. For example, a
middleware product may link a database system to
a Web server. This allows users to request data
from the database using forms displayed on a Web
browser. It's also known as plumbing because it
connects two sides of an application and passes
data between them. - To have flexibility of integrating the Databases
of different kinds in future . - Also, the existing MIS application shall be
integrated with the now being constructed KKMS
system.
63Data Modal
64Data Structure
- It can be assumed that there are
approximately 35100 matrix with X-coordinate
having 35 agricultural practices and Y-coordinate
having the crop types (12 crop types each with
about 8 different crops). The database design
will be done based on this matrix. This attribute
mapping has to be done relationally according to
RDBMS standards. However the structure should be
highly scalable.
65Data Structure (Cont)
- As per the Agriculture Experts, the Agriculture
can be classified into following branches - 1. Crops/Horticulture
- 2. Animal Husbandry
- 3. Fishery
-
- The Crop type can cover following dimensions
-
- 1. Types of Crops
- 2. Agriculture Practices
- 3. Classification of the crops as Annual,
Biennial or Perennial - 4. Market Information
- 5. Weather
- 6. Geographical Location
- Soil Category
66- In our database fields will be related to each
other. Fields from one table may be related to
fields from other tables. Some examples of
relationships are - - Spacing between seeds depends on the
soil type, planting system. - Amount of irrigation depends on Soil
type, crop type - Selection of site for sowing seeds
depends on Topography of the area, weather, and
soil type. - Amount of fertilizers to be applied depends on
water availability/irrigation, soil type, crop
type, planting system.
67- In day to day practice adopted by the land record
department of states a Farmer holding a land is
given a Unique Field Number/KHASRA Number
/Revenue Number/Survey Number depending on the
prevailing practices.
68- Based on the above Khasra Number, entire
information can be retrieved from the land record
database viz. name of the farmer, village,
Tehsil, District, State, Area covered in
Hectares, Fertility of the Soil, Silt Yield
Index, etc. - The Silt Yield Index is calculated based on the
following parameters - Slope,Land Use,Depth,Texture,Erosion, Surface
Condition, Management
69SYI Index Calculation(Silt Yield Index)
70MIS Report Generation Software
KCC MIS Report Generation software is developed
with the view that different stake holders can
access MIS Reports of KCC for Qualitative
Analysis.
71Types of Reports in KCC MIS
- Cumulative Escalation Summary Call Escalation
Statistics from 21st Jan04 to current date. User
can choose the state or can view the consolidated
data. - Monthly Escalation Summary Call Escalation
Statistics month wise. User can choose the state
he/she want to view or can also view the
consolidated data. - Cumulative Call Statistics Summary Call
Statistics from 21st Jan04 to current date. User
can choose the state he/she can to view or can
also view the consolidated data. - Monthly Call Statistics Give call statistics
month wise. User can choose the state he/she want
to view or can also view the consolidated data. - Call Detail Report The report gives the detail
of questions addressed in the call center and
answers given for that particular question. The
report has been design in such a pattern that
user can view only one month, state wise record,
at a time. This has been limited to one month at
a time - Daily Call Detail ReportThe report gives the
district wise call detail of a state in a
particular day. - Crop Classification Report User can view the
crop wise details of a state in a particular
state. - Hourly Call Detail Report The report gives shift
wise call details.
72Home Page of KCC MIS
73Cumulative Call Escalation Statistics
- Call Escalation Statistics from 21st Jan04 till
date of All states - Call Escalation Statistics from 21st Jan04 till
date for a particular state
74(No Transcript)
75(No Transcript)
76(No Transcript)
77(No Transcript)
78Month Wise Call Escalation Statistics
- Give Report for a particular Month for All States
- Give Report for a particular Month for a
particular state.
79(No Transcript)
80(No Transcript)
81(No Transcript)
82(No Transcript)
83Cumulative Call Statistics Summary
- Give Call Statistics for all States
- Give Call Statistics for a particular state
84(No Transcript)
85(No Transcript)
86(No Transcript)
87(No Transcript)
88Month wise Call Statistics
- Give Call statistics for a particular month for
all states. - Give Call statistics for a particular month for a
particular states
89(No Transcript)
90(No Transcript)
91(No Transcript)
92(No Transcript)
93Call Detail Report
- Give Detail Report between two dates for a
particular state - Give Detail Report between two dates for a
particular state for a particular district.
94(No Transcript)
95(No Transcript)
96Next revolution in software?
- Web services are the next revolution in
software - Conclusion
- The software development and maintenance
processes, which I prefer to unify and call
software evolution, are key to managing
computerization. - In my view it is key to our survival in
this computer age, -
- because first man made software and now software
makes US!
97