0% found this document useful (0 votes)
10 views46 pages

Project Planning and Structuring Guide

The document outlines the key components of project planning and structuring, including business analysis, requirements engineering, and software architecture patterns. It emphasizes the importance of identifying customer needs, defining functional and non-functional requirements, and utilizing estimation techniques for project resources. Additionally, it discusses various software architecture styles and their suitability based on project size and complexity.

Uploaded by

anismansour2002
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views46 pages

Project Planning and Structuring Guide

The document outlines the key components of project planning and structuring, including business analysis, requirements engineering, and software architecture patterns. It emphasizes the importance of identifying customer needs, defining functional and non-functional requirements, and utilizing estimation techniques for project resources. Additionally, it discusses various software architecture styles and their suitability based on project size and complexity.

Uploaded by

anismansour2002
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Project

Planning &
Structuring
Agenda
• Business Analysis & Requirements Engineering
• Identify customer needs
• Functional non-functional requirements
• User Stories, Use Case Diagrams tools
• Software Architecture Patterns
• Software Estimation Techniques, cost and time
• Resource estimation (COCOMO or Function Point Analysis)
Project Planning &
Structuring

Team 20
Sameh Taher

Ahmed Ibrahim

Doaa Abdelfatah

Zakeia Shehata

Anis Mansour
Project Lifecycle & Feasibility
Initiate Initiate: define goals and feasibility

Plan Plan: structure tasks, schedule, resources


Project
Life
Cycle Execute and Execute and Monitor: deliverables, risk
Monitor management

Close Close: evaluate and document outcomes


Project
Life
Cycle
Feasibility Analysis

IDENTIFY PROJECT VALUE USE TECHNIQUES: SWOT ENSURE STRATEGIC


AND RISKS ANALYSIS, PAYBACK ALIGNMENT AND
PERIOD, ROI, NPV SUSTAINABILITY
Planning (SWOT & Scope)
SWOT
Analysis
Formalizi
ng Goals 1 2 3
and
Scope Define SMART
objectives
Apply MoSCoW
prioritization
(Must, Should,
Manage scope
creep through
documentation
Could, Won’t)
Work Decompose project into
Breakdo work packages
wn
Structure Product-oriented vs
(WBS) Process-oriented WBS

Use WBS dictionary for task


definitions and ownership
Work
Breakdo
wn
Structure
(WBS)
Business Analyses &
Requirements Engineering
Business Analysis

Identify
Analyze business
stakeholders,
environment and
processes, and
workflows
information systems
Identifying Requirements

Techniques:
interviews, Focus on operational
workshops, document needs and pain points
analysis
Requireme Find Early validation
nts inconsistencies, reduces
incompleteness, implementation
Validation duplication errors
Identifying Customer Needs
From
Customer
Needs to
Requirements
• Translate business needs
into system functionality
• Focus on what users need
to achieve, not just system
behavior
Functional Requirements
• Describe system actions and user interactions
• Examples: 'submit form', 'generate report', 'notify user'
Non-Functional
Requirements
• Define performance, reliability, usability
• Use FURPS model: Functionality, Usability, Reliability, Performance,
Supportability
Diagrams & Tools
Format: As a [user] I want
[goal] so that [reason]
User
Stories: Agile-friendly, customer-centric
Capturi
ng User
Needs Easy for stakeholders to
validate
Use Case Diagrams:
System Interactions

Actors and system Clarifies functional


interaction scope and
visualization dependencies
Use
Case
Diagram
Architecture Patterns
Software
Architecture
Patterns
Architecture defines component structure and
interaction
• Pipe and filter
– Composition of data processing units
– Focus: I/O specification

• Layered/Hierarchical
– Hierarchy of components
– Focus: control and information flow; block
responsibilities
Software
Architecture
Patterns
• Data-Centric
– MVC: data, presentation, and logic
– Focus: data model, operations
– Many web applications and many desktop
applications use the data-centric architectural style

• Client-server
– Server (main functions) and clients (requesting
services)
– Focus: communication protocolo/service
specifications
Pipeline
Architectu
re
• Composition of data
processing units
• Focus: I/O
specification
Layered
Architectu
re
• Divide system
responsibilities into
layers
• Common in
enterprise
applications
Data-
Centric
and MVC
• Model-View-
Controller separates
concerns
• Common in web and
desktop applications
Client-
Server
Architectur
e
• Servers provide
services, clients
request them
• Distributed
processing model for
scalability
Choosing Suitable Pattern
Monolithic
Architectu
re
• Single unified
codebase
• Easy to develop
initially
• Harder to scale and
modify later
Microservices Architecture

Decomposed into Enables scalability Requires complex


independent services and flexibility orchestration
Serverless Architecture

Event-driven, Highly scalable, low Suitable for specific


functions as services maintenance small modules
Selecting Architecture Style

CONSIDER PROJECT SIZE, MONOLITHIC FOR SIMPLE MICROSERVICES OR


EXPECTED GROWTH, TEAM PROJECTS SERVERLESS FOR SCALABLE
EXPERTISE SYSTEMS
Estimation Techniques
Basics of Software Estimation

Estimate effort Duration = Effort / Plan for direct +


(work), manpower, Available indirect project
and duration Resources activities
Expert-Based Estimation

Based on experience Top-down: estimate Bottom-up: sum


and similar past projects major deliverables first detailed task estimates
PERT Estimation Technique

Use three points: Useful for uncertainty modeling

Optimistic (a)
Most Likely (m)
Pessimistic (b)
PERT
Formula
COCOMO Model for Estimation

Basic COCOMO: Estimate effort based Organic, Semi-detached, Embedded


on KLOC (thousands of lines of code) project types
Advanced COCOMO Usage

Adjust factors: product complexity, Detailed cost drivers improve estimate


team capability, tools, and environment accuracy
Function Point Analysis

1 2 3
Measure Classify: Inputs, Assign weight
functional user Outputs, Files, and calculate
requirements Interfaces, project size
Inquiries
Refining Resource Estimation

Combine multiple techniques (Expert, COCOMO, Function


Combine Points)

Adjust Adjust based on project risks and unknowns

Monitor Monitor estimation accuracy throughout project lifecycle


Thank You

You might also like