CS361 Software Engineering I

Slides:



Advertisements
Similar presentations
Software Engineering 2003 Jyrki Nummenmaa 1 A BASIC OO SOFTWARE DEVELOPMENT PROCESS Earlier, we saw a number of different software lifecycle models.
Advertisements

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Unhappy with today? Design tomorrow. CS361 Software Engineering I
Introduction To System Analysis and Design
Chapter 14 Requirements and Specifications. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Software Engineering The implementation.
Design of Web-based Systems IS Development: lecture 10.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Software Requirements
Requirements
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
Administrative Topics -TEACH/mailing list - Brainstorm - Pick a project manager for each HW assignment (responsible for communication, scheduling and execution.
©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)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
The Software Development Life Cycle: An Overview
Chapter 10 Architectural Design
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Software Engineering Methodologies (Introduction)
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
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.
Introduction to Software Engineering
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Introduction To System Analysis and Design
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
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.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
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.
Lecture 7: Requirements Engineering
An Introduction to Software Engineering. Communication Systems.
Software Engineering 1 Some Definitions Lesson 2.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
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.
CMSC 345 Fall 2000 Software Design and Development.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
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)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
An Introduction to Software Engineering. Objectives  To introduce software engineering and to explain its importance  To set out the answers to key.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
©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.
L ECTURE 1 Introduction Getting started with software engineering.
DOCUMENTATION REF: Essentials of IT (Hamilton et al) Chapter 1.
 System Requirement Specification and System Planning.
COMP/EECE 4081 Software Engineering
An Introduction to Software Engineering
MISY 301 Mr.Mohammed Rafeeque.
Fundamentals of Information Systems, Sixth Edition
McCall’s Quality Factors
Graduation Project Kick-off presentation - SET
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
واسط كاربري هوشمند Intelligent User Interface
CS385T Software Engineering Dr.Doaa Sami
Presentation transcript:

CS361 Software Engineering I

Software is not just about computers. CS361 Software Engineering I

Poverty

Reducing poverty with software

Natural Disaster

Locating disaster victims with software

Pollution

Reducing energy consumption with software

Repression

Fomenting revolution with software

Disease

Medical imaging 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

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