Software Engineering Principles Practical Advice and Steps for Managing Your Project.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Prescriptive Process models
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
Chapter 4 Principles that Guide Practice
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 5 Software Engineering Practice
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Agile Project Management By: Jim Highsmith Presented by: Brian Faulk.
Chapter : Software Process
Chapter 4 Requirements Engineering
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Design Issues Practice: A generic View Design Principles.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 2 Process: A Generic View
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 5.1 Software Engineering Practice  Provide value to the user  KIS—keep it simple!  Maintain the product and project “vision”  What you produce,
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 5 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily.
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.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Thoughts Before Requirements Gathering. Requirements Gathering Functional Requirements – Functional requirements explain what has to be done by identifying.
Project Management Concepts
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Teamwork Writing Consultant Presentation
Software Project Management Lecture # 2. Outline The 4 Ps in Project Management Detailed Insight of each P.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Design: Principles, Process, and Concepts Getting Started with Design.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter : Project Management Concept
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Software Project Management Lecture # 2 Originally shared for: mashhoood.webs.com.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
The principles of an object oriented software development process Week 04 1.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Software Project Management
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
 System Requirement Specification and System Planning.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Process 4 Hours.
Software Engineering Principles I (Spring 2017)
Software Quality Engineering
Object Oriented Analysis and Design
Software engineering practices And Software requirements Engineering
For University Use Only
Software Engineering Practice: A Generic View
Chapter 7 Principles that Guide Practice
Software Project Management
Logical Architecture & UML Package Diagrams
Presentation transcript:

Software Engineering Principles Practical Advice and Steps for Managing Your Project

Getting Started The Process: Identifies the “Big Picture” Tasks The Project Management Plan: Outlines the “road map” to go from start to finish The Principles: Practical advice for guiding your work in each major framework activity

Problem Solving Principles Understand the Problem Communication, Requirements Gathering Plan a Solution Planning, Modeling, Designing Carry Out the Plan Implementation Examine the Results Testing, Delivery, Feedback See detailed questions pg 98 6/e

Step One: Communication Listen!! Customer, Advisor, End-User, Team Members, Conscience, etc. Prepare Get to know the customer’s context for more effective communication Prepare questions to guide the discussion and to avoid missing ideas Facilitate Assign a facilitator to keep the agenda moving Face-to-Face Document Record the important points, constraints, or decisions Collaborate Keep all stakeholders involved in defining the system Stay Focus Draw a Picture Keep Moving Negotiate a Winning Position for Everyone See task set pg 103 6/e

Step Two: Planning Understand the Project Scope Get Customer Concurrence on Plan Prepare to Iterate Over the Plan Estimate You must estimate to plan, if you can’t give a good estimate, then you’ll need to decompose the problem (or learn more about it) until you can Consider Risk Be Realistic Refine/Adjust Details as Milestones Approach Prepare to Measure Quality Prepare to Control Change Track Your Plan See task set pg 107 6/e Should be actively working tasks 1-8, beginning task 9

Step Three (a): Analysis Modeling Model the information What needs to be known to accomplish the problem Define the functions What things need to done to the information Define the behavior How will the software operate (external appearance) Modeling is best accomplished hierarchically Model beginning with concept (what) and proceed later to form (how) See task set pg 109 6/e

Step Three (b): Design Modeling Design should result from analysis Design should consider s/w architecture Give thought to your data structures Give extra care to communicate across interfaces Keep the end-user in mind when create the UI Keep components cohesive Keep components loosely coupled Keep your designs simple and easily understood Develop the design iteratively See task set on pg 112 6/e

Step Four (a): Construction-Coding Prepare to write code Follow structured programming techniques Follow your design If your tempted to deviate from your design, the return to the design step and re-think it from that perspective Use good style Meaningful names, comments, indentation Consider testing before coding Review what you’ve written with others Test your code Refactor your code to keep it clear See task set pg 114 6/e

Step Four (b): Construction-Testing Test requirements Plan test before you code Focus your test efforts Bugs tend to lurk in the same places: interfaces, boundaries, special conditions, cases, memory management, and complex code Test beginning small and proceeding to large Exhaustive testing is not possible (or desirable) See task set pg 115 6/e

Step Five: Deployment Manage customer expectations Keep them informed Keep your promises Delivery package should be tested in the deployed setting Plan for support after delivery Give real attention to providing end-user instructions on using the s/w Do not deliver buggy software—fix it first See task set pg 115 6/e

Additional Points of Emphasis General Principles for any Project (pgs ) Provide value – Reason for effort Keep it Simple Maintain Vision Understandable Products – Communicate Downstream Open to Future Plan for Reuse Why we model (pg 105 7/e,107 6/e) Types of Tests (unit, integration, validation and user, pg 111 7/e, 113 6/e)