Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMSC 345 Fall 2000 Software Design and Development.

Similar presentations


Presentation on theme: "CMSC 345 Fall 2000 Software Design and Development."— Presentation transcript:

1 CMSC 345 Fall 2000 Software Design and Development

2 Instructor Instructor: Dennis L. Frey Office: ECS 222 Email: frey@cs.umbc.edu Office Hours: TuTh 10:00 – 12:00

3 TA TA: Mahesh Gandhe Office: Email: mgandh1@gl.umbc.edu Office Hours: MW TBD

4 Course Materials Course homepage www.cs.umbc.edu/courses/undergraduate /345/fall00 Course Description Objective Textbooks Grading Class Schedule

5 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

6 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”

7 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.

8 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.

9 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.

10 Cost of Change DevelopmentDefinitionMaintenance 1 1.5 to 6 60 to 100

11 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.

12 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.

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

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

15 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

16 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

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

18 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

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

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


Download ppt "CMSC 345 Fall 2000 Software Design and Development."

Similar presentations


Ads by Google