Presentation is loading. Please wait.

Presentation is loading. Please wait.

September 1999 Overview Software Engineering1 CS466: Tools and Processes for Software Gio Wiederhold Dorothea Beringer Anca-Juliana Stoica.

Similar presentations


Presentation on theme: "September 1999 Overview Software Engineering1 CS466: Tools and Processes for Software Gio Wiederhold Dorothea Beringer Anca-Juliana Stoica."— Presentation transcript:

1 September 1999 Overview Software Engineering1 CS466: Tools and Processes for Software Gio Wiederhold Dorothea Beringer Anca-Juliana Stoica

2 September 1999 Overview Software Engineering2 Goals, Lectures Goal: »Overview of some important topics of software engineering »Basis for future studies - ongoing education UML modeling Design patterns Software development process models Software reuse, component-oriented software development Software cost estimation... »Different views, invited speakers

3 September 1999 Overview Software Engineering3 Sign Up check out http://www-db.stanford.edu/cs446

4 September 1999 Overview Software Engineering4 Assignments Modeling with UML –Assignment 1: Actors and Use Cases, Domain Model, for an electronic bookstore –Assignment 2: Design Model and Interaction diagrams for same problem as in assignment 1 –Assignment 3 (reverse engineering): Given a small software package and an incomplete use case model, make the interaction diagrams, the class diagram, a state chart, and try to model two additional features Design Patterns –Assignment 4: apply and detect design patterns while modeling two (three) smaller problems Cost Estimation –Assignment 5: Develop an estimate for a software product using tools and models: getting problem solution, analysis of results, option analysis, opportunity analysis, personnel impact, addressing the risks, model calibration

5 September 1999 Overview Software Engineering5 Books for Assignments UML modeling: "UML distilled", by Martin Fowler, 1997/1999 or another UML book Design Patterns: "Design Patterns", by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1994 or another book containing the GoF design patterns

6 September 1999 Overview Software Engineering6 Assignments: how to –Teams of two allowed for some assignments –Assignment 4 and 5: plan ahead! –Due dates: mostly Monday, yet plan for previous Friday! No late days! –Modeling assignments: require thinking and redoing. Goal is not to have just a model, but to have a good model!

7 September 1999 Overview Software Engineering7 Reading for specific lectures "No Silver Bullet: Essence and Accidents of Software Engineering", for Sept. 27 "A Spiral Model of Software Development and Enhancement", for Oct. 6 A case study for the lecture on software reuse organizations, for Oct. 13 "Risk Management for Software Development", for Oct. 16 "Software Cost Estimation", "Estimating work with use cases", for Nov. 17

8 September 1999 Overview Software Engineering8 NO Silver Bullet... Why no easy remedies? Progress in hardware and thus possibilities for ever more complex software Inherent characteristics of software (essence): »invisibility, many dimensions, hard to visualize »complexity, non-linear in scaling up »conformity, arbitrary complexity, interfaces »changeability, no classic production, glue, takes over soft parts of processes Accidental difficulties: »...

9 September 1999 Overview Software Engineering9 Tools and Processes for Software (1) What do we need to develop a software system? Basic tools : Languages, Compilers, Debuggers Basic know how : Basic tools, Language features, Algorithms,... More advanced tools : Libraries, Databases, Window-systems, Distribution-systems, … More advanced know how : Features of advanced tools and their languages, Distributed architectures, Solutions to specific problems, … Let’s start developing the new baggage-control system for the next new airport…. or do we need something else?

10 September 1999 Overview Software Engineering10 Processes and Tools for Software (2) n o c o n t r o l, i.e. for larger projects ( > a few hours): - results not predictable - schedule unknown - organizational chaos - random communication p r o j e c t m a n a g e m e n t

11 September 1999 Overview Software Engineering11 Processes and Tools for Software (3) d a m a g e d g o o d s unpredictable and unexpected behavior q u a l i t y a s s u r a n c e

12 September 1999 Overview Software Engineering12 Processes and Tools for Software (4) a d h o c h a n d c r a f t i n g e n g i n e e r i n g - planning - documenting - testing

13 September 1999 Overview Software Engineering13 TQM Objectory Requirements elicitation Activities Participative development Silver Bullets Prototyping Object-oriented Use-case driven Risk analysis Waterfall Spiral Iteravite Evolutionary RAD Configuration- management CASE-tools Quality assessment Reviews Inspection Walkthroughs Milestones Phases Analysis UML Requirements engineering Viewpoints ISO 9000 IEEE standards Maintenance ReuseDesign Patterns Software metrics Project metrics Cost estimation Reliability User acceptance Testing Component- management Process models Modeling techniques Design Booch SEI PMM Team building Paradigms Life-cycles Frameworks

14 September 1999 Overview Software Engineering14 Standards (1) There exist many standards: Process models, e.g. Spiral model of Boehm, Objectory of Rational SEI Capability Maturity Model IEEE standards, e.g. requirements document, ISO standards, e.g. ISO 9000 - 9001 Many companies have in-house standards: –complementing public standards (e.g. ISO 9000) –adaptations of public standards, methods and models ISO 9000 IEEE standards SEI CMM UML Booch

15 September 1999 Overview Software Engineering15 Standards (2) Standards describing overall Software Process Maturity http://www.software.org/quagmire/

16 September 1999 Overview Software Engineering16 Standards (3) http://www.ansi.org/catalog, search for software engineering 1: IEEE 610.12-1990 : Standard Glossary of Software Engineering Terminology 3: IEEE 1348-1995 : Recommended Practice for the Adoption of CASE 4: IEEE 1219-1993 : Software Maintenance 5: ANSI Z94.7 -1998 : Engineering Economy 7: IEEE 1008-1987 : Software Unit Testing 8: IEEE 1028-1988 : Software Reviews and Audits 9: IEEE 1063-1989 : Software User Documentation 10: ANSI/AIAA R-013-1992 : Software Reliability 11: IEEE 1045-1993 : Software Productivity Metrics 12: IEEE 1044-1994 : Classification for Software Anomalies 15: ANSI/ANS 10.3-1995 : Documentation of Computer Software 16: IEEE 828-1990 : Software Configuration Management Plans 17: IEEE 829-1983 (R1991) : Software Test Documentation 18: IEEE 1042-1987 : Guide to Software Configuration Management 19: IEEE 1058.1-1987 : Software Project Management Plans 20: IEEE 1061-1993 : Software Quality Metrics Methodology 21: ANSI/NISO Z39.67-1993 : Computer Software Description ………………...

17 September 1999 Overview Software Engineering17 Prototyping Activities Dividing up the time-scale having milestones, phases, activities having models describing it (life-cycle models, process models) having standards describing or requiring these models Waterfall Spiral Iterative Evolutionary Phases ISO 9000 IEEE standards Objectory Life-cycles Milestones Process models Maintenance Implementation Design Analysis Transition Construction Elaboration Inception Req. elicitation

18 September 1999 Overview Software Engineering18 Frameworks Architecture driven Risk driven Data driven Use-case driven Z VDM Modeling How do I catch and communicate my thoughts, concepts, and plans? Object-oriented CASE-tools UML Modeling techniques Booch Paradigms Patterns Architecture patterns Design patterns

19 September 1999 Overview Software Engineering19 What - When? Phases Modeling techniques Milestones Project reviews Activities Risk analysis Process models Z VDM UML Booch Testing Implementation Design Analysis Transition Construction Elaboration Inception wwwwhh when, what, who, where, how, how much Prototypes

20 September 1999 Overview Software Engineering20 Money - People A software development project costs money. A software development project is carried out by people. RAD Milestones Viewpoints Project metrics Cost estimation Process models Team building Use-case driven Object-oriented Paradigms Prototyping

21 September 1999 Overview Software Engineering21 Reviews Walkthroughs Design Supermen What is the problem? What is the best, yet appropriate solution? Bugs, bugs, Prototyping Quality assessment Inspection MilestonesPhases Requirements engineering Viewpoints Design Patterns Testing Analysis User acceptance Participative development Frameworks Reliability

22 September 1999 Overview Software Engineering22 Teambuilding Cost estimation Order Reuse Configuration- management CASE-tools Design Patterns Component- management Modeling techniques Frameworks Components Process model Standards

23 September 1999 Overview Software Engineering23 quality personnel project leader programmers, developers Software Engineering Quality Assurance Project Management TQM Objectory Requirements elicitation Activities Participative development Prototyping Object-oriented Use-case driven Risk analysis Waterfall Spiral Iteravite Evolutionary RAD Configuration- management CASE-tools Quality assessment Reviews Inspection Walkthroughs Milestones Phases Analysis UML Requirements engineering Viewpoints ISO 9000 IEEE standards Maintenance ReuseDesign Patterns Software metrics Project metrics Cost estimation Reliability User acceptance Testing Component- management Process models Modeling techniques Design Booch SEI PMM Team building Paradigms Life-cycles Frameworks

24 September 1999 Overview Software Engineering24 Social Sciences Engineering Sciences Business Sciences TQM Objectory Requirements elicitation Activities Participative development Prototyping Object-oriented Use-case driven Risk analysis Waterfall Spiral Iteravite Evolutionary RAD Configuration- management CASE-tools Quality assessment Reviews Inspection Walkthroughs Milestones Phases Analysis UML Requirements engineering Viewpoints ISO 9000 IEEE standards Maintenance ReuseDesign Patterns Software metrics Project metrics Cost estimation Reliability User acceptance Testing Component- management Process models Modeling techniques Design Booch SEI PMM Team building Paradigms Life-cycles Frameworks


Download ppt "September 1999 Overview Software Engineering1 CS466: Tools and Processes for Software Gio Wiederhold Dorothea Beringer Anca-Juliana Stoica."

Similar presentations


Ads by Google