KKMS based on Software Engineering - PowerPoint PPT Presentation

1 / 96
About This Presentation
Title:

KKMS based on Software Engineering

Description:

ASP .net , C#. J2EE. PHP. Oracle 9iAS. KKMS based on Software Engineering & Evolution Slide 36. Host of disparate tools. Single, integrated tool .NET vs. Java ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 97
Provided by: ians115
Category:
Tags: kkms | asp | based | engineering | hosting | net | software | uk | web

less

Transcript and Presenter's Notes

Title: KKMS based on Software Engineering


1
KKMS based onSoftware Engineering Evolution
2
Agenda of Session Overview
  • Software Engineering
  • Software Process iteration
  • Software process models
  • Software Testing
  • Software Tools
  • Software Evolution
  • History
  • Client-Server Model
  • Web Technologies
  • Jargons

3
What 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

4
Types 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

6
What 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

7
How 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
8
Generic Software Process Models
(1) Waterfall Model
9
Waterfall 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

10
Spiral 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

11
Spiral model of the software process
12
Spiral 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

13
The testing process
14
Testing 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

15
What 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

16
Functional tool classification
17
What 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

18
What 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
  • Software Evolution

20
Historical 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

21
Emergence 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.

22
Data 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
23
Object-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.

24
Evolution of Design Techniques
Object-Oriented
Data flow-based
Data structure-based
Control flow-based
Ad hoc
25
Evolution 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.

26
Client/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

27
2-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
28
Example 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

29
Three-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)

30
3-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)
31
Advantages 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

32
Paradigm 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

33
A 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.

34
What 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.

35
Web 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

37
Server 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
38
Few 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

39
Kisan Knowledge Management System
  • Overview

40
Kisan 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

41
KCC - 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.

42
KCC - 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.

43
Kisan Knowledge Management System (KKMS) - Need
  • Quick response to minimize call holding
  • Increased accuracy
  • Consistency in overall operation
  • Knowledge Management
  • Information capture

44
KKMS - 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.

45
KKMS - 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.

46
KKMS - 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.

47
KKMS 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.

48
Knowledge 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

49
KKMS - 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.

50
KKMS Data Structure
51
KKMS 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

52
Workflow
53
If 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
54
KKMS 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)
56
J2EE 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.

57
Server Communications
58
Web Tier and J2EE Applications
59
Modules
  • Registration
  • Login
  • Single Sign On (SSO) Module
  • Administration
  • Access Module
  • MIS Reports Module
  • Site Analysis Module
  • Search Module
  • User Interface

60
About 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).

61
Additional 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

62
Need 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.

63
Data Modal
64
Data 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.

65
Data 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

69
SYI Index Calculation(Silt Yield Index)
70
MIS 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.
71
Types 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.

72
Home Page of KCC MIS
73
Cumulative 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)
78
Month 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)
83
Cumulative 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)
88
Month 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)
93
Call 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)
96
Next 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
  • Thanks
Write a Comment
User Comments (0)
About PowerShow.com