1 AIAI The University of Edinburgh Project Management for KBS Projects.

Slides:



Advertisements
Similar presentations
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Advertisements

CSC340: Tutorial 1 Software Lifecycles TA: Yuan An Date: 9:00-10:00am, Fri. Oct. 3, 2003 Location: BA1130.
Lecture # 2 : Process Models
Software Process Models
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Project Management
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
CSE 470 : Software Engineering The Software Process.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Alternate Software Development Methodologies
Chapter 6: Design of Expert Systems
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Lecture 13 Revision IMS Systems Analysis and Design.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Introduction to Systems Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Chapter 3 Software Processes.
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
S/W Project Management
CSI315 Web Technology and Applications
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
LECTURE 1 What does a Business Analyst do? IFS 231 Business Analysis.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
[ §3 : 1 ] 2. Life-Cycle Perspective Overview 2.1 Motivation 2.2 Waterfall Model 2.3 Requirements in Context.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Software Engineering Management Lecture 1 The Software Process.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
Systems Life Cycle A2 Module Heathcote Ch.38.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
COMM89 Knowledge-Based Systems Engineering Lecture 8 Life-cycles and Methodologies
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Prototyping Rapid software development to validate requirements.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Software Development Life Cycle (SDLC)
© Bennett, McRobb and Farmer 2005
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Rekayasa Perangkat Lunak Part-6
Software Engineering Management
Introduction to Software Engineering
Software life cycle models
CS310 Software Engineering Lecturer Dr.Doaa Sami
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Rapid software development
Information Systems Development (ISD) Systems Development Life Cycle
Presentation transcript:

1 AIAI The University of Edinburgh Project Management for KBS Projects

2 Content of this lecture –What are the issues? –Conventional software development –How different is a KBS? –Waterfall life-cycle –Prototyping life-cycle –Knowledge engineering methodologies –KADS methodology –Spiral life-cycle

3 What are the issues? Management of the overall process of developing knowledge-based systems. –from identification and selection of applications –through requirements and knowledge capture, analysis, design, implementation and installation –to maintenance and decommissioning of systems Planning, controlling and monitoring of –activities –products –resources (including staff)

4 Conventional Software Development Any software project has –Technical activities Requirements capture and analysis, design, coding, testing, etc. –Technical products Final deliverables - the system, training manuals, design documentation, etc. Intermediate products - requirements specification, logical design, etc. –Management activities Planning, controlling and monitoring the work of the project. –Management products Plans, reports and other control documents.

5 Are Conventional Methods Relevant? Software development life-cycle models play a central role in the management of a project. Technical methods specify –notations –techniques –guidelines Life-cycle models provide guidance on –What activities need to be carried out? –In what order the activities need to occur? –What products should be produced? Well-accepted for development of conventional applications –Relevant to knowledge-based applications?

6 How different is a KBS? The existing real-world processes are not as explicitly available as they are for conventional systems –Often based on tacit knowledge in someone’s head Difficult to articulate Unstructured? The existing real-world process is often highly context dependent on the real world –Incomplete specification - ill-specified system

7 Problems arising from differences Difficult to observe existing process –More time needs to be spent on capture and analysis –Difficult to size and cost project until specification is well underway –Difficult to validate the knowledge in the specification High context dependencies on real world may lead to more frequent changes in requirements –during development –during subsequent use (more frequent maintenance)

8 Other problems Applications often provide interactive decision support –complex human computer interactions Novel application area –harder to predict impact of system –leads to business risks Novel / complex computational structures and processes –computational viability harder to predict –leads to technical risks

9 Waterfall Life-cycle Model Conventional approach to software engineering Maintenance Validation Coding Design Requirements analysis Scoping and feasibility study  Advantages qModularity qVerification of each stage

10 Problems with the Waterfall Model Assumes the perfect specification Too prescriptive - basically sequential –limited iteration Late detection of errors –has significant impact on costs Exclusion of end users and clients Takes little account of prototyping Problems are aggravated for KBS –due to an incomplete and changing specification

11 Prototyping Prototype - a trial executable version of the prospective system Can be applied both to conventional and KB applications Several approaches –Rapid prototyping –Incremental prototyping –Throw-away prototyping Find out what technology can do Aid to knowledge acquisition Most widely used approach to KBS development

12 Rapid Prototyping Development methodology / life-cycle model No initial detailed specification required Problems with rapid prototyping –Proper analysis may be neglected Relies on intuition of developers The danger of hacking-and-patching –Difficulty of maintaining an undocumented system –Difficulty of managing project Development tends to be ad-hoc and unplanned No verifiable milestones When is it finished? When is it "right"?

13 Incremental Prototyping Development methodology / life-cycle model Also called structured prototyping Combination of rapid prototyping and the waterfall life- cycle model System developed in increments of functional capability Problems with incremental prototyping –Lack of long term planning –Tempting to fall into "code-and-fix" model –May commit too many resources into a wrong solution

14 Throw-away Prototyping Used in conjunction with another methodology / life-cycle model Exploratory prototypes –"prototyping the specification" –allow developer to understand application –users to see capability of system –a communication vehicle for ideas, expectations and requirements Experimental prototypes –"prototyping the design" –test feasibility and adequacy of a design idea

15 Which approach to KBS development? Waterfall life-cycle model –has some drawbacks Rapid prototyping –many problems –but has been the most dominant approach Incremental prototyping –more recent approach –but still has drawbacks Other life-cycle models? –Spiral / Cyclic –Product-oriented –Risk-driven

16 Knowledge Engineering Methodologies ESPRIT Projects –KADS –VITAL UK Government - CCTA –GEMINI Management Consultancies –Ernst & Young - STAGES –Coopers & Lybrand - Summit-DK –Andersen Consulting - Model-1 –etc

17 CommonKADS - Overview Model-based development methodology for KBS Cyclic life-cycle model for project management Comprehensive –from application selection and impact assessment –to physical design and testing Support tools

18 Overview of the CommonKADS Model Set

19 Why a Modelling Approach? Different perspectives on knowledge –who, what, how, when, where, why Different levels of abstraction –organisation, process, expertise, system design Allows greater management control of process Provides common basis for communicating Allows reuse of structure and content

20 Model Development Initial step is to identify models to be developed –may need several instances of some models “as-is” models and “to-be” models –not all models may be required for all projects Models are persistent and evolve –form part of the deliverables –essential for maintenance

21 Project Management Activity Cycle Plan Next Cycle Review & Commit Refine Objectives Generate Alternative Approaches Identify Approach Constraints Eliminate Untenable Approaches Identify & Document Risks Risk Analysis Select Approach Generate Plan Agree Acceptance Contract Monitor Development Acceptance Assessment Review Against Expected Progress Monitor Review Risk Plan

22 Risks Technical, business, project –technology, financing, users Evaluate Likelihood and Impact –low/medium/high Take steps to insure against any risks that are medium/high likelihood and medium/high impact

23 Model States States are used to plan and control the development of a model States are used to indicate –landmarks (associated with cycle review) –milestones (delivered to client) –obligatory states (must be produced due to quality implications)

24 Qualitative State Values Qualitative Value –empty –requirements identified –constraints identified –inputs identified –identified –described –verified –validated –completed –discarded –signed-off

25 Summary KBS projects are different from conventional software projects –knowledge based –knowledge is not easily available –knowledge may be context dependent Approaches to project management –Waterfall model –Prototyping rapid prototyping incremental prototyping throwaway prototyping –Cyclic management activity model