CSE403 Software Engineering Autumn 2000 Requirements

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

Prescriptive Process Models Developed to bring order and structure to the software development process. To get away from the chaos of most development.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
CS CS 5150 Software Engineering Lecture 5 by Stephen Purpura Matching Process to Risk.
1 Introduction to System Engineering G. Nacouzi ME 155B.
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
S/W Project Management
Chapter 2 The process Process, Methods, and Tools
IT Systems Analysis & Design
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
Understand Application Lifecycle Management
OHT 7.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 7.1.
Installation and Maintenance of Health IT Systems
Software Requirements Engineering CSE 305 Lecture-2.
Software Requirements Engineering: What, Why, Who, When, and How
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
Step 5: Complete Your Project. Setting the scene Suppose you have been running a project to write a small piece of computer software for a business. The.
Software Engineering for Capstone Courses Richard Anderson CSE 481b Winter 2007.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Models and Diagrams. Models A model is an abstract representation of something real or imaginary. Like a map, a model represents something A useful model.
Software Requirements Specification Document (SRS)
Formal definitions written in the manual.  Written specification  External product of the Architect  Details what the user sees  Does not detail what.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
APPULATE IMPLEMENTATIONS. AMAT VICTORIA CURAM (“VICTORY FAVORS THE PREPARED”) Q: Is any System Implementation really “easy”? A: Easy is a relative term,
CSE403 Software Engineering Autumn 2001 Gary Kimura Lecture #2 October 3, 2001.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
Software Engineering cosc 4359 Spring 2017.
How to get good commercial software built
Software Engineering Process
CSE403 Software Engineering Autumn 2000 Prototyping
User-centred system design process
Integrating Quality Activities in the Project Life Cycle
Iterative and Agile Development
Software Engineering and Best Practices
Prototype Model Lecture-4.
Software Process Models
Algorithm and Ambiguity
Chapter 3: The Project Management Process Groups: A Case Study
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
IT Systems Analysis & Design
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Chapter 2: Operating-System Structures
Chapter 2 Software Processes
CIS12-3 IT Project Management
FOUNDATIONAL CONCEPTS
Software life cycle models
Process Models Coming up: Prescriptive Models.
Fundamental Test Process
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 5 Architectural Design.
Introduction To software engineering
CSE403 Software Engineering Autumn 2000 Design (Overview)
CSE 303 Concepts and Tools for Software Development
Lesson 1 Understanding Software Quality Assurance
Welcome to Corporate Training -1
CSE403 Software Engineering Autumn 2001
CSE403 Software Engineering Autumn 2000 Requirements
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CSE403 Software Engineering Autumn 2000 More Testing
CSE451 Virtual Memory Paging Autumn 2002
Software Engineering Process
Software Engineering Lecture 17.
Human Computer Interaction Lecture 14 HCI in Software Process
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CSE403 Software Engineering Autumn 2000
Chapter 2: Development process and organizations
Formal Methods Lecture 16 March 22, 2011 CS 315 Spring 2011
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Information system analysis and design
Presentation transcript:

CSE403 Software Engineering Autumn 2000 Requirements CSE 403 Autumn 2000 CSE403 Software Engineering Autumn 2000 Requirements Gary Kimura Lecture #4 October 2, 2000 October 2, 2000

Today Two words that bear repeating “Risks” and “Constraints” Finish the remainder of Wednesday’s talk A quick word about runtime stack sizes NT daily build and dog food clarification NT albatross Specifying requirements What makes up a requirement What is not in a requirement Ways of specifying requirements One person’s requirement is usually someone else’s design

Some angles on requirements What vs. How System requirements vs. Software requirements Functional vs. non-functional Requirements change Keep it realistic Expect unintended side affects (i.e., customers will use the system in ways you can never imagine)

Examples of … Successful projects that met their requirements Caller ID, Call forwarding, etc. TCAS Past failures or future failures (?) Therac-25 (An Investigation of the Therac-25 Accidents, by Nancy Leveson and Clark S. Turner, 1993) Computerized radiation therapy machine Did not follow proper software engineering practices Internet security Tower of Babel

What should be in a requirement Desired effects of the system Know your intended customers and speak their language Likewise know the implementers and speak their language Justify your requirements so that the next person understands your reasoning Expect the requirements (goals) to change, due to customer changes, market place changes, technological changes Expect the team to change during the product cycle. One of the hardest tasks is to replace people in the middle of a project

What should be left out Practically anything the customer doesn’t need to know to use the system Implementation details Over vs. under specified requirements The Ten Commandments contain 297 words. The Bill of Rights is 463 words. Lincoln’s Gettysburg Address is a mere 266 words. A recent federal directive to regulate the price of cabbage is 26,911 words.

How to specify requirements Natural Language to Structured Natural Language to Formal notation It is an iterative process, a good requirements writer bridges the gap between customer and implementer Any method for dictating requirements is only as good as the people are willing to use it

Who writes the requirements and has major input Program Managers Customers Software Design Engineers Software Test Engineers Performance Engineers Realistic KISS

NT Lessons NT early days vs. later Natural Language Iterative with many redirections Various layers OS UI Compatible and natural progression Current and proven technology, not bleeding edge technology Cairo and OFS Sanity check

Class Project Need a plan with milestones Model Requirements Design Don’t dwell on the exact model Division of labor is important Making sure you have a roadmap is important Requirements Important to get this written down Keep this realistic Expect them to change (not the actual API but definitely the environment and demand on the system will change) Design This is where parallel development really starts Communication is still key

More on the class project Coding and component testing Integration and system testing Performance tuning Deployment and maintenance (if this were a project that has real customers outside of this class and more than one version)

Next time Wednesday Friday (Project day) Prototyping Need to turn in your project requirements Then next Friday need project plans for each sub-group. More definition of what each sub-group needs to be doing