CEN 4021 3 rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Software Quality Assurance Plan
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
Can you plan without understanding what is it that you are planning for? e.g. - what is it we are doing? - what do we need to do?
NEES Project Management Workshop June 16 June 18 1 Segment 2.
Project Scope Management
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
SE 555 Software Requirements & Specification Requirements Validation.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
4 4 By: A. Shukr, M. Alnouri. Many new project managers have trouble looking at the “big picture” and want to focus on too many details. Project managers.
Planning. SDLC Planning Analysis Design Implementation.
Release & Deployment ITIL Version 3
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Change Control.
What is Business Analysis Planning & Monitoring?
 A project is “a unique endeavor to produce a set of deliverables within clearly specified time, cost and quality constraints”
S/W Project Management
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Release Management.
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
PMP® Exam Preparation Course
PGD-1303 Software Project Management?. What is software? Software  Computer programs and associated documentation Documentation includes  requirements.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Project Planning.
Requirements Analysis
Best Practices By Gabriel Rodriguez
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CEN st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi What.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Project Planning.
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Project.
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.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
SacProNet An Overview of Project Management Techniques.
Approaching a Problem Where do we start? How do we proceed?
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Project.
Lecture 7: Requirements Engineering
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Requirements Engineering Requirements Elicitation Process Lecture-6.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Project Planning.
Page 1 JUSTIFY define and validate REQUIRE- MENTS define initial management DOCUMENTS define INFRA- STRUCTURE allocated maintenance changes management.
1 EMS Fundamentals An Introduction to the EMS Process Roadmap AASHTO EMS Workshop.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Engineering Process
Project Management Project Integration Management Minder Chen, Ph.D. CSU Channel Islands
What is project management?
Software Requirements Specification Document (SRS)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
~ pertemuan 4 ~ Oleh: Ir. Abdul Hayat, MTI 20-Mar-2009 [Abdul Hayat, [4]Project Integration Management, Semester Genap 2008/2009] 1 PROJECT INTEGRATION.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CEN 4021 Software Engineering II Instructor: Peter Clarke Spring 2005.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
System Development Life Cycle (SDLC). Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project.
Information Technology Project Management, Seventh Edition.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Systems Analysis and Design
CEN 4021 Software Engineering II
Requirements Analysis
Presentation transcript:

CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software Project Management Software Project Planning Project Content and deliverables

3 rd LectureCEN 4021: Software Engineering II Acknowledgements  Dr. Onyeka Ezenwoye  Dr. Peter Clarke 2

3 rd LectureCEN 4021: Software Engineering II Agenda  Overview of phases of Software Project Management (SPM)  Software Project Planning –Project Content and deliverables

3 rd LectureCEN 4021: Software Engineering II Phases of SPM  The software project management activities include: –Project planning and scheduling –Project cost –Project monitoring and reviews –Personnel selection and evaluation –Report writing and presentations

3 rd LectureCEN 4021: Software Engineering II Phases of SPM  The previous management activities are captured using the acronym POMA: –Planning –Organizing –Monitoring –Adjusting

3 rd LectureCEN 4021: Software Engineering II POMA Management Process Planning Activities Organizing Activities Monitoring Activities Adjustment Activities

3 rd LectureCEN 4021: Software Engineering II POMA  Models the software management cycle –Software processes model development cycle  Applies software engineering knowledge –For example  Requirements elicitation  Software measurements

3 rd LectureCEN 4021: Software Engineering II POMA  Not necessarily sequential –Activities within each category may overlap –Categories may overlap –For example, original plans may be adjusted during monitoring and adjustment activities.

3 rd LectureCEN 4021: Software Engineering II Planning Set of activities used to develop a plan of attack for the project:  Description of software product i.e., artifact contents and deliverables.  The Software product attributes.  Project schedule.  Resources needed to meet project schedule.  Measurements used to gauge the status of the project.  Risk associated with project.

3 rd LectureCEN 4021: Software Engineering II Planning Points to note:  Time consuming  Important phase of SPM  Often rushed  Even with a well conceived plan changes are often necessary.  Experience is very helpful in developing a project plan. especially knowledge of organization.

3 rd LectureCEN 4021: Software Engineering II Organizing  Seeks to construct a software development based on the project plan.  Activities include: –Acquiring various skilled individuals needed for the project. –Defining the a process and a set of methodologies for the project. –Obtaining the tools to support the process and methodologies. –Creating a set of well-defined metrics to track and gauge the project.

3 rd LectureCEN 4021: Software Engineering II Organizing Issues of major concern:  Personnel are properly equipped to perform their designated task i.e., –equipping personnel include obtaining tools and preparing facilities –educating personnel in using tools, methodology, and metrics  Allocation of adequate financial funding.  Team may include financial and personnel management.  “People management” aspect of organizing is critically important. –Morale affects productivity

3 rd LectureCEN 4021: Software Engineering II Monitoring Monitoring focuses on:  Consistently and regularly collecting measurements.  Analyzing the data.  Representing and presenting the data for a defined set of reports.  Making projections and making recommendations based on the analysis of the data.  Involves people management.

3 rd LectureCEN 4021: Software Engineering II Adjusting  Adjustments are often necessary due to: –Changing software requirements –Discovery of an unfeasible design –Lost of skilled team members –Financial constraints  Adjustments may be made to: –Requirements –Schedule –Resources –Project content It is very important to do a thorough risk analysis during the planning stage of the project

3 rd LectureCEN 4021: Software Engineering II Agenda  Phases of Software Project Management (SPM)  Software Project Planning (POMA) –Project Content and deliverables

3 rd LectureCEN 4021: Software Engineering II Plan Content  Varies depending on the type of software project.  All project plans must address: –What is the nature of the s/w project and what software artifacts are the desired deliverables? –What is the overall schedule and the associated major project milestones? –What are the required resources and their associated financial costs? –What are the known risks and the areas that are still unknown?

3 rd LectureCEN 4021: Software Engineering II Comprehensive Plan  Problem and requirements –User problems needs and wishes  Product/Project Description –Complete scope of the project i.e., all project deliverables, and a description of each deliverable.  Product/Project Attributes –Description of the various attributes of deliverables and non deliverables as they pertain to the goals of the project e.g., quality. Identify metrics for the attributes.  Schedule –Sequence of tasks –Identification of milestones and deliverables

3 rd LectureCEN 4021: Software Engineering II Comprehensive Plan  Cost –Details in terms of some unit e.g., person-days, for each deliverable –Includes expenditures – tools, travel, training, communications  Resources –List of people needed and their skills –Complete set of tools –Special training –Software and hardware systems required

3 rd LectureCEN 4021: Software Engineering II Comprehensive Plan  Process and Methods –Description of the overall process and methods  Risks –List of potential problems –Assessed impact –Probability of occurrence –Plan to prevent risk from turning into a real problem

3 rd LectureCEN 4021: Software Engineering II Requirements Elicitation  Before the project can be initiated, software engineers need to: –identify the requirements of the project, –interfaces to related systems or subsystems.  Gathering s/w requirements is one of the most difficult task of any s/w project.  The software project manager needs to provide an environment conducive to proper requirements gathering and analysis. –Enough time and suitable skilled people

3 rd LectureCEN 4021: Software Engineering II Requirements Elicitation Points to note:  Requirements must be understood and agreed upon by all the stakeholders. –Not just software engineers  Not understanding the s/w requirements of the project can be very costly. –Improper testing, quality issues –Customer requirements not met –Missed schedules  Consult domain experts is necessary.  The requirements document is a contract!!

3 rd LectureCEN 4021: Software Engineering II Agreeing on and initiating Reqs Elicitation Reqs Analysis and Prototyping Reqs Review Reqs Specification Agreeing and “Signing Off” (as needed) General requirements management activities

3 rd LectureCEN 4021: Software Engineering II Requirements Analysis  Involves checking that the specification is correct, complete, consistent, unambiguous, and realistic.  Correct – accurately represents the client’s view of the system.  Complete – all possible scenarios are described including exceptional behavior.  Consistent – does not contradict itself.  Unambiguous – exactly one system is defined.

3 rd LectureCEN 4021: Software Engineering II Requirements Analysis  Software prototype - a s/w model created for the purpose of better understanding the requirements and the feasibility of the proposed solution.  Must have clearly specified schedules –To avoid repeated viewing and reviewing of prototypes –Define clear entrance and exit criteria. –Define scope of prototype activity. –Must be agree upon by everyone.

3 rd LectureCEN 4021: Software Engineering II Types of Requirements  Major types of requirements: –The project deliverables –The needs satisfied by the deliverables (project)  Project deliverables –Requirements document –Design document –Source code –Executable code –Test scenarios

3 rd LectureCEN 4021: Software Engineering II Types of Requirements  Project deliverables –Test cases with test data –User guide –Product reference manual –Test results and quality-related data –Process specification –Project plan  It is important to be informed of the practices of the organization.

3 rd LectureCEN 4021: Software Engineering II Types of Requirements  Project needs and their characterization –This is the area where most s/w engineers, rather than the software project manager, should focus there energy. –The following items should be identified: –The functionality of the s/w –The nonfunctional requirements of the s/w –The interfaces that the s/w needs to interact with its users

3 rd LectureCEN 4021: Software Engineering II Review and Approval of Requirements  software project manager needs to ensure the first set of reqs (the deliverables) are clearly defined understood, prioritized, and agreed upon by the stakeholders.  All parties should formally “sign-off” on the deliverables.  include a final review of the requirements specification prior to sign-off.

3 rd LectureCEN 4021: Software Engineering II Prioritization of Requirements  Project reqs are sometimes initiated by solution providers internally.  These requirements are the most difficult to evaluate.  The requirements usually initiate during maintenance.  It is a good idea to have a prioritization procedure for both internal and external reqs.  Inputs from the various reqs sources are constantly coming in to the s/w organization and being captured, possibly by an automated tool.

3 rd LectureCEN 4021: Software Engineering II Development Support Customer Consultant Reqs Repository Software Product Management Board List of Reqs input to the Product Plan Requirements Prioritization Requirements Sources Requirements Prioritization

3 rd LectureCEN 4021: Software Engineering II Prioritization of Requirements  Resources must be set aside for the following activities: –Regular review of inputs –Analysis of the valid inputs –Prioritization of the inputs –Response to both the accepted ideas and rejected ones –Formulation of the accepted reqs subset into actual reqs for the product plan.