6-January-2003cse403-01-Introduction © 2003 University of Washington1 Introduction CSE 403, Winter 2003 Software Engineering

Slides:



Advertisements
Similar presentations
Cost-Effective Software Deployment
Advertisements

Automation Testing Presentation Phil Hunter Phil Hunter - Automation Presentation 1.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Metrics for Process and Projects
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Introduction.
Tietojärjestelmien peruskurssi Software engineering Malin Brännback.
SYSTEMS DEVELOPMENT Phases, Tools, and Techniques
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
VENDORS, CONSULTANTS AND USERS
motivational techniques
Software Developer Career. ◦ Desktop Program development ◦ Web Program Development ◦ Mobile Program Development.
Copyright Course Technology Chapter 14: Executing.
Copyright Course Technology 1999
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Invitation to Computer Science 5th Edition
By Edward Lim 8.7.  What?  Today we started the Cornerstone Piece and we were given a few tasks to complete. The tasks were to watch the Kurt Fearnly.
SMART Formula.  Peter Drucker is reputed to have said that  "Objectives are not fate; they are direction.  They are not commands; they are commitments.
Chapter © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
Logistics and Systems Rabby Q. Lavilles. Supply chain is a system of organizations, people, technology, activities, information and resources involved.
1 Project Management Introduction. 2 Chap 1 What is the impact? 1994: 16% of IT projects completed “On-Time” 2004 : 29% of IT projects “On- Time” 53%
Software Project Management Lecture 11. Outline Brain Storming session  Some simple discussion on questions and their answers  Case studies related.
10-January-2003cse Context © 2003 University of Washington1 What is a development project? CSE 403, Winter 2003 Software Engineering
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Methods and Models Choice of methods for Development of IT related products and systems SVINGSVING Conference held in Gothenburg, Sweden, October 2000.
22-Oct-15 Test Management Summit 2007 (c) Alphabite Ltd.1 Test Coverage Peter Farrell-Vinay Alphabite Ltd.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
© Mujtaba, 2007 Workforce Diversity Management Dr. Bahaudin G. Mujtaba.
CSC 395 – Software Engineering Lecture 5: Teams -or- How to Motivate and Manage the Unwashed Masses.
WAY TO YOUR OWN BUSINESS – BUSINESS IDEA. BUSINESS LIFE CYCLE Idea Business plan Business funding, organising Developing product / service Marketing BAU.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Motivation. If you want to make things happen the ability to motivate yourself and others is a crucial skill.
Requirements Engineering Southern Methodist University CSE 7316 – Chapter 3.
Our goal is to make a web based multi-user organizer that can be accessed via cellular devices. There are three main component for this project: A main.
Careers. Back in the Day There were 2 careers – Hunter – Gatherer A few years later – Computers were invented Now there are 3 career paths – Hunter –
CS3100 Software Project Management: Monitoring & Control 1 Software Project Management Week 10: Project Monitoring & control Ian Blackman.
Design Process … and some design inspiration. Course ReCap To make you notice interfaces, good and bad – You’ll never look at doors the same way again.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
> whoami Yuriy Brun Office: CSE 340
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
CSE 403 Lecture 27 Course Wrap-up Discussion slides created by Marty Stepp
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Impact Planning Jeff Greenidge Network Director. Why gather impact data? Demonstrate Validate Maintain.
Read to Learn Identify the differences between management structures. Name six skills necessary for effective management.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
The problem that needs to be solved is if a computer career is for me.
Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques.
PMSPROJECT.com Online Project management software Everything you need to manage projects successfully.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Exploring Entrepreneurship  Entrepreneurship is the process of starting a new business.  Just having a good idea is not enough. Entrepreneurs must be.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
 Did YOU Know?!?!  Justin Timberlake’s half eaten French toast sold for over $3,000 on eBay!  The Mayans found crossed eyes beautiful, while Syrians.
HOW TO CHOOSE THE BEST CLOUD ACCOUNTING SOFTWARE? You can use cloud-based software from any device with an internet connection. Online accounting means.
The Project Team. Major Ideas Software Projects are Cultural Events Management ≠ Leadership Team’s ability is based more on its personality than its skill.
Application Outsourcing: Achieving Success & Avoiding Risk
CSE 374 Programming Concepts & Tools
Building the foundations for innovation
Chapter 6: Alternative Operating Systems
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Leadership in management
Why Object-oriented Programming?
CSE 303 Concepts and Tools for Software Development
CSE 403, Winter 2003 Software Engineering
Lecture 06:Software Maintenance
Metrics for Process and Projects
Presentation transcript:

6-January-2003cse Introduction © 2003 University of Washington1 Introduction CSE 403, Winter 2003 Software Engineering

6-January-2003cse Introduction © 2003 University of Washington2 Readings and References Reading »Chapters 1-5, The Mythical Man-Month, Brooks Other References »everything about this class is on the web »

6-January-2003cse Introduction © 2003 University of Washington3 Goals Develop a good understanding of the context in which software development takes place Learn practical ways to be productive within this context and gain some experience on development projects during the quarter Believe that the difficult task of efficient and effective software development can be an interesting and fun challenge, worthy of an entire career - you gotta believe!

6-January-2003cse Introduction © 2003 University of Washington4 LittleApp Context Many of us build small applications for our own use or the use of our friends »shell scripts, buttons and lights controllers, little simulators, web page builders, off-the-wall homework projects for next quarter, etc … Requirements are limited »probably owned by one person or at most two One developer One release (plus a few service packs …)

6-January-2003cse Introduction © 2003 University of Washington5 Advantages of LittleApp Great communication between customer and developer »clear picture of simple requirements »requirements can be pruned and grown in an instant with little follow-on impact Pretty good schedule adherence »dream it up at lunch, deliver it at midnight Simple to use, no later releases, one developer »you may get away with no documentation...

6-January-2003cse Introduction © 2003 University of Washington6 Disadvantages of LittleApp The ideas that created it are probably fairly specific to the original user/developer »Everyone in the world is not a CSE major »Many people have great ideas about software for their knowledge domain that we would never think of on our own LittleApp is little! »Even Superman can only do so much in a day It's under-documented … a support nightmare

6-January-2003cse Introduction © 2003 University of Washington7 BigApp Context Potentially huge customer base »retail transactions, financial accounts, imbedded apps, office worker desktops,... »The company doing the development takes on a big risk and spends big money in the hope of gaining a big reward (staying in business, expanding the business, …) Lots of customers and developers Long, complex, integrated schedule

6-January-2003cse Introduction © 2003 University of Washington8 Advantages of BigApp Lots of customers can mean that the product actually meets a widely felt need »Creating a successful product that is used by thousands or millions of people is very satisfying Lots of developers means that a larger skill set can be brought to bear on the problem »Working with experts in other fields can raise the overall product quality significantly, and it's fun Money. A half-ton of money can work miracles

6-January-2003cse Introduction © 2003 University of Washington9 Disadvantages of BigApp The customer is a many headed beast that is never satisfied Lots of developers means that communication is critical »commitments, personalities, changing cast »once you've said something, people go off and do things based on that - unwinding is very hard »management, staff, factory, supplier, … Money. Big money makes people act weird

6-January-2003cse Introduction © 2003 University of Washington10 Programming Systems Product Programming System Programming Product Program interfaces, system integration generalization, testing, documentation, maintenance LittleApp BigApp 3 X from Mythical Man-Month

6-January-2003cse Introduction © 2003 University of Washington11 Productivity - processes and tools There are lots of techniques and tools that can help manage some of the chaos that is part of a BigApp project »clearly stated objectives and definite schedule »motivated teams with clear responsibilities »good support for communication features, bugs, clarifications, meetings, schedules »solid development tools and recommended practices editors, compilers, source control, bug tracking, build management, test suites, simulators, etc, etc

6-January-2003cse Introduction © 2003 University of Washington12 BigApp Development BigApp system development is a social activity »groups of people can do amazing things together »individuals do all sorts of unexpected things along the way - expect the unexpected »Focus and communicate »Use the tools but don't expect miracles from them a skilled craftsman knows his tools and their limitations

6-January-2003cse Introduction © 2003 University of Washington13 It's a challenge - enjoy it! Every project has its ups and downs Every project has weird requirements, too little time, bizarre management decisions, blockheaded coworkers, disappointing suppliers, rewards and glory for the wrong people, and generally miserable days »so don't be surprised or upset Every project has the potential for major satisfaction - enjoy it where you find it!

6-January-2003cse Introduction © 2003 University of Washington14 Our projects The projects for this class are based on "Mobile Information Devices" (eg, cell phones) talking to web servers Project teams will »Define the specific functions of the applications »Develop the code that runs on the cell phone midlets »Develop the code that runs on servers servlets

Project Components diagram is from network More about the projects on Wednesday