CSC 509, Software Engineering II 1 CSC 509 Software Engineering II Winter Quarter, 2005 Clark S. Turner.

Slides:



Advertisements
Similar presentations
Program Goals Just Arent Enough: Strategies for Putting Learning Outcomes into Words Dr. Jill L. Lane Research Associate/Program Manager Schreyer Institute.
Advertisements

LECTURE 1: COURSE INTRODUCTION Xiaowei Yang. Roadmap Why should you take the course? Who should take this course? Course organization Course work Grading.
Research skills. OUTLINE Mission and Vision What is Research? Ten Steps for Good Research Resources of Research Types of research Skills (Top_5 Skills)
CSC 300, Winter Assignments Week 5 Work on your paper / presentation topic –papers are due 20 February (Tuesday) for both sections! Reading: Baase.
Team Software Project - Ebnenasir - Spring CS 3141: Team Software Project - Introduction Ali Ebnenasir Department of Computer Science Michigan Technological.
CS 197 Computers in Society Fall, Welcome, Freshmen!
What is Software Engineering? And why is it so hard?
CSC 205, Software Engineering I 1 CSC 205 Software Engineering I Spring Quarter, 2000 Clark S. Turner, J.D., Ph.D.
CSCD 555 Research Methods for Computer Science
CSC 508, Software Engineering I 1 CSC 508 Software Engineering I Fall Quarter, 2004 Clark S. Turner, J.D., Ph.D.
CSC x402, Requirements Engineering 1 CSC 402 Requirements Engineering Fall Quarter, 2002 Clark S. Turner, J.D., Ph.D.
Software Engineering General Project Management Software Requirements
PPA 501 – Analytical Methods in Administration Lecture 2c – The Research Proposal.
CSC 300 Winter, CSC 300 Professional Responsibilities Instructor: Clark Savage Turner Office: , Phone: Office Hours (tentative): –Tuesday.
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.
CSC x402, Requirements Engineering 1 CSC x402 Requirements Engineering Fall Quarter, 2000 Clark S. Turner, J.D., Ph.D.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
CSCE790: Security and Privacy for Emerging Ubiquitous Communication system Wenyuan Xu Department of Computer Science and Engineering University of South.
1 / 16 CS 790z Seminar on Software Engineering Spring 2003 Syllabus Details January 23, 2003.
CSC 402, Requirements Engineering 1 CSC 402 Requirements Engineering Fall Quarter, 2005 Clark S. Turner.
Capstone Design Project (CDP) Civil Engineering Department First Semester 1431/1432 H 10/14/20091 King Saud University, Civil Engineering Department.
Structuring an essay. Structuring an Essay: Steps 1. Understand the task 2.Plan and prepare 3.Write the first draft 4.Review the first draft – and if.
Research Methods for Computer Science CSCI 6620 Spring 2014 Dr. Pettey CSCI 6620 Spring 2014 Dr. Pettey.
Moving forward with Scalable Game Design. The landscape of computer science courses…  Try your vegetables (sneak it in to an existing course)  Required.
Software Project Management Course Instructor Samana Zehra (Assistant Professor)
CS4/542- Software Engineering  Software Design and Development  Required Text -- Code Complete by Steve McConnell  (Focuses on the problems of designing.
Aspects of the Software Engineering Profession Today! Brought to you by: Brenda Franklin.
Basic Terms Research—the process of finding information relevant to a particular topic Source—any medium that provides information relevant to a particular.
Business research methods: using questions and active listening
ABET’s coming to Rose! Your involvement Monday, Nov 5, 2012.
What Our Students Need Most The 7 Fundamental Conditions of Learning.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
American Chemical Society The Role of Undergraduate Research in the Certified Chemistry Major Thomas Wenzel Department of Chemistry Bates College Lewiston,
COMP-400 Introduction and Orientation Winter 2006 January 19, 2006 School of Computer Science McGill University.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
PBL in Team Applied to Software Engineering Education Liubo Ouyang Software School, Hunan University CEIS-SIOE, January 2006, Harbin.
1 8/29/05CS150 Introduction to Computer Science 1 Professor: Shereen Khoja
Dissertation Course – Day 4 Autumn Day 4: ”The End is near” Writing proper conclusions Report structure LinkedIn group – Keep contact with each.
How to Read Research Papers? Xiao Qin Department of Computer Science and Software Engineering Auburn University
Research Methods and Techniques Lecture 8 Technical Writing 1 © 2004, J S Sventek, University of Glasgow.
Concepts of Software Development Chapter 1. Separation of Concerns Break the system down into less complicated parts, and concentrate on each one in turn.
1 CSE 403 Introduction Reading: Rapid Development Ch3.3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides.
Design of a Typical Course s c h o o l s o f e n g I n e e r I n g S. D. Rajan Professor of Civil Engineering Professor of Aerospace and Mechanical Engineering.
Critical Thinking Lesson 8
Systems Development Life Cycle
CIS 842: Specification and Verification of Reactive Systems Lecture ADM: Course Administration Copyright , Matt Dwyer, John Hatcliff, Robby. The.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 291s Literature Survey in Software.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Business Project Nicos Rodosthenous PhD 08/10/2013 1
Section 3 Systems of Professional Learning Module 1 Grades K–5: Focus on Practice Standards.
Title Page and Introduction Gregory A. Thomas, PhD Coe College Action Research I.
How To Write Thesis Proposal Pishtiwan Abdulla. What is Master Thesis proposal? Master’s thesis proposal is a kind of a draft written with the purpose.
Research Methods in Psychology Introduction to Psychology.
What is Research?. Intro.  Research- “Any honest attempt to study a problem systematically or to add to man’s knowledge of a problem may be regarded.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
School of Business Administration Chap 3 Engineering of Software;
School of Business Administration Chap 3 Engineering of Software;
Research Methods for Computer Science
Research Methods Dr. X.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
COMP390/3/4/5 Final Year Project Demonstration & Dissertation
Informatics 291S Literature Survey in Software Engineering
COMP390/3/4/5 Final Year Project Demonstration & Dissertation
Informatics 291s Literature Survey in Software Engineering
COMP390/3/4/5 Final Year Project Demonstration & Dissertation
BIS 221 Great Wisdom/tutorialrank.com. BIS 221 All Assignments For more course tutorials visit BIS 221 Week 2 Assignment Business.
COMP390/3/4/5 && COMP593 Final Year Projects Demonstration & Dissertation Irina Biktasheva
CS 791Graduate Topics in Computer Science [Software Engineering]
Presentation transcript:

CSC 509, Software Engineering II 1 CSC 509 Software Engineering II Winter Quarter, 2005 Clark S. Turner

CSC 509, Software Engineering II 2 Administration Instructor – Clark S. Turner Required Books – Petroski, “To Engineer is Human” (read last term) – Winograd, “Bringing Design to Software” (read cover to cover) – Simon, “The Sciences of the Artificial” (you skimmed last term? read cover to cover) Office: – phone (805) – Office Hours: ¤ Tuesday, 12: pm ¤ Thursday 2: pm Prerequisites – 205, 508, permission of instructor, graduate standing Course website at: –

CSC 509, Software Engineering II 3 Basic Course Requirements Attendance and participation Presentations (you are expected to volunteer) to class Reporter duty to the class (abstract class progress each week) Personal journal recommended Near publishable quality research paper – pages – proper use of sources to develop arguments – significant bibliography – topic in software engineering design (broadly interpreted) ¤ chosen, proposed by you, may be continuation of 508 work focus on design aspects ¤ double dipping is fine with me ¤ collaboration is fine with me, but clear credit must be given to collaborators

CSC 509, Software Engineering II 4 The Basic Definition of our Work (again) Software Engineering is... – the study of software process, software development principles, methods and tools ¤ requirements elicitation and analysis ¤ requirements and design notations ¤ implementation strategies ¤ testing methods ¤ maintenance techniques ¤ management strategies – the production of quality software, delivered on-time, within budget, and satisfying users’ needs

CSC 509, Software Engineering II 5 The problem and the response... Software is typically – late – over budget – faulty – hence... the “software crisis” ¤ go see the “Chaos Report” referenced on my website! Software Engineering – software production should use established engineering principles – history: coined in 1967 and endorsed by a NATO conference in 1968

CSC 509, Software Engineering II 6 What type of software? Small single-developer projects can typically get by without Software Engineering – typically no deadlines, small budget (freeware), not safety-critical Software Engineering is required for – large projects (100,000 lines of code and up) – multiple subsystems – teams of developers (often geographically dispersed) – safety-critical systems (software that can kill people...)

CSC 509, Software Engineering II 7 What is Engineering? Engineering is – sequence of well-defined, precisely-stated, sound steps, which follow method or apply technique based on some combination of ¤ theoretical results derived from a formal model ¤ empirical adjustments for un-modeled phenomenon ¤ rules of thumb based on experience This definition is independent of purpose... – “engineering” can be applied to many disciplines ¤ however, does software have the formal models, rules of thumb...? Are software “engineers” employees or professionals? – are we independent in our employ? ¤ do we have obligations to society? go look at the Software Engineering Code of Ethics (ref on my website)

CSC 509, Software Engineering II 8 Software Engineers require... a broad range of skills – Mathematics – Computer Science – Economics – Management – Psychology applied to all phases of software production are we indeed supposed to be “general engineers?” – Recall Jackson’s diatribes

CSC 509, Software Engineering II 9 Requirements and Design Aspects User needs and perceptions are difficult (impossible?) to assess – functionality isn’t enough Requirements specification is a contract with the customer Requirements must provide a definitive basis for testing Requirements is about the domain of the problem Design suggests a solution in the software domain Requirements addresses “what?” Design addresses “how?” Or is “Design” on the other side of Jackson’s boundary?

CSC 509, Software Engineering II 10 Sample Software Qualities Correctness Reliability Robustness Performance Usability Testability What do these terms mean? – what are the relationships between these qualities? – how can we “design” for such qualities?

CSC 509, Software Engineering II 11 Uniqueness of Software What are we dealing with? – The stuff doesn’t “wear out” (but does exhibit a bathtub curve …) – The stuff has no “tolerance” - it is binary – The stuff weighs nothing, and you can’t really “see” it. – It is very plastic, we can always “change” it in place ¤ try that with your automobile! Why don’t other engineering principles apply? – For example, statistical reliability methods? ¤ No mean value theorem applies ¤ No accurate user profile or operational distribution – So, when we test, what do we find out about software? ¤ Can’t tell for sure if our software is good or not.

CSC 509, Software Engineering II 12 Definitions! Research (read the shaw paper linked on website!) Process – go read Osterweil’s “Software Processes are Software Too” (link on my website) Tools Methods Design Function – distinguish “feature”

CSC 509, Software Engineering II 13 Design - the topic of the course Are we “designers?” – give a few definitions – what is a “great designer” (Brooks?) Is “design” about – meeting the customer’s specifications (contract) – solving the user’s problem ¤ exactly who is the “user” and who is interested?

CSC 509, Software Engineering II 14 Read for next time Read – Ch 5 of Simon’s book regarding “the science of design” – Winograd (sections 1 - 3) – Assign all Winograd, some Simon Need volunteers to present How do these pieces stack up as research and contributions to knowledge? – Detail: ¤ facts of the situation, problem statement ¤ arguments about possible solutions ¤ author’s analysis of arguments and author’s solutions (or answers) ¤ your analysis of author’s work

CSC 509, Software Engineering II 15 Class Reporters Need 2 volunteers each week – each take notes on all work presented that week – meet after the week’s classes: ¤ discuss important and weak points ¤ make list of open questions discussed ¤ make list of questions that arise from the whole week of discussions ¤ make list of questions that actually were answered – create a 10 minute presentation for start of following week to analyze the previous week’s work in class ¤ Not a mere summary or abstract ¤ Needs to contain real thought, insights and questions raised ¤ Deliverable: present a written report (can be paper outline of slide presentation) with names, dates and relevant information to me ¤ volunteers chosen at first class