CPTE 209 Software Engineering Summary and Review.

Slides:



Advertisements
Similar presentations
© QualSys Solutions 2008 Driving an Agile Peg in a CMMI Hole 1.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Software Life Cycles ECE 417/617: Elements of Software Engineering
W5HH Principle As applied to Software Projects
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Chapter 2 Succeeding as a Systems Analyst
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Fundamentals of Information Systems, Second Edition
Nov. 14, 2007 Systems Engineering ä System ä A set or arrangement of things so related as to form a unity or organic whole. ä A set of facts, principles,
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.
4. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the elements of project management and the responsibilities of a.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Oracle Database Administration. Rana Almurshed 2 course objective After completing this course you should be able to: install, create and administrate.
Chapter 6– Artifacts of the process
What is Business Analysis Planning & Monitoring?
Effective Methods for Software and Systems Integration
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Process: A Generic View
Software Project Management Introduction to Project Management.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
RUP Implementation and Testing
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Software System Engineering: A tutorial
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
System Development Process Prof. Sujata Rao. 2Overview Systems development life cycle (SDLC) – Provides overall framework for managing system development.
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
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.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Software Project Management By Deepika Chaudhary.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering Lecture # 1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Project Management
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
10-1 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Review of last class Software Engineering Modeling Problem Solving
Chapter 1 (pages 4-9); Overview of SDLC
Presentation transcript:

CPTE 209 Software Engineering Summary and Review

Course Objectives Students will be able to: Identify the appropriate process model for a software project based on an analysis of the nature of the application and project circumstances Synthesize elements from the various process models to create a custom process model tailored to the situation at hand.

3/166 Quasi Agile Principles Whenever there is a problem have a conversation – Always use the lightest weight possible mechanism to solve the problem – Face to face communication is faster, cheaper, higher bandwidth, and less ambiguous than written documentation. – Low tech solutions are faster, cheaper, and more likely to be used that complicated hi-tech solutions. – The cost of a process step must always be weighed against the cost of the implementation and the risk it mitigates – Always give simple, low tech solutions a chance, but use a more complex solution if needed.

4/170 Balancing Agility and Discipline Personnel – Less skilled – Highly Skilled Criticality – Many lives, Single life, Essential Funds, Discretionary funds, Comfort Project Size – 300, 100, 30, 10, 3 Culture – Requires Order, Thrives on Chaos Dynamism – Very stable requirements, Highly volatile requirements Plan Driven Agile

5/170 Balancing Agility and Discipline Industry oversight – Heavily regulated, somewhat regulated, unregulated Hardware dependencies – Embedded, custom attached devices, desktop application Organizational culture – Suit and tie, business casual, jeans Industry type – Commercial businesses; Hi tech: compilers, OS Funding capability – Deep pockets, standard funding, shoestring budget Organization size – Huge: government; Small: start up Client Interaction – Formal – document based; Close – interpersonal Risk – Architecture, Technology; Requirements, Business Value Plan Driven Agile

Course Objectives Students will be able to: Identify and explain the sources of complexity in software systems and projects

Course Objectives Students will be able to: List and explain the fundamental principles of good software engineering Domain Analysis Based Architecture-Centric Use-Case Configured Component Biased Quality Engineered

8 Use-Case Configured Architecture Application Use Cases Domain Relationships Business Goals & Technical System Requirements Commercial Standards & Frameworks

Course Objectives Students will be able to: Analyze the impact of continuous integration, incremental development, and early and frequent releases on the development team and stakeholders.

Course Objectives Students will be able to: Analyze the appropriateness of various process improvement models to a given corporate situation. – CMMI – ISO 900X

Course Objectives Students will be able to: Acquire and document customer requirements for a software application Discuss the problems inherent in requirements definition and describe how to help compensate for these difficulties. – Client knowing what they want – Client knowing the cost – Client knowing what technology can do – Client being able to articulate what they want – Developers understanding the requirements Lack of domain knowledge Ambiguous requirements Missing requirements Assumed requirements

Course Objectives Students will be able to: Discuss the difference between software development as a process of transforming a fixed set of requirements into software and software development as a means of delivering value to a set of stakeholders. Software Development Process ?????????? Software System input output

Course Objectives Students will be able to: Describe the differences between architectural design and detail design. – Components (subsystems, etc.) – Interfaces to each component – Relationships between components Patterns of interactions Constraints Create an appropriate object-oriented design by applying OO design patterns and principles to a given set of requirements An architecture for a system is the pattern of connections among the basic components of the system; the pattern embodies the relations and constraints among the constituent pieces of the system.

Course Objectives Students will be able to: Explain the various types of testing and review procedures and their applicability and limitations – Unit testing – Integration testing – System testing Functional requirements Quality requirements Contribute to the formation of a work breakdown structure for a project – What tasks are necessary to the creation of a simple website for a small business Black Box White Box

Course Objectives Students will be able to: Discuss the use of product metrics to access the quality of software – Time and effort to change software over time – Complexity – Number of entries in the issue tracking database Discuss the use of process metrics to access the progress of software development – % stories running and tested – Lines of code or function points completed Discuss the use of risk analysis to guide project decisions and communicate levels of uncertainty to stakeholders – Frequency, criticality, complexity -> Risk – Acceptance, mitigation, prevention – Best case, expected case, worse case and WHY

Course Objectives Students will be able to: Discuss the interlocking activities, phases, roles, processes, and procedures of the software engineering process – Domain analysis, Application analysis, Architecture, Detail Design, Implementation, Integrate and test Describe the primary reasons for project failure and discuss preventative measures for each – We fail to properly manage risks – We don’t build the right thing – We are blindsided by technology

Course Objectives Students will be able to: Discuss the categories of tools that support the software engineering process and evaluate the importance of each category for a given project Use an appropriate modern software engineering toolset for a given software project

Automated Tools Developer – CASE – Compiler – Debugger – Class browsers – GUI and DB builder – Configuration management – Web development tools – Testing – Installshield – DBMS, Middleware – Report Writer – Build tools

Automated Tools Project Management – Project planning and tracking – Estimating – Scheduling Both – Word processor – text editor – Spreadsheet – Group communications – Defect tracking – Web Browser