1 / 96

KKMS based on Software Engineering Evolution

Agenda of Session Overview. Software EngineeringSoftware Process iterationSoftware process modelsSoftware Testing Software ToolsSoftware EvolutionHistoryClient-Server ModelWeb TechnologiesJargons. What is software?. Definition: A computer program, which provides the instructions which

oakley
Download Presentation

KKMS based on Software Engineering Evolution

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. KKMS based on Software 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.

    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

    8. Generic Software Process Models

    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

    10. Spiral development 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) 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? 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 logic:sequence (e.g. a=0;b=5;); selection (e.g.if(c=true) k=5 else m=5;) ;iteration (e.g. while(k>0) k=j-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]

    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

    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

    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)

    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

    37. Server Technology Timeline

    38. 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

    41. KCC - Operating Procedure

    42. KCC - Operating Procedure

    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

    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

    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,Implementation,Acceptance Testing Data Entry and Data Porting Training Post Implementation services

    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 35*100 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

    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 Report:The 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

    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.

    83. Cumulative Call Statistics Summary Give Call Statistics for all States Give Call Statistics for a particular state

    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

    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.

    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

More Related