CSC 480 Software Engineering

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Advertisements

Computer Science Department
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Software Engineering 1. Introduction 2. Course schedule.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
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.
COMP 350: Object Oriented Analysis and Design Lecture 2
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
January 28, 2014CS410 – Software Engineering Lecture #1: Introduction 1 Welcome to CS 410 – Introduction to Software Engineering Spring 2014 Instructor:
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
The Guide to the Software Engineering Body of Knowledge
Course Introduction Software Engineering
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
CSC 480 Software Engineering Lecture 1 August 21, 2002.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
CSC 480 Software Engineering Lecture 1 August 21, 2002.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 Introduction to Software Engineering Lecture 1.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Software Production ( ) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
CSC 480 Software Engineering Lecture 1 August 18, 2004.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
© 2007 by Prentice Hall Management Information Systems, 10/e Raymond McLeod and George Schell 1 Management Information Systems, 10/e Raymond McLeod and.
Software Engineering – Fall 2015 (CSC 4350/6350) TR. 5:30 pm – 7:15 pm Rao Casturi 09/01/2015
Advanced Software Engineering Dr. Cheng
Process 4 Hours.
CSC 480 Software Engineering
Software Engineering (1)
Lecture 0 Software Engineering Course Introduction
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Week 10: Object Modeling (1)Use Case Model
1.Introduction to Rational Unified Process (RUP)
Design Thinking for Additive Manufacturing
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Introduction to Engineering Design II (IE202) Section XBG Team 7 Designing a Robot Students name: IE202-Team#7 Celebration.
Object oriented analysis and design
Introduction To software engineering
Practical Software Engineering
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Review CSE116 2/21/2019 B.Ramamurthy.
Chapter 1: Introduction to Systems Analysis and Design
CSC 480 Software Engineering
Overview of BSSE at Rose-Hulman Institute of Technology
Logical Architecture & UML Package Diagrams
Presentation transcript:

CSC 480 Software Engineering Lecture 1 August 25, 2009

Topics Welcome to CSC 480 Course Roadmap Introduction to Software Engineering 8/18/2004 CSC 480 -- Fall 2004

Goals SE activities and processes Object orientation: concepts and principles Team-based projects leading to working applications Team activities and role playing Advanced programming/system development techniques 8/18/2004 CSC 480 -- Fall 2004

Textbook & References Object-Oriented Software Engineering Bruegge & Dutoit Prentice Hall, 2004 8/18/2004 CSC 480 -- Fall 2004

Special Features Put ideas into reality Valuable teamwork experience conceptualization  specification  high-level and detailed design  implementation & testing  next iteration, if needed Valuable teamwork experience Form a team with a common set of goals Choose a role (or roles) that can match your interest and talent Respect differences and perform as a whole Synergy: P(n) > n * P(1) Healthy competition between teams 8/18/2004 CSC 480 -- Fall 2004

Team Lineup – Couch Martin Zhao, PhD Teaching Programming, SE, DB & OOAD @ Mercer Engaged in s/w development and integration using Java technologies Other background -- computer aided design and modeling Committed to a enjoyable class experience For both you all and me 8/18/2004 CSC 480 -- Fall 2004

We Want to Know You... Background: Major Courses taken Strength/interest in computing Programming/system development experience Career goals Expectations for the class Respond to the questionnaire in the handouts folder 8/18/2004 CSC 480 -- Fall 2004

Team Lineup – Players CHIP VAN TRAVIS JAMES BRAD ADAM CLINESA NELU ERIC TIM DERON MICHAEL 8/18/2004 CSC 480 -- Fall 2004

Course Roadmap Lectures – show you how it works the 1st time Processes & team issues Methodologies (e.g., OOAD using UML) Special topics (e.g., client/server, DB connectivity) Practices – walk you through the 2nd time Workshops Exposure to new technologies Homework Topics may not be directly covered in workshops Unit I: (~Labor Day) Intro, process, management(team issues) PSP: self-disciplined s/w development, not just programming OOAD & UML basics Unit II: (~9/24) Requirement-design Team up: Presentation 0 (9/17) Goals, roles, project topic & plan System modeling using use cases, class diagrams, sequence diagrams Exam I: (9/29) Catch-up & review session (9/27) Unit III: (~10/22) Implementation, testing, documentation Inception, elaboration, prototyping (verify ideas) Presentation 1 (10/18~22): specification, design, prototype Development tools (IDE), unit testing techniques, system build tools Unit IV: (~11/12) Special topics: GUI programming, client/server, multithreading Construction: Presentation 2(11/8~12) Release 1: detailed design, implementation & testing OOP workshop Exam II: (11/22) Catch-up & review session (11/19) Unit V: (11/15&17, 11/29, & 12/1) Special topics: design patterns, ethical issues, process review Final written test: (12/6) Class wrap-up & review session: (12/3) Coverage: Key topics from Exams I & II Unit V System demo & final presentation (Mon, 12/13, 2-5pm) Final release: added functionality, design changes, V&V and demo Process review and team evaluation achievements and things may be improved 8/18/2004 CSC 480 -- Fall 2004

Course Roadmap (cont’d) Team projects –you are on your own the 3rd time OOAD - thinking and using objects Plans, logs, and documentation – doing software engineering Presentations – talking about S/E formally 8/18/2004 CSC 480 -- Fall 2004

Score Breakdown Team project 450 points Individual homework 200 points One hour exams (2 @ 150 points each) 300 points Quizzes 50 points 8/18/2004 CSC 480 -- Fall 2004

Introduction What is Software Engineering? What is the difference? Computer Science vs. Software Engineering Software Engineering vs. other engineering What activities are involved? 8/18/2004 CSC 480 -- Fall 2004

The Essence of SE The essence of software engineering is to deliver high-quality software products that can meet clients’ requirements at agreed cost and schedule. 8/18/2004 CSC 480 -- Fall 2004

Software Software is not just the programs! A software system usually consists of Requirement documents Design specifications (diagrams, etc) Programs (code, executables and config data) Installation and user manuals 8/18/2004 CSC 480 -- Fall 2004

Software Is Soft As described in section 1.2 of your text, SE is A modeling activity: methodologies A problem-solving activity: processes and practices A knowledge acquisition activity: intellectual property A rational-driven activity: constantly changing req’ts We will discussed the first two areas in detail with lectures and workshops. It’s important to have the mental set of dealing with the softness of software as reflected in the latter two areas 8/18/2004 CSC 480 -- Fall 2004

The Four P’s The four P’s in software development People – in different roles working in a team Product – the working software system and associated artifacts Process – a set of activities that is performed in a certain order toward a special purpose Project – a specific instance of building a software product 8/18/2004 CSC 480 -- Fall 2004

Relationships Among the 4 P’s Project: People performing Processes to produce Product 8/18/2004 CSC 480 -- Fall 2004

A Closer Look at the 4 P’s 8/18/2004 CSC 480 -- Fall 2004

Software Lifecycle Activities Requirements Elicitation Analysis System Design Object Design Implemen- tation Testing ...and their models Use Case Model Test Cases ? Verified By class.... class... Source Code Implemented By Solution Domain Objects Realized By Subsystems Structured By Application Domain Objects Expressed in Terms Of 8/18/2004 CSC 480 -- Fall 2004

Software Lifecycle Definition Set of activities and their relationships to each other to support the development of a software system Typical Lifecycle questions: Which activities should I select for the software project? What are the dependencies between activities? How should I schedule the activities? 8/18/2004 CSC 480 -- Fall 2004

Other Basic SE Concepts Functional requirements Nonfunctional requirements Notation Method Methodologies 8/18/2004 CSC 480 -- Fall 2004

Additional Background Info 8/18/2004 CSC 480 -- Fall 2004

Engineering The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice …... -- Accreditation Board for Engineering and Technology 8/18/2004 CSC 480 -- Fall 2004

Engineering is applied with judgment The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind -- Accreditation Board for Engineering and Technology, 1996 8/25/2009 CSC 480 -- Fall 2009

Software Engineering A discipline which Applies mathematical and computer sciences Utilizes (mostly) human intelligence, economically, for the benefit of mankind Based on greatly wise judgment 8/18/2004 CSC 480 -- Fall 2004

Software Engineering Vs. CS CS is more on the theoretical side Theories, methods, etc Essential knowledge for software engineers Software Engineering is practical Applying CS theories and methods Hopefully, in a formal (NOT ad hoc) way Don’t just learn Software Engineering. Do it! 8/18/2004 CSC 480 -- Fall 2004

Software Vs. Other Engineering Software is soft Mostly human intellectual effort Need for physical resources (e.g. raw materials) is usually not the first priority Products are intangible and progress may not be visible With applications in virtual all industries, previous experience may not be easily adopted 8/18/2004 CSC 480 -- Fall 2004