9-jun-15software architecture and design1 architecture style 3: abstract data types( object...

65
Mar 27, 2022 Software Architecture and Design 1 Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems (e.g. CORBA) Interesting properties data hiding (internal data representations are not visible to clients) can decompose problems into sets of interacting agents Disadvantages objects must know the identity of objects they wish to interact with

Upload: clement-whitehead

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 1

Architecture Style 3: Abstract Data Types( Object Oriented)

Examples:abstract data typesobject broker systems (e.g. CORBA)

Interesting properties data hiding (internal data representations are not visible to clients) can decompose problems into sets of interacting agents

Disadvantagesobjects must know the identity of objects they wish to interact with

Page 2: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 2

Architecture Style 4: Event Based(Implicit Invocation)

Examplesdebugging systems (listen for particular breakpoints)database management systems (for data integrity checking)graphical user interfaces

Interesting propertiesannouncers of events don’t need to know who will handle the eventSupports re-use, and evolution of systems (add new agents easily)

DisadvantagesComponents have no control over ordering of computations

Page 3: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 3

Explicit Invocationclass Client {

    ServiceProvider sp;    public void f() {   ...   sp.someService();        ...    }}

class ServiceProvider {    public void someService() {        ...    }}

Page 4: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

4

Implicit Invocationpublic interface

ClientInterface {    public void eventHandler();}

class Client implements ClientInterface {    ServiceProvider sp;    Client() {       sp.registerListener(this);    }    public void eventHandler() {        ...    }}

class ServiceProvider {    ClientInterface client;    public void registerListener(ClientInterface  c) {        client = c;    }    // This routine runs sometime later after    // the client has registered to listen    // for events.    public void f() {        ...        // notify listener        client.eventHandler();    }}

Page 5: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 5

Architecture Style 5: Layered Systems

Examples Operating Systems Communication protocols

Interesting properties Support increasing levels of abstraction during design Support enhancement (add functionality) and re-use Can define standard layer interfaces

DisadvantagesMay not be able to identify (clean) layers

Page 6: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 6

Architecture Style 6: Repositories(Black Board Architecture)

Examples databases blackboard expert systems programming environments

Interesting properties can choose where the locus of control is (agents, blackboard, both) reduce the need to duplicate complex data

Disadvantagesblackboard becomes a bottleneck

Page 7: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 7

Architecture Style 7: Process Control

Examples aircraft/spacecraft flight control systems controllers for industrial production lines, power stations, etc. chemical engineering

Interesting properties separates control policy from the controlled process handles real-time, reactive computations

Disadvantages Difficult to specify the timing characteristics and response to

disturbances

Page 8: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 8

Process Control

Page 9: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 9

Architecture Style 8: Model-View-Controller

Properties One central model, many views (viewers) Each view has an associated controller The controller handles updates from the user of the view Changes to the model are propagated to all the views Very popular, used extensively in Java and other languages.

Page 10: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 10

Architecture Style 8: Client-Server

Client-server is a distributed system architecture style. A client process on one side receives services from a

server process on the other side. Usually the server doesn't know the identity of the clients

in advance. A protocol is defined for communication between client

and server (for example, HTTP, FTP, and WAP are all common Internet protocols).

Clients may locate servers indirectly through some type of registry. WWW clients find server locations through DNS.

Page 11: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 11

Architecture Style 9: 3-Tiered and N-Tiered Architecture

Very common among web applications is the three-tiered architecture design: User Interface <--> Business Logic <--> Database.

Most data-driven systems that have a user interface follow this architecture model.

The coupling between layers can be reduced by limiting communication to some subset of the classes within a layer. The subset defines the interface onto the layer.

Page 12: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Apr 18, 2023Software Architecture and

Design 12

Page 13: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 13

Project management

Apr 18, 2023

Yash
Page 14: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

14

IT projects have a terrible track record. A 1995 Standish Group study (CHAOS) found that

only 16.2 percent of IT projects were successful in meeting scope, time, and cost goals.

Over 31 percent of IT projects were canceled before completion, costing over $81 billion in the U.S. alone.*

*The Standish Group, “The CHAOS Report” (www.standishgroup.com) (1995). Another reference is Johnson, Jim, “CHAOS: The Dollar Drain of IT Project Failures,” Application Development Trends (January 1995).

Motivation for Studying Project Management

Apr 18, 2023 Software Project Management

Page 15: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

15

Advantages of Using Formal Project Management

Better control of financial, physical, and human resources.

Improved customer relations. Shorter development times. Lower costs. Higher quality and increased reliability. Higher profit margins. Improved productivity. Better internal coordination. Higher worker morale (less stress).

Apr 18, 2023 Software Project Management

Page 16: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

16

Project Management Skills

Leadership Communications Problem Solving Negotiating Influencing the Organization Mentoring Process and technical expertise

Page 17: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

17

PM History in a Nutshell Birth of modern PM: Manhattan Project

(the bomb) 1970’s: military, defense, construction

industry were using PM software 1990’s: large shift to PM-based models

1985: TQM 1990-93: Re-engineering, self-directed teams 1996-99: Risk mgmt, project offices 2000: M&A, global projects

Apr 18, 2023 Software Project Management

Page 18: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 18

Project Management What’s a project? PMI definition

A project is a temporary endeavor undertaken to create a unique product or service

Progressively elaborated With repetitive elements

A project manager Analogy: conductor, coach, captain

Apr 18, 2023

Page 19: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 19

Interactions / Stakeholders

As a PM, who do you interact with? Project Stakeholders

Project sponsor Executives Team Customers Contractors Functional managers

Apr 18, 2023

Page 20: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 20

PM Tools: Software Low-end

Basic features, tasks management, charting MS Excel, Milestones Simplicity

Mid-market Handle larger projects, multiple projects,

analysis tools MS Project (approx. 50% of market)

High-end Very large projects, specialized needs, enterprise AMS Realtime Primavera Project Manager

Apr 18, 2023

Page 21: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 21

Tools: Gantt Chart

Apr 18, 2023

Page 22: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 22

Tools: Network Diagram

Apr 18, 2023

Page 23: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 23

PMI’s 9 Knowledge Areas Project integration management Scope Time Cost Quality Human resource Communications Risk ProcurementApr 18, 2023

Page 24: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 24

First Principles

One size does not fit all Patterns and Anti-Patterns Spectrums

Project types Sizes Formality and rigor

Apr 18, 2023

Page 25: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 25

Why Rapid Development

Faster delivery Reduced risk Increased visibility to customer Don’t forsake quality

Apr 18, 2023

Page 26: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 26

Strategy

Classic Mistake Avoidance Development Fundamentals Risk Management Schedule-Oriented Practices

Apr 18, 2023

Page 27: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 27

Four Project Dimensions

People Process Product Technology

Apr 18, 2023

Page 28: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 28

Trade-off Triangle

Fast, cheap, good. Choose two.

Apr 18, 2023

Page 29: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 29

Trade-off Triangle Know which of these are fixed & variable for every

project

Apr 18, 2023

Page 30: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 30

People

“It’s always a people problem” Gerald Weinberg, “The Secrets of Consulting”

Developer productivity: 10-to-1 range

- Improvements:- Team selection- Team organization Motivation

Apr 18, 2023

Page 31: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

People… …the most important factor in success

of software project. “Companies That sensibly manage their

investment in people will prosper in the long run” .

Cultivation of motivated and highly skilled software people has always been important for software organizations.

The “people-factor” is so important that has developed People Management Capability Maturity Model (PM-CMM).

Page 32: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

PM-CMM In simple words - to enhance the

people’s capabilities through personnel development

Organizations that achieve high levels of maturity in PM-CMM have a higher likelihood of implementing effective software engineering practices

Page 33: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

PM-CMM (Contd.) Key Practice Areas of PM-CMM

Recruiting Selection Performance Management Training Compensation Career development Organization and work design Team/culture development

Page 34: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 34

People 2

Other success factors Matching people to tasks Career development Balance: individual and team Clear communication

Apr 18, 2023

Page 35: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 35

Process

Is process stifling? 2 Types: Management & Technical Development fundamentals Quality assurance Risk management Lifecycle planning Avoid abuse by neglect

Apr 18, 2023

Page 36: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 36

Process 2

Customer orientation Process maturity improvement Rework avoidance

Apr 18, 2023

Page 37: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 37

Product

The “tangible” dimension Product size management Product characteristics and

requirements Feature creep management

Apr 18, 2023

Page 38: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 38

Technology

Often the least important dimension

Language and tool selection Value and cost of reuse

Apr 18, 2023

Page 39: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 39

Planning

Determine requirements Determine resources Select lifecycle model Determine product features

strategy

Apr 18, 2023

Page 40: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 40

Tracking

Cost, effort, schedule Planned vs. Actual How to handle when things go off

plan?

Apr 18, 2023

Page 41: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 41

Measurements To date and projected

Cost Schedule Effort Product features

Alternatives Earned value analysis Defect rates Productivity (ex: SLOC) Complexity (ex: function points)

Apr 18, 2023

Page 42: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 42

Technical Fundamentals

Requirements Analysis Design Construction Quality Assurance Deployment

Apr 18, 2023

Page 43: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 43

Project Phases

All projects are divided into phases All phases together are known as

the Project Life Cycle Each phase is marked by

completion of Deliverables Identify the primary software

project phases

Apr 18, 2023

Page 44: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 44

Software Projects Projects deficiencies: Software

is delivered late, is unreliable, costs several times the original estimates, exhibits poor performance, does not meet its requirements.

Note: These are technology issues, but caused by management!

Apr 18, 2023

Page 45: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 45

Introduction

Many software projects fail: due to faulty project management

practices: It is important to learn different aspects

of software project management.

Management techniques derived from small-scale projects do not scale up to large systems development.

Apr 18, 2023

Page 46: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 46

Introduction

Goal of software project management: enable a group of engineers to work efficiently towards successful completion of a software project.

Apr 18, 2023

Page 47: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 47

Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software.

Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software.

Software project management

Apr 18, 2023

Page 48: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 48

The product is intangible. The product is uniquely flexible. Software engineering is not recognized as an

engineering discipline with the same status as mechanical, electrical engineering, etc.

The software development process is not standardised.

Many software projects are 'one-off' projects.

Software management distinctions

Apr 18, 2023

Page 49: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 49

Responsibility of project managers Project proposal writing, Project cost estimation, Scheduling, Project staffing, Project monitoring and control, Software configuration management, Risk management, Managerial report writing and

presentations, etc.

Apr 18, 2023

Page 50: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 50

Software Manager Responsibilities

Proposal writing objectives justification rough working plan cost and schedule estimates

Project costing estimate book-keeping & re-

estimation Project planning and scheduling

identify activities, milestones, deliverables

plan development guide estimate resources required

Project monitoring and reviews keep track of progress compare actual to planned

progress informal on daily basis formal at scheduled reviews adapt to objective changes

Personnel selection and evaluation

weigh experience vs. cost vs. availability

consider skill development (learning process)

Report writing and presentation concise, coherent, abstract for clients & contractors

Apr 18, 2023

Page 51: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 51

These activities are not peculiar to software management.

Many techniques of engineering project management are equally applicable to software project management.

Technically complex engineering systems tend to suffer from the same problems as software systems.

Management commonalities

Apr 18, 2023

Page 52: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 52

Introduction

A project manager’s activities are varied. can be broadly classified into:

project planning, project monitoring and control activities.

Apr 18, 2023

Page 53: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 53

Project Planning

Once a project is found to be feasible, project managers undertake project planning.

Planning takes most management time!!!!!!!!!!!!!!

Apr 18, 2023

Page 54: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 54

Project Planning Activities

Estimation: Effort, cost, resource, and project duration

Project scheduling: Staff organization:

staffing plans Risk handling:

identification, analysis, and abatement procedures

Miscellaneous plans: quality assurance plan, configuration

management plan, etc.Apr 18, 2023

Page 55: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 55

Project planning

Requires utmost care and attention --- commitments to unrealistic time and resource estimates result in: irritating delays. customer dissatisfaction adverse affect on team morale

poor quality work project failure.

Apr 18, 2023

Page 56: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 56

Staffing Project Managers usually

take responsibility for choosing their team: need to identify and select good software engineers for the success of the project.

Apr 18, 2023

Page 57: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 57

Staffing A common misconception:

one software engineer is as productive as another:

Experiments reveal: a large variation in productivity

between the worst and best in a scale of 1 to 10.

Worst engineers even help reduce the overall productivity of the team

in effect exhibit negative productivity.

Apr 18, 2023

Page 58: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 58

Project staffing May not be possible to appoint the ideal people to

work on a project Project budget may not allow for the use of highly-

paid staff; Staff with the appropriate experience may not be

available; An organisation may wish to develop employee

skills on a software project. Managers have to work within these constraints

especially when there are shortages of trained staff.

Apr 18, 2023

Page 59: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 59

Project planning Probably the most time-consuming project

management activity. Continuous activity from initial concept through

to system delivery. Plans must be regularly revised as new information becomes available.

Various different types of plan may be developed to support the main software project plan that is concerned with schedule and budget.

Apr 18, 2023

Page 60: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 60

Types of project plan

Plan Description

Quality plan Describes the quality procedures and standards that will be used in a project. See Chapter 27.

Validation plan Describes the approach, resources and schedule used for system validation. See Chapter 22.

Configuration management plan

Describes the configuration management procedures and structures to be used. See Chapter 29.

Maintenance plan Predicts the maintenance requirements of the system, maintenance costs and effort required. See Chapter 21.

Staff development plan.

Describes how the skills and experience of the project team members will be developed. See Chapter 25.

Apr 18, 2023

Page 61: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 61

Project planning processEstablish the project constraints Make initial assessments of the project parameters Define project milestones and deliverableswhile project has not been completed or cancelled loop

Draw up project scheduleInitiate activities according to schedule

Wait ( for a while ) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables if ( problems arise ) then Initiate technical review and possible revision end ifend loop

Apr 18, 2023

Page 62: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 62

The project plan

The project plan sets out: The resources available to the

project; The work breakdown; A schedule for the work.

Apr 18, 2023

Page 63: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 63

Sliding Window Planning

Involves project planning over several stages: protects managers from making

big commitments too early. More information becomes

available as project progresses. Facilitates accurate planning

Apr 18, 2023

Page 64: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 64

SPMP Document

After planning is complete: Document the plans: in a Software Project Management Plan(SPMP) document.

Apr 18, 2023

Page 65: 9-Jun-15Software Architecture and Design1 Architecture Style 3: Abstract Data Types( Object Oriented) Examples: abstract data types object broker systems

Software Project Management 65

Organization of SPMP Document

Introduction (Objectives,Major Functions,Performance Issues,Management and Technical Constraints)

Project Estimates (Historical Data,Estimation Techniques,Effort, Cost, and Project Duration Estimates)

Project Resources Plan (People,Hardware and Software,Special Resources)

Schedules (Work Breakdown Structure,Task Network, Gantt Chart Representation,PERT Chart Representation)

Risk Management Plan (Risk Analysis,Risk Identification,Risk Estimation, Abatement Procedures)

Project Tracking and Control Plan Miscellaneous Plans(Process Tailoring,Quality

Assurance)Apr 18, 2023