Administrative Topics -TEACH/mailing list - Brainstorm - Pick a project manager for each HW assignment (responsible for communication, scheduling and execution.

Slides:



Advertisements
Similar presentations
Introduction to Software Engineering Lecture 5 André van der Hoek.
Advertisements

Unhappy with today? Design tomorrow. CS361 Software Engineering I
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Software Requirements
Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
Unhappy with today? Design tomorrow. CS361 Software Engineering I
Modified from Sommerville’s slidesSoftware Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
SE 112 Slide 1 SE 112 l
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
The analysis steps. Problem Analysis Sub-problem 3 Sub-problem 2 Sub-problem nSub-problem 1.
CSC230 Software Design (Engineering)
Presented by Lubna Yasmin Pinky Class Roll: 401 Exam Roll: Reg. No. : Session: Mashirah Binte Zaman Class Roll: 1407 Exam Roll:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
The Software Development Life Cycle: An Overview
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Software Testing Lifecycle Practice
Software Engineering Methodologies (Introduction)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Introduction to Software Engineering
CS361 Winter 2013 Final Exam Review Software Engineering I Oregon State University.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Feasibility Study.
Software Engineering Management Lecture 1 The Software Process.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 7 System models.
An Introduction to Software Engineering. Communication Systems.
CS361 Software Engineering I
Software Engineering 1 Some Definitions Lesson 2.
Applied Software Project Management
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
An Introduction to Software Engineering (Chapter 1 from the textbook)
Evaluating Architectures. Quality Control Rarely fun, but always necessary 1.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Interacting with consumer Software Engineering. So far… What is Software Engineering? Different software process models waterfall, incremental, spiral.
An Introduction to Software Engineering. Objectives  To introduce software engineering and to explain its importance  To set out the answers to key.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
COMP/EECE 4081 Software Engineering
Software Engineering Management
Graduation Project Kick-off presentation - SET
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
CS 456 Interactive Software.
Presentation transcript:

Administrative Topics -TEACH/mailing list - Brainstorm - Pick a project manager for each HW assignment (responsible for communication, scheduling and execution ) - Vision statement (you are writing this for another group to implement ) - Class outline and project selection - Notice score sheet on syllabus = slide has a good chance of being on the midterm or final exams.

Unhappy with today? Design tomorrow. CS361 Software Engineering I

Poverty

Reducing poverty with software

Addiction

Supporting counseling with software

Natural Disaster

Raising money for relief with software

Pollution

Reducing energy consumption with software

Repression

Fomenting revolution with software

Webster says Engineering is… the branch of science and technology concerned with the design, building, and use of engines, machines, and structures. the action of working artfully to bring something about a skillful contriver or originator of something

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?) Kiva borrowers Kiva donators 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

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 documents: representations of requirements, designs, and systems notations: the rules for what those documents should look like design: a description of something that could be created validate: making sure that something is what it should be cost and schedule: the amount of money and time expended on creating a system team: people striving toward a common goal