Unhappy with today? Design tomorrow. CS361 Software Engineering I

Slides:



Advertisements
Similar presentations
CS3773 Software Engineering Lecture 01 Introduction.
Advertisements

ECE 2799 Term D2014 Electrical and Computer Engineering Design Prof. Michalson Prof. Bitar.
Unhappy with today? Design tomorrow. CS361 Software Engineering I
Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
General information CSE 230 : Introduction to Software Engineering
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
1 CS 425 / CS 625 Software Engineering Fall 2008 Course Syllabus August 25, 2008.
1 CS 425 / CS 625 Software Engineering Fall 2009 Course Syllabus August 24, 2009.
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.
Administrative Topics -TEACH/mailing list - Brainstorm - Pick a project manager for each HW assignment (responsible for communication, scheduling and execution.
CSC230 Software Design (Engineering)
Chapter 4 Designing Significant Learning Experiences II: Shaping the Experience.
CSE 1111 Week 1 CSE 1111 Introduction to Computer Science and Engineering.
Organizational Database Management CIS 458 Introduction Sungchul Hong.
Software Engineering Methodologies (Introduction)
BMAN Integrative Team Project Professor Linda A Macaulay.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
Chapter Eight Academic Survival Skills. Study Skills  For most students time is the greatest issue.  The first rule to follow is to allow two or three.
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.
Database Management Systems I
Understanding the Academic Structure of the US Classroom: Syllabus.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Welcome!! CIT 593 Intro to Computer Systems aka “Introduction to Computer Architecture” Fall 2012.
1 Test Next Period Summer 3, 2015 Final Examination.
Fall 2o12 – August 27, CMPSC 202 First Day Handouts  Syllabus  Student Info  Fill out, include all classes and standard appointments  Return.
CS361 Software Engineering I
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Matter and Interactions 1 Fall 2006 Matter & Interactions I Physics Professor & Lecturer: Dr. Reinhard Schumacher Teaching Assistants: Ms. Elisa.
Econ 110 Principles of Microeconomics Welcome!. Dr. Anwar Al-Shriaan Economics Department Office hours: Monday and Wednesday 10:00 – 10:50 am and by appt.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
CM220: Unit 1 Seminar “You must be the change you wish to see in the world.” ~ Mohandas Gandhi.
Fall 2011 Course Syllabus Instructor: Sergiu Dascalu Department of Computer Science and Engineering August 30,
INF 117 Project in Software Engineering Lecture Notes -Winter Quarter, 2008 Michele Rousseau Set 1.
CSE 1105 Week 1 CSE 1105 Course Title: Introduction to Computer Science & Engineering Classroom Lecture Times: Section 001 W 4:00 – 4:50, 202 NH Section.
IST 210: Organization of Data
Today’s Agenda  Syllabus CS6359: Object-Oriented Analysis and Design.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
CMSC 345 Fall 2000 Software Design and Development.
CSE 1105 Week 1 CSE 1105 Introduction to Computer Science & Engineering Time: Wed 4:00 – 4:50 Thurs 9:30 – 10:20 Thurs 4:00 – 4:50 Place: 100 Nedderman.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
Course Overview for Compilers J. H. Wang Sep. 14, 2015.
CS 139 – Algorithm Development MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Interacting with consumer Software Engineering. So far… What is Software Engineering? Different software process models waterfall, incremental, spiral.
Search: Prof. Jeff Sonstein Home Contact Website Design & Tech ( ) Fall 2011  Professor Jeff Sonstein Office: GOL-2555 Hours: T/R 10am-noon
Course Overview for Compilers J. H. Wang Sep. 20, 2011.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
HIGH SCHOOL  Time is structured by others  Students will usually be told what their responsibilities are and corrected if their behavior is out of line.
Software Engineering (CSI 321) Introduction. Introduction Course Title: Software Engineering Course Code: CSI-321 Credit Hours: 3 Section: 1 2.
Welcome to English 101. To Do List for Today: Go over syllabus Discuss turnitin accounts and course website Prepare for success in Eng 101 Discuss the.
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
1 CS 425 / 625 Software Engineering Fall 2003 Course Syllabus August 25, 2003.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Writing Support at the University of Washington Adiam Tesfay and Chelsie Doherty (CLUE) and Jenny Halpin (OWRC)
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
COMP/EECE 4081 Software Engineering
CS101 Computer Programming I
CS 425 Software Engineering
Welcome to CS 1010! Algorithmic Problem Solving.
CS 425 / CS 625 Software Engineering
SWE 632 User Interface Design and Development
Presentation transcript:

Unhappy with today? Design tomorrow. CS361 Software Engineering I

Poverty

Reducing poverty with software

Addiction

Supporting counseling with software

Natural Disaster

Locating disaster victims with software

Pollution

Reducing energy consumption with software

Repression

Fomenting revolution with software

Engineering is… Solving real-world problems … … without making the world worse … … and without incurring excessive costs. Software engineering is doing all that by creating software.

Software is not enough— you also need people and context DatabaseWeb application Database server (Mysql?) PHP runtime environment (Zend?) Web server (Apache?) Operating system (Linux?) Hurricane survivors Friends and family System Boundary hardware (Linux?)

Where’s the system boundary? Some diagrams are more helpful than others! You’ll learn some good notations in this class.

What is the difference between good software and great software? The quality attributes of great software: Reliability Efficiency Integrity Usability Maintainability Testability Flexibility Portability Reusability Interoperability

Great software contains the right features for the right data. Use cases = the activities a system supports e.g.: tweet a vote report, view delays on map Entities = the kinds of objects that are involved in use cases e.g.: tweets, user accounts, polling locations, maps Attributes = the properties of the entities e.g.: tweets have: timestamp, text, sender You can’t build a great system until you understand what it should do.

Software engineering is a team effort. Requirements Design Implementation Testing System Delivery Analyst Designer Programmer Tester Trainer

How do you create great software? Professionalism – Character – Teamwork – Planning – Risk management Technical skills – Design – Implementation – Quality control All of these are necessary. Not a single one is optional. All will be practiced in this course.

Course Objectives At the completion of the course, students will be able to... Select the most appropriate software process model to use in a particular situation Synthesize requirements for a realistic software system and write a requirements specification document Produce professional-quality software-related documents Model system requirements using one or more semi-formal notations such as UML, dataflow diagrams, entity-relationship diagrams, or state diagrams Design software systems at an architectural level and at lower levels, using one or more techniques, such as object-oriented design or agile methods, and express these designs in design specification documents Validate designs and adjust the specification or design as necessary Describe several methods of estimating the cost and developing a schedule for a programming project Participate effectively in a team environment Develop and articulate content knowledge and critical thinking in the discipline through frequent practice of informal and formal writing. Demonstrate knowledge/understanding of audience expectations, genres, and conventions appropriate to communicating in the discipline. Demonstrate the ability to compose a document of at least 2000 words through multiple aspects of writing, including brainstorming, drafting, using sources appropriately, and revising comprehensively after receiving feedback on a draft.

Course Objectives To train you in... process: a sequence of activities intended to design and produce software requirements: a description of what software should do and should be design: a description of something that could be created validation: making sure that you are headed the right direction notations: the rules for describing requirements, designs, and systems writing: expressing yourself in printed sentences cost and schedule: the amount of money and time expended on creating a system teamwork: people striving toward a common goal

Basic Course Information web.engr.oregonstate.edu/~cscaffid/courses/CS361_F11 Instructor: Prof. Chris Scaffidi Lectures: Tue & Thu 4pm-5:20pm, WITH 217 Office hours: Wed 1:30-2:30 in KEC 3047 Teaching assistants: Behrooz Mahasseni - team homework assignments - - office hours Monday 11am-noon Bharatwaj Appasamy - vision statement assignment - - office hours Wednesday 3-4pm Optional book: Software Engineering, 4th ed. by Pfleeger & Atlee Homework: usually due electronically on Tuesdays before lecture Most homework will take your team a whole week to complete.

Course Outline 1.You each draft a vision… a system that you would like to see. 2.We get you organized into teams, 1 vision per team. 3.Each team does homeworks to design the envisioned system. 4.Each person does a midterm exam. 5.You each update your vision. 6.We get organized into new teams, 1 vision per team. 7.Each team does homeworks to create the envisioned system. 8.Each team does a final presentation on their system. 9.Each person does a final exam.

Teamwork Project homeworks will be done in teams. Usually, all students in a team will receive the same grade on each homework. I will assign you to teams based on which of your classmates’ vision statements are most interesting to you. Any team can ask me to fire a teammate on or before the day that the team’s first homework is due. You need to have a good reason for firing teammates. I must approve all firings. Fired students may band together into a new team. See regulations on the course web site.

Grading 1 vision statement – 5% 7 team homeworks – 5% each 1 midterm exam – 30% 1 final exam – 30% See course website for additional information on grading, academic integrity, and other policies. = slide has a good chance of being on the midterm or final exams.

Vision statement A description of a system that you think could change the world for the better Schedule – Upload your first draft BY THURSDAY – Upload your next draft BY TUESDAY – Upload your final draft BY NOV 3 10 extra credit points if your vision statement is chosen by popular vote for use by a team during the first or second half of this term

Other ways to get extra credit – more information later this term Write a “how to…” tutorial – “how to set up PHP” – “how to set up Mysql” – “how to set up Ruby on Rails” Write a “how to improve SE” paper – “A new notation that is better than UML” Fill out a short questionnaire that I will offer near the end of the term

Where do you go from here? Read the syllabus on the course web site web.engr.oregonstate.edu/~cscaffid/courses/CS361_F11/ Upload your Vision Statement first draft You’ll vote on visions this weekend so that I can put you in teams.