Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 480 Software Engineering

Similar presentations


Presentation on theme: "CSC 480 Software Engineering"— Presentation transcript:

1 CSC 480 Software Engineering
Lecture 1 August 25, 2009

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

3 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 Fall 2004

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

5 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 Fall 2004

6 Team Lineup – Couch Martin Zhao, PhD
Teaching Programming, SE, DB & 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 Fall 2004

7 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 Fall 2004

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

9 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 Fall 2004

10 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 Fall 2004

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

12 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 Fall 2004

13 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 Fall 2004

14 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 Fall 2004

15 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 Fall 2004

16 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 Fall 2004

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

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

19 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 Fall 2004

20 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 Fall 2004

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

22 Additional Background Info
8/18/2004 CSC Fall 2004

23 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 Fall 2004

24 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 Fall 2009

25 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 Fall 2004

26 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 Fall 2004

27 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 Fall 2004


Download ppt "CSC 480 Software Engineering"

Similar presentations


Ads by Google