CS 501: Software Engineering Fall 2000

Slides:



Advertisements
Similar presentations
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Advertisements

1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
CS 5150 Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 8 Requirements I.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 3 Feasibility Studies.
CS 501: Software Engineering
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
CS 5150 Software Engineering
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Repositories.
CS 5150 Software Engineering
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 3 Feasibility Studies.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 7 Requirements I.
CS 501: Software Engineering
CS CS 5150 Software Engineering Lecture 3 Feasibility Studies.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 7 Requirements I.
CS 5150 Software Engineering
CS 5150 Software Engineering
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
CS 501: Software Engineering
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 7 Requirements I.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Software Configuration Management
OptReg Optimum Time Schedule Generator and Registration System for Courses in a College/Unviersity Along with an optimum Finals Examination Schedule Generator.
System Analysis and Project Management Key terms and definitions Presentation.
Requirements Engineering
S/W Project Management
CS 4310: Software Engineering Lecture 3 Requirements and Design.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 3 Feasibility Studies.
Feasibility Studies CS 360 Lecture 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software Requirements Engineering CSE 305 Lecture-2.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering Management Lecture 1 The Software Process.
Basic of Project and Project Management Presentation.
1 CS 502: Computing Methods for Digital Libraries Lecture 19 Interoperability Z39.50.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 3 Feasibility Studies.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 8 Requirements Analysis and Specification.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Systems Development Life Cycle
CS CS 5150 Software Engineering Lecture 5 Feasibility Studies.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
CS SE370 Software Engineering Lecture 5 Feasibility Studies.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Database Systems Lecture 1. In this Lecture Course Information Databases and Database Systems Some History The Relational Model.
SWE 513: Software Engineering
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Feasibility Studies CS 560 Lecture 2 2/2/2016.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS 501: Software Engineering Fall 1999 Lecture 5 (a) Requirements Analysis (continued) (b) Requirements Specification.
Software Engineering Management
Exam 0 review CS 360 Lecture 8.
Managing the Project Lifecycle
CS 501: Software Engineering
Chapter 2 – Software Processes
CS 501: Software Engineering Fall 1999
Campus Locator – Definition Phase (May04-04)
Software Process Models and the feasibility study
Presentation transcript:

CS 501: Software Engineering Fall 2000 Lecture 3 (a) Feasibility Study (b) Requirements Definition

Administration Assignment 1: Look on the course web site Project teams: • If you have definitely chosen a project, please notify the Teaching Assistants with the names of your team members • If you do not have a team you can meet after class • Monday's recitations session will be to help the people who do not have projects form teams • We may ask teams to add extra members • A Teaching Assistant will be added to each team.

Feasibility Study Before beginning a project, a short, low-cost study to identify • Client • Scope • Potential benefits • Resources needed: staff, time, equipment, etc. • Potential obstacles Where are the risks? How can they be minimized?

Feasibility Study A feasibility study leads to a decision: go ahead do not go ahead think again In production projects, the feasibility study often leads to a budget request. In research, a feasibility study is often in the form of a proposal.

CS 501: Client In CS 501, you have two clients: • The client for the project • The professor for the course Can you satisfy them both?

Scope What are the boundaries of the project? CS 501 Examples: • Static web pages with open access on the Web [Web Profiler] • Used by the general public [Digital Collections] • Varying data formats [Legal Information] • Thousands of sensors [Data mining] • Support for Windows, Mac, Unix [SALSA]

Potential Benefits Why are you doing this project? Examples • Create a marketable product • Improve the efficiency of an organization • Control a system that is too complex to control manually • New or improved service • Safety or security • Get a good grade on CS 501

Resources Examples: CS 501 Staff: 5 to 7 students, with some help. How many hours per week? What skills do people have? Time: Must be completed by end of semester, including operational system, documentation, presentation Equipment and software: What special needs are there? Client: Will the client be sufficiently available and helpful?

Obstacles CS 501 projects Start-up time. Creating a team, scheduling meetings, acquiring software, learning new systems, ... Business considerations. Licenses, trade-secrets, ... Too ambitious. Nothing to show at the end of the semester. Changing circumstances. Client leaves the university, ... What else?

Good processes lead to good software Good processes reduce risk How to Minimize Risk? CS 501 Projects • Several target levels of functionality: required, desirable, optional • Visible software process: intermediate deliverables • Good communication within team and with Teaching Assistant Good processes lead to good software Good processes reduce risk

Feasibility Report A written document • For a general audience: client, financial management, technical management, etc. • Short enough that everybody reads it • Long enough that no important topics are skipped In CS 501, I am looking for a well written, well presented document.

Requirements Definition and Analysis System and Software design Programming and Unit Testing Integration and System Testing Operation and Maintenance

Example: Library of Congress (A Partial Failure) Outline Description The Library of Congress requires a repository system to store and make accessible very large amounts of highly varied material over long periods of time.

Chronology 1993-94 CNRI carries out research on architectures for digital libraries 1995-97 CNRI implements prototype repository for Library of Congress 1998 CNRI and Library of Congress carry out requirements definition

The Repository Repository Users Identification System Search System

Storage and Representation of Complex Objects Data Several representations: thumbnail image reference image archival image Metadata Each representation may have its own metadata

Repository: Research Achievements 1. CORBA implementation of repository access protocol. 2. Integration of persistent naming through handle system. 3. Use of structural metadata to describe complex objects, elementary typology. 4. Access management framework and implementation. 5. Applet-based middleware for user interfaces. 6. Information visualization program to view the structure of large collections.

Good Discoveries During Prototype • Structuring complex information in digital libraries • Data driven digital library interfaces • Comparison of object-oriented, relational, and file based storage systems • Naming and identification of library objects • Boundaries of required repository system

Bad Discoveries During Prototype • Resistance to change within Library of Congress • Technical weakness of Library of Congress • Gaps in CNRI architecture

Mistakes • Confusion of objectives (research and implementation) • Failure to involve all stakeholders • Over-ambitious (no proper feasibility study)

The Requirements Process Feasibility Study Requirements Analysis Requirements Definition Requirements Specification Feasibility Report System Models Definition of Requirements Requirements Document Specification of Requirements

Requirements Definition High-level abstract description of requirements: • Specifies external system behavior • Comprehensible by customer, management and users Should reflect accurately what the customer wants: • Services that the system will provide • Constraints under which it will operate

Library of Congress Requirements Study Team (all experienced): Librarian, Software Engineer (CNRI), Computing Project Leader (Library of Congress), + 2 others Advisors: Mailing list of about 20 knowledgeable stakeholders. Timetable: Preliminary report (2 months). Final report (1 month).

Functional Requirements Example: Library of Congress repository • Support for complex digital objects • Access management • Identification • Information hiding • Open protocols and formats • Integration with other systems (scope)

Object Administration System DRAFT OVERVIEW OF ITS SUPPORT FOR NDLP PRODUCTION AND DELIVERY OF AMERICAN MEMORY NDLP collections already released Coolidge collection (for repository test) NDLP collections in conversion Future NDLP collections Other applications and materials NDLP Workflow Tracking Support Current Storage Structure (in Unix files, by aggregate) Object Administration System ILS Repository Index Generation (including pre-processing) American Memory User Interface (retrieval, navigation, & display) AM user interface plus access management for objects/collections Other User Interfaces (e.g. RLG, OCLC, DLF partners) ILS OPAC Interface Supporting infrastructure Handle assignment & registration Handle resolution Handle-server NOW FUTURE

Non-functional Requirements Environment: • Estimates of sizes, numbers of users, etc. • Reliability and performance measures and targets Preferred: Example: Library of Congress repository • Hardware and software systems (e.g., IBM/Unix) • Database systems (e.g., Oracle) • Programming languages (e.g., C and C++)

Evolution of Requirements • If the requirements definition is wrong, the system will be a failure. • With complex systems, understanding of requirements always continues to improve. Therefore... • The requirements definition must evolve. • Its documentation must be kept current (but clearly identify versions).