Computer ScienceSoftware Engineering Slide 1 Review l The need for software engineering l Processes Waterfall Iterative waterfall Evolutionary Formal systems.

Slides:



Advertisements
Similar presentations
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Unit 2. Software Lifecycle
Chapter 2 – Software Processes
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Object-Oriented Analysis and Design
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 2.
Computer ScienceSoftware Engineering Slide 1 Team l Team Leads: Put your list of questions for Galaxy Sleuth on your web page and send me the URL l Everyone:
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Computer ScienceSoftware Engineering Slide 1 Demos l Wednesday 3:00 p.m. to 5:20 p.m. in ECC and SEM 233 (my office) l 20 minutes l Please sign up for.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS 432 Object-Oriented Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
What is Software Architecture?
The Design Discipline.
CPTE 209 Software Engineering Summary and Review.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
CS361 Winter 2013 Final Exam Review Software Engineering I Oregon State University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Information System Development Courses Figure: ISD Course Structure.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Architectural Design Identifying system components and their interfaces.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
An Introduction to Software Engineering
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Lecture 3 Major Architectural Models View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern.
© Bennett, McRobb and Farmer 2005
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
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.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Programming Contest Management System Supervisor : Lecturer Phan Tr ư ờng Lâm Students : Hoàng Quang Mạnh Trần Đình Tuấn Nguyễn Thành Trung Phạm Thị Hồng.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Review for Final, Fall 2010 Close book, Close notes
Introduction To software engineering
Logical Architecture & UML Package Diagrams
Presentation transcript:

Computer ScienceSoftware Engineering Slide 1 Review l The need for software engineering l Processes Waterfall Iterative waterfall Evolutionary Formal systems Reuse-oriented Iterative Incremental Spiral

Computer ScienceSoftware Engineering Slide 2 Barzun's Laws of Learning The simple but difficult arts of paying attention, copying accurately, following an argument, detecting an ambiguity or a false inference, testing guesses by summoning up contrary instances, organizing one's time and one's thought for study -- all these arts -- cannot be taught in the air but only through the difficulties of a defined subject. They cannot be taught in one course or one year, but must be acquired gradually in dozens of connections.

Computer ScienceSoftware Engineering Slide 3 The software design process

Computer ScienceSoftware Engineering Slide 4 The testing process

Computer ScienceSoftware Engineering Slide 5 System evolution

Computer ScienceSoftware Engineering Slide 6 Requirements document l Supported activity list l HCI description l Solved problems list l Information sources list l Information-requesting organizations l Checks and Balances l Security and fault-tolerance requirements l Interoperating systems list l Estimates of information capacity and growth l Project time frame l Prioritization of requirements l Ethical concerns

Computer ScienceSoftware Engineering Slide 7 Eliciting and Validating Requirements – Start of Design l Informal Scenarios Detailed walkthrough of scenario l UCCD – Use-case centered design l Use-cases – Use-case diagrams l Scenarios l Primary Classes Nouns  classes Properties (State, service, multiple/common attributes/methods, essential requirement)

Computer ScienceSoftware Engineering Slide 8 UML l Use-Case diagrams l Deployment Diagrams l Class Diagrams l State Diagrams l Sequence diagrams l Object diagrams

Computer ScienceSoftware Engineering Slide 9 Architecture l Skeleton l Top level design of system l Persistence l HCI

Computer ScienceSoftware Engineering Slide 10 Design with Reuse l Component-based development Provides/Requires interfaces Frameworks - MVC l Application families Resource management system – specialized for LMS l Design Patterns Observer

Computer ScienceSoftware Engineering Slide 11 Architecture - Distributed l Performance l Security l Safety l Availability l Maintainability l Models Repository, Client-server, centralized/event-triggered control, Object Models

Computer ScienceSoftware Engineering Slide 12 Distributed Systems l Client-server Server-consumer model Data management, application processing, presentation Thin and fat clients l Three Tier Architectures l Distributed objects Peer to peer CORBA

Computer ScienceSoftware Engineering Slide 13 ORB-based object communications

Computer ScienceSoftware Engineering Slide 14 Verification and Validation l Verification Are we building the product right? l Validation Are we building the right product? l Unit and integration testing l Black box versus White box testing

Computer ScienceSoftware Engineering Slide 15 Engineer Software Engineer Responsibilities: ·Design and develop in C tests to validate ASIC hardware and software features and functionality ·Design and develop tests for hardware and software specification conformance ·Analyze protocol and software design - code, and create detailed test descriptions ·Develop software and/or system configurations to execute test descriptions ·Execute test in VERA simulator, on FPGA boards, or on a system-level box Key Role: Contribute significantly to a project involving the design and development of software for a scanning and message forwarding system. Qualifications: l BS or MS degree in CS l 2+ years of experience in C++ programming l Experience with Java and object-oriented analysis and design l Experience with Sun workstations running Solaris l Experience with using tools such as Rogue Wave and Purify

Computer ScienceSoftware Engineering Slide 16 More : The responsibilities of this role include: Defining the functional requirements of the Applications Software solution and designs solution to meet those requirements Analyzing situations or data to determine feasibility of design within time and cost requirements Designing and developing Software applications Consulting with other engineering staff to evaluate interface between hardware and software to maximize performance of the applications Writing code for individual components of Multi-Tier applications Building and executing Database Server scripts Maintaining documentation of code and performs bug fixes Consulting with clients concerning maintenance of applications