CMSC 345 Fall 2000 Software Design and Development.

Slides:



Advertisements
Similar presentations
Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Advertisements

Lecture 1: Software Engineering: Introduction
Lecture 2 1 Introduction to Software Engineering.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Static Structure: Process Description
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
1 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
Software Configuration Management
Software Engineering II
SWE Introduction to Software Engineering
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
CSC230 Software Design (Engineering)
Effective Methods for Software and Systems Integration
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
Software Engineering Methodologies (Introduction)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
T Project Review RoadRunners [PP] Iteration
SIUE Injury Tracking System Project Plan. Team Members: Robbie Marsh Robbie Marsh –Project Manager/Webmaster Ken Metcalf Ken Metcalf –Lead Programmer.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Lecture 1 Introduction to Software Engineering
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
CS451 - Lecture 11 CS451 Introduction to Software Engineering Yugi Lee FH #560D (816)
CS 111 – Nov. 22 Chapter 7 Software engineering Systems analysis Commitment –Please read Section 7.4 (only pp ), Sections –Homework #2.
1.1 The Evolving Role of Software
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
CMSC 345, Fall CMSC 345 Software Design and Development Fall 2003 Section 0101 Ms. Susan Mitchell Leave Your Ego at the Door!
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
Latifa AlAbdlkarim King Saud University October,2009.
SWE311_Ch01 (071) Software & Software Engineering Slide 1 Chapter 1 Software and Software Engineering Chapter 1 Software and Software Engineering.
Software Engineering (CSI 321) Introduction to Software Engineering 1.
1 EE29B Feisal Mohammed EE29B: Introduction to Software Engineering Feisal Mohammed Ph: x3156.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
CPSC 871 John D. McGregor Process – an introduction Module 0 Session 3.
CS223: Software Engineering Lecture 2: 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.
CPSC 372 John D. McGregor More EPF Module 2 Session 4.
Chapter Eighteen Proposition of the Mythical Man Month: True or False?
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
The Software Engineering Process Discussion Slides.
Rekayasa Perangkat Lunak Kuliah 2. Outline of this presentation Attributes of Good Software Why Software Engineering ? What is Software Product ? Software.
Part 1 Introduction to Software Engineering 1 copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
The Information Systems Development Processes Chapter 9.
CPSC 872 John D. McGregor Session 13 Process. Specification and design problem solution specification implementation specification.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Software Configuration Management
Rekayasa Perangkat Lunak Part-2
Software What Is Software?
Software Engineering (CSE 314)
Software Myths Deep Mann.
Chapter : Introduction to Software Engineering
Rekayasa Perangkat Lunak
Overview: Software and Software Engineering
Software Testing and Maintenance Maintenance and Evolution Overview
CMPE 412 Software Engineering
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
The Software Engineering Process
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Rekayasa Perangkat Lunak
Presentation transcript:

CMSC 345 Fall 2000 Software Design and Development

Instructor Instructor: Dennis L. Frey Office: ECS Office Hours: TuTh 10:00 – 12:00

TA TA: Mahesh Gandhe Office: Office Hours: MW TBD

Course Materials Course homepage /345/fall00 Course Description Objective Textbooks Grading Class Schedule

What is Software Engineering? SW Engineering focuses on the computer as a problem-solving tool instead of investigating HW design or proving theorems about algorithms Any hacker can write code. SW Engineering is about designing and developing high-quality software

Why Software Engineering Writing a program is easy Developing a software product is hard High-quality software products are robust, efficient and effective High-quality software products are easy to understand, modify and compose with other high-quality software products Software engineers are skilled professionals who follow “best practices”

Management Myth Myth: If we get behind schedule, we can add more programmers to catch up. Reality: The mythical man-month - “… adding people to a late software project makes it later”. Why? People can be added, but in a planned and well-coordinated manner.

Customer Myth Myth: A general statement of objectives is sufficient, we will fill in the details later. Reality: Poor up-front definition is the major cause of failed software efforts.

Customer Myth Myth: Project requirements continually change, but change can easily be accommodated because software is flexible. Reality: It is true that software requirements do change, but the impact of change varies with the time the change is introduced.

Cost of Change DevelopmentDefinitionMaintenance to 6 60 to 100

Practitioner Myth Myth: Once we write the program and get it to work, our job is done. Reality: Industry data shows that 50%- 70% of all effort expended on a program is expended after it is delivered to the customer.

Practitioner Myth Myth: The only deliverable for a successful project is the working program. Reality: A working program is only one part of the software configuration. Documentation forms the foundation for a successful development and provides guidance for the software maintenance task.

Who does SW Engineering? Stakeholders working together as a team. Usually 3 categories Customer User Developer

CUSTOMER Sponsors system development USER Uses system DEVELOPER Builds system Contractual obligation $$$, needs Software system Needs

A Systems Approach Projects do not exist in a vacuum Must provide a context System Boundaries Elements of a system Activities Objects (Entities) Relationships Definition of the boundary

Building the system Determine the requirements Create a system design Design individual programs Test the programs in pieces Test the programs together Deliver the system

The Development Team Requirements analyst Designers Programmers Testers Customers Trainers Maintenance team

MAINTENANCE SYSTEM DESIGN REQUIREMENTS ANALYSIS AND DEFINITION PROGRAM DESIGN PROGRAM IMPLEMENTATION UNIT TESTING INTEGRATION TESTING SYSTEM TESTING SYSTEM DELIVERY SOFTWARE DEVELOPMENT STEPS DEVELOPER ROLES ANALYST DESIGNER PROGRAMMER TESTER TRAINER

The Product Elementary School mathematics testing system User interface Database Multiple user types Reporting

New Skills GUI on Unix Tcl/Tk curses RCS for version control Multi-user system design client/server