Software Development in the Digital Library Program. Digital Library Brown Bag Tamara Cameron David Jiao Oct. 22, 2004



Similar documents
(Refer Slide Time: 01:52)

SOFTWARE PROCESS MODELS

Object-Oriented and Classical Software Engineering

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

CPSC 491 Lecture Notes Fall 2013

Software Process Models. Xin Feng

Software Life Cycle Processes

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Development Methodologies

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CS4507 Advanced Software Engineering

How To Model Software Development Life Cycle Models

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

The most suitable system methodology for the proposed system is drawn out.

Software Engineering. An Introduction. Fakhar Lodhi

SWEBOK Certification Program. Software Engineering Management

Software Development Process

COMP 354 Introduction to Software Engineering

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Software Development Life Cycle

Unit I. Introduction

Today: Software Development Models (cont)

Lecture 3 Software Development Processes

An introduction to the benefits of Application Lifecycle Management

Why is RE for web-based software development easier?

Classical Software Life Cycle Models

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

How To Understand The Software Process

Advanced Software Engineering. Software Development Processes

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

JOURNAL OF OBJECT TECHNOLOGY

Maintainability-based impact analysis for software product management

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

2. Analysis, Design and Implementation

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Non-Technical Issues in Software Development

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

A Capability Maturity Model (CMM)

Software Development Processes. Software Life-Cycle Models

2. Analysis, Design and Implementation

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Software Project Models

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Real Time Embedded Software Development Using Agile Technology An Experience Report

Surveying and evaluating tools for managing processes for software intensive systems

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Agile Processes and Methodologies: A Conceptual Study

Software Development Methodologies

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Information Technology Policy

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice

Software Process for QA

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Software Development Life Cycle (SDLC)

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

CSE 435 Software Engineering. Sept 16, 2015

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

Software Process and Models

Software Life Cycles and Configuration Management

Title: Topic 3 Software process models (Topic03 Slide 1).

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

22 nd -24 th July 2015

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Tools for Managing and Measuring the Value of Big Data Projects

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment Marque Browne Manuel Honegger

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Software Development: The Waterfall Model

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

LECTURE 1. SYSTEMS DEVELOPMENT

Agile Software Engineering, a proposed extension for in-house software development

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Umbrella: A New Component-Based Software Development Model

Software Engineering

Introduction to Software Paradigms & Procedural Programming Paradigm

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Outline. Definitions. Course schedule

International Journal of Information Technology & Computer Science ( IJITCS ) (ISSN No : ) Volume 5 : Issue on September / October, 2012

Agile Projects 7. Agile Project Management 21

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich

Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO

PROJECT MANAGEMENT PLAN Outline VERSION 0.0 STATUS: OUTLINE DATE:

What is a life cycle model?

Software Quality Assurance in XP and Spiral - A Comparative Study

International Journal of Advance Research in Computer Science and Management Studies

Software Life Cycle. Management of what to do in what order

Certified Software Quality Engineer (CSQE) Body of Knowledge

When is Agile the Best Project Management Method? Lana Tylka

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Supporting Workflow Overview. CSC532 Fall06

Transcription:

Software Development in the Digital Library Program Digital Library Brown Bag Tamara Cameron David Jiao Oct. 22, 2004

Outline Custom Development in the DLP Overview of Digital Library Program Software Development Life Cycle Model Case Study Cushman Project Observations Recommendations

Reasons for Custom Development Field is relatively young. Early projects were experiments to determine the role, purpose and scope of digital library initiatives within parent organizations. Limitations of commercial software in managing large collections of heterogeneous electronic resources

Digital Library Architecture Content Digitization User/Client Network Metadata Extraction Search/ Browse/ Display Application Specific Functionalities Metadata Multimedia Content Repository Content Delivery

Staffing of Projects Technical staff are assigned to projects in one of three ways: Single, Large Projects (Variations2, EVIADA) Single Small Projects (FLI, Newton) Multiple Projects (Cushman, Letopis, DLXS)

Future Directions DLP are aware and actively working to improve the infrastructure Efforts Application Architecture: Java/Struts/Tomcat Source Code Management: CVS, ANT Testing and Maintenance: Bugzilla Analysis of the Development Life Cycles of different projects

Software Development Life Cycle Model (SDLCM) SD Activities: Coding/Debugging, Testing, Requirements, Maintenance, Deployment/Installation A SDLCM is a framework, selected by an organization, on which to map these activities.

Benefits of Using SDLCM Increasing quality Achieve conformance to requirements reduce the number of software defects mitigate risks associated with the software Reducing project cost and schedule provides a framework for systematic, incremental software process improvements reduces the cost and schedule of the testing, installation, and maintenance phases Improving manageability enhanced accuracy of project planning detailed means of tracking projects early measures of software quality improved repeatability of success stories

Common SDLCM BuildAndFix Waterfall Modified Waterfall Prototyping Waterfall Milestone Waterfall Spiral

BuildAndFix Vague planning and analysis, if any The working program is the only work product Appropriate for small programs written by one person Understandability and maintainability decrease rapidly with increasing program size

Waterfall Concepts Requirements Sequential Steps (Phases) Feedback Between Phases Documentation Driven Efficient when requirements are fully understood Design Forward progress through the phases flows down, like cascading water. Upward arrows defy gravity, require extra energy. Coding Testing Release Maintenance

Waterfall (cont.) Advantages Clearly defined phases, good documentation Easier Maintenance Disadvantages Lack of customer involvement Sequential and complete execution of phases often not desirable Product available very late in process (high risk of wrong product)

Modified Waterfall Prototyping Waterfall Build an example system to help elicit requirements Perfection of Prototype can take too much time Milestone Waterfall Milestone builds, dedicated to addition of key functionality Excellent for proving concepts when attempting a totally new technology Reduce risks by incorporate highest risk functionality into the earliest builds

Spiral Combination of prototyping with iterative development Seek feedback from customer Appropriate for big projects Not appropriate for database driven projects

Case Study Cushman Project Funded with an Institute of Museum & Library Services (IMLS) grant ~ 14,500 color slides, 1938-1969 Site launched 10/2003 and 03/2004 Functionalities Search, Browse and Display Controlled Vocabulary, Thesaurus http://webapp1.dlib.indiana.edu/cushman/

Success of Cushman Project Completeness of functionality High quality, few bugs Close to schedule Possible reusable code Experiences earned are precious

Cushman Development Life Cycle Content Digitalization User/Client Grant Proposal Network Metadata Extraction Metadata Digitization Metadata Metadata Repository Multimedia Content Search / Brows e/ Displa y Content Delivery Application Specific Functionalitie s Prototyping & Usability Testing Prototyping Requirements Spring 2000 Spring 2003 Fall 2001 Spring 2002

Cushman Development Life Cycle Content Digitalization User/Client Metadata Extraction Design Database Interface Metadata Repository Multimedia Content Search / Brows e/ Displa y Content Delivery Application Specific Functionalitie s Middleware Implementation Database Interface Middleware Testing Phase I Release April 2003 October 2003 August 2003 November 2003

Cushman Development Life Cycle Prototype & Usability Test Content Digitalization User/Client Requirements Design Interface Middleware Implementation Interface Middleware Metadata Extraction Metadata Repository Multimedia Content Search / Brows e/ Displa y Content Delivery Application Specific Functionalitie s Phase II Testing Release October 2003 Late Nov. 2003 March 2004 November 2003 February 2004

Cushman Development Life Cycle Maintenance

Summarization of Cushman Development Life Cycle Factors contributing to Success Effective Resource Management Commitment to Documentation Clear phases of Development Staged Release Choice of Technology Lessons Learned Lack of documentation templates Implementation Documentation Time management

Observations Time and Resource Constraints Not unique to DLP Models can be identified but are not planned Growing Pains Pros and Cons for programmers Pros: Organic Process, Creative, Lots of freedom Cons: Organic Process, Creative, Too much freedom

Recommendations Continue to work to formalize process Prototyping-Milestone-Waterfall recommended Look to Cushman for ideas developing project plans provide structure for current projects identify areas of common functionalities

Q & A

References Milstead, J., & Feldman, S. (1999). Metadata: cataloging by any other name. Online (January 1999). Available at: http://www.onlinemag.net/ol1999/milstead1.html Pasquinelli, A. (2002). The SUN Whitepaper on Digital Library Trends. Retrieved October, 2004 from: http://www.sun.com/products-nsolutions/edu/whitepapers/pdf/digital_library_trends.pdf Schmidt, M.E.C. (2000). Implementing the IEEE Software Engineering Standards Sams 2000 Software Engineering (1997).Dorfman, M. & Thayer, R. (Eds.). IEEE Computer Society Press @ 1997