CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: 8-9509 April 16 th, 2002.

Slides:



Advertisements
Similar presentations
Rating IT Quality : Software Project Management and Business Risk.
Advertisements

Common Management System – CMS “CMS Status & Future” 1 Financial Officers Association April 2004 “CMS Status & Future” William Griffith Vice President,
ECMDA workshop Thales ATM experience in using MDE ECMDA Workshop From code centric to model centric software engineering Bilbao 11 July 2006.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
OBP Research Oy for simpler creation of embedded systems.
Worldox – Post Installation Support and Training Options.
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: January 8 th, 2002.
CSE Software Design and Engineering Jonathan M. Smith 2/13/2001.
CS 501: Software Engineering Fall 2000 Lecture 1 Introduction to Software Engineering.
CSE350 Software Design and Engineering University of Pennsylvania 254 Moore GRW, January 16 th, 2001.
CSE350 Software Design and Engineering University of Pennsylvania Jonathan M. Smith February 19 th, 2002.
Maintaining and Updating Windows Server 2008
SQA Architecture Software Quality.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Software Configuration Management
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
CSCA48 Course Summary.
1 Lecture 19 Configuration Management Software Engineering.
Software Requirements Engineering CSE 305 Lecture-2.
Software Evaluation Catherine McKeveney Medical Informatics 1st March 2000.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
CSE 219 Computer Science III Program Design Principles.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
CSC 395 – Software Engineering Lecture 5: Teams -or- How to Motivate and Manage the Unwashed Masses.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
Business Productivity Infrastructure Optimization Campaign 1 Agenda: BPIO Partner Sales Readiness Workshop Day 3: Topic: Enterprise Content management.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Scott Wilson Shaun Moats Arjun Shrestha Andrew Garrison.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation.
Software Design Derived from Dr. Fawcett’s slides CSE784 – Software Studio Fall 2009.
Chapter 7: Delivery, Installation, and Documentation Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Maintaining and Updating Windows Server 2008 Lesson 8.
Empowering the Knowledge Worker End-User Software Engineering in Knowledge Management Witold Staniszkis The 17th International.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Advanced Software Engineering Dr. Cheng
Building Enterprise Applications Using Visual Studio®
Introduction to Operating Systems
Pragmatics 4 Hours.
Software Engineering Management
Quality & Regulatory Operations MQIS Quality Engineer
Types for Programs and Proofs
Software Development, Quality and Documentation Tool
Chapter 18 Maintaining Information Systems
Computer Aided Software Engineering (CASE)
Advanced Integration and Deployment Techniques
HCI in the software process
Tools of Software Development
Software Development, Quality and Documentation Tool
05 | Making the Cloud Transition
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
HCI in the software process
HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Nagios with The Decision Engine Implementing Passive Checks
Resources.
Presentation transcript:

CSE350 Software Design and Engineering University of Pennsylvania Office: 254 Moore GRW, Phone: April 16 th, 2002

Administrative lDemos in 100D lGroup 1, 12:00 April 25 th ; Group 2, 1:00 April 25 th ; Group 9, 12:00 April 26 th ; Group 5, 1:00 April 26 th ; Group 6, 10:00 April 29 th ; Group 11, 12:00 April 29 th ; Group 8886, 1:00 April 29 th ; Group 7, 2:00 April 29 th ; Group 4, 3:00 April 29 th ; Group 10, 2:00 May 3 rd ; Group 1984, 3:00 May 3 rd.

Semester Summary - Topics lLarge vs. Small Systems – scale lSoftware lifecycle lSW reuse. Tools. lProgramming as a group activity lSW Testing lDocumentation lLegal issues lSecurity

Large vs. Small Systems – scale lWe (still) only have a rough idea of metrics lMain notion is “complexity” lSoftware becomes (potentially) more of a management issue as scale grows lWhat does “open source” suggest about how to cope with scale?

Software lifecycle lDesign, Implement, Test, Maintain lMaintenance longest portion of lifetime lBad design and implementation amplifies costs downstream lBrooks rule: 1/3, 1/6, ½ l90% of lifetime is maintenance lRelationship to costs

Software Reuse and Tools lReuse of general-purpose components lDesirable to not redo hard (& $$) work lTools enable better practices Version Control Systems (SCCS, RCS, CVS) Configuration Management (Make, config) Strong typing (ML) and Model Checking

Programming as a group activity l2 (somewhat polar) Models: Chief Programmer Team Corporation-emulating architecture Hierarchical, use of specialization “Egoless Programming” programming group Free criticism, “group think” Vaguely reappearing in “open source”

Software Testing lHard at the extreme – infinite tests lTest most common usages of system lIndependent testing groups lContinuous testing as at Microsoft, and in the “Open Source” methodology lWhere to involve users? (MS: early) lIs “many eyes” hypothesis true?

Documentation lCan take many forms: manuals, comments, built-in help, error messages lEssential to both users and builders lUsers: expose features, refine usage, increase usage, reduce MRs lBuilders: record design decisions, such as motivations for particular algorithm or data structures lDislike of documentation…

Legal Issues lUnderstand Liability lDifference between contract and tort lNotion of “best practice” lUnderstand “Intellectual Property” lPatent, Copyright and Trade Secret lIP rights, corporate and personal

Security l“Right information to the right people in the right place at the right time” lMuch like reliability lIncreasing important w/networks lMust be designed in lSemester project example approach lHow does development methodology affect software security?

Review my “central question”: lIf you want to build a VERY complex system, are you better off Enhancing a “super-programmer”? Managing an “army of ants”? What does Microsoft experience suggest? Open Source experience? Your own experience in this course?