1.05k likes | 1.54k Views
Introduction to Project Life Cycle (Part 2). Dr.Çağatay ÜNDEĞER Instructor Bilkent University, Computer Engineering Middle East Technical University, Game Technologies & General Manager SimBT Inc. e-mail : cagatay@undeger.com.
E N D
Introduction to Project Life Cycle(Part 2) Dr.Çağatay ÜNDEĞER Instructor Bilkent University, Computer Engineering Middle East Technical University, Game Technologies & General Manager SimBT Inc. e-mail : cagatay@undeger.com Bilgisayar Mühendisliği Bölümü – Bilkent Üniversitesi – Fall 2009
Introduction To Project Life Cycle • What is a Project Life Cycle? • Project management life cycle • System development life cycle (process model) • Usual Phases of Process Models • Planning • Analysis • Design • Implementation • Deployment • Maintenance • Prescriptive Process Models • Waterfall Model • Incremental Process Models • Evolutionary Process Models
controlling planning initiating closing executing monitoring Introduction (Project Management Life Cycle) • Contains the management phases (project management process groups) a project goes through from concept to completion. • The project management process groups: • Initiating, • Planning, • Executing, • Controlling, • Closing.
maintenance planning Introduction (System Development Life Cycle) • System development life cycle (process model); • Contains the development phases a project goes through from planning to maintenance.
Introduction (Process Model) • Defines a distinct set of; • Activities, • Actions, • Tasks, • Milestones, and • Work products that are required to engineer high quality software. • Not perfect, but provide a useful road map.
design implementation maintenance analysis planning deployment Usual Phases of Process Models • Planning • Analysis • Design • Implementation • Deployment • Maintenance
Phases of Process Models • Generally, the deliverables (documents, programs, hardware and data) from one phase are approved before the next phase starts. • Every process model must be adapted so that it is used effectively for a specific software project.
planning analysis controlling planning initiating closing implementation design executing monitoring deployment maintenance Project Management Life Cycle vs.Process Models • Project management life cyclecontains umbrella activities that cover process models looking from a higher perspective. Project management life cycle System development life cycle Process model
Introduction To Project Life Cycle • What is a Project Life Cycle? • Project management life cycle • System development life cycle (process model) • Usual Phases of Process Models • Planning • Analysis • Design • Implementation • Deployment • Maintenance • Prescriptive Process Models • Waterfall Model • Incremental Process Models • Evolutionary Process Models
Phases of Process Models (Planning) • Planning • Analysis • Design • Implementation • Deployment • Maintenance
Phases of Process Models (Planning) • The phase where; • Need for a new or enhanced system is identified, and • Proposed system’s scope is determined.
scope quality cost time Planning Activities • Identification of needs • Determination of scope • Preparation of baseline project plan
Identification of Needs • The organization’s information needs are examined, • The project’s coarse requirements are identified. • The system analysts prioritize and translate the coarse requirements into awritten document including; • a course description of the user needs, • feasibility statement and • a coarse schedule.
Determination of Scope • The requested system is further investigated by the system analysts, and • The scope of the system is determined.
Preparation of Baseline Project Plan • The system analysts produce a specific plan for the development, which is called the baseline project plan. • This project plan; • Customizes a process model and specifies the time and resources required for its execution.
Baseline Project Plan • The baseline project plan contains: • A Software Project Management Plan (SPMP) is written to guide the management procedures. • A Software Configuration Management Plan (SCMP)may be written in order to assure that the change management is performed in a control way. • A Software Quality Assurance Plan (SQAP) may be written to guide the quality assurance procedures. • A Software Validation & Verification (V&V) Plan (SVVP)may be written to guide the validation and verification procedures.
Who plans, and How? • Usually performed by the users and the development team together, • The first draft of plan is usually prepared before the project formally starts. • The plan may sometimes split into two primary documents: • Project Description Document (customer) • Tender (developer)
Primary Documents • Project Description Document: • Definition of the requirements • Includes needs, and scope • Usually a less technical document • Tender: • A proposal to meet the requirements • Includes needs, scope,and the baseline project plan • Usually a more technical document • There are many ways these documents are prepared.
Sample Case 1 • Project description document is written (customer). • Requested system is put out to tender (awarding). • Each interested IT company submits the customer what they propose to do with a formal written document, Tender. • Tender includes: • Objective of the system, • Scope of the system, • How they develop the system, • Proposed deliverables of the system, • Cost and time required for the development, • Baseline project plan. • Customer selects one of the tenders/company, and the project is started.
Sample Case 2 • Project description document is written (IT company) • The company estimates the requirements of a specific customer. • Project description document is transformed into a tender, and presented to the customer. • If customer finds the tender acceptable, • Project is started with the company that proposes the system.
Sample Case 3 • Project description document is written (IT company) • In order to solve the requirements of a specific market. • Project is started internally within the organization, • A commercial of the shelf (COTS) product is constructed to be sold in the market.
Sample Case 4 • Project may be evaluated and started within the organization for internal use.
Project Definition Document • A document that; • Defines the requirements of the user • Including the needs and the scope. • The first part of your term project will be; • A Project Definition Document (5%) • A translated (English) template for project definition document of Secretariat of Defense Industry (Savunma Sanayii Müsteşarlığı - SSM) will be provided.
Software Project Management Plan (SPMP) • Institute of Electrical and Electronics Engineers (IEEE) 1058 standard that; • Defines the approach to be used by the project team • To deliver the intended project management scope of the project [Wikipedia]. • The second part of your term project will be; • A Software Project Management Plan (10%)
Software Configuration Management Plan (SCMP) • IEEE 828 standard that; • Speficies the form of the document used; • To control and monitor the change in evolution of a software system [Walla Wall College] .
Software Quality Assurance Plan (SQAP) • IEEE 730 standard that; • Defines the techniques, procedures, and methodologies that will be used; • To assure timely delivery of the software that meets specified requirements within the project resources [Center for Space Research].
Software Validation & Verification Plan (SVVP) • IEEE 1012 standard that; • Specifies the form of the document used • To check that a software product meets specifications and that it fulfills its intended purpose [Wikipedia]. • Software Validation is the process of; • Assuring that expected requirements defined fully satisfies real requirements. • Software Verification is the process of; • Assuring that software fully satisfies all the expected requirements defined.
Phases of Process Models (Analysis) • Planning • Analysis • Design • Implementation • Deployment • Maintenance
Phases of Process Models (Analysis) • The phase where; • The system requirements are determined, • Alternative solutions are developed, and • One is chosen that best meets those requirements given; • Cost, • Labor, and • Technical resources the organization is willing to commit.
Analysis Activities • Requirements of the system are determined. • Requirements of the system are structured. • Alternative designs are generated.
Determining Requirements • Analysts work with users to determine exactly what the users will want from the proposed system. • This sub-phase requires a careful study of the any current systems linked to the proposed system.
Structuring Requirements • The analysts study the requirements, and • Structure them according to their relationships, eliminating any redundancies.
Generating Alternative Designs • The analysts generate alternative designs to meet the user requirements. • They compare the designs in order to determine; • Which one best meets the requirements given; • Cost, • Labor, and • Technical resources the organization is willing to commit to the project development.
Output of Analysis • The output of the analysis phase will be a description of the solution, • Software Requirements Specification (SRS) document, finally recommended by the analysis team.
Software Requirements Specification (SRS) • IEEE 830 standard that; • Specifies the form of the document used; • To complete description of the behavior of the system to be developed [Wikipedia]. • The third part of your term project will be; • A Software Requirements Specification (15%)
Phases of Process Models (Design) • Planning • Analysis • Design • Implementation • Deployment • Maintenance
Phases of Process Models (Design) • The phase where; • Description of the recommended alternative are converted into; • A logical description and then into a physical system specification. • Design all the aspects of the system; • From input and output screens • To reports, databases, algorithms, and computer processes.
Design Activities • Developing logical system design • Generating physical system specifications
Developing Logical System Design • Focuses on; • The business aspects of the system. • Design is not tied to; • Any specific hardware or system software platform. • Theoretically, designed system could be implemented using; • Any hardware and system software platform.
Generating Physical System Specifications • Converts logical design into technical specifications. • The logical design is broken down into; • Smaller and smaller system units; • That can be converted to computer instructions in a programming language. • Details of the implementation environment are specified.
Details of Implementation Environment • Hardware platforms and operating systems, • Programming languages, • Database systems and file structures, • Network environment.
Output of Design • The output of the design phase will be a description of the solution, • Software Design Description (SDD) document, ready to be delivered to the programmers and other system builders for implementation.
Software Design Description (SDD) • IEEE 1016 standard that; • Specifies the form of the document used; • To specify; • System architecture and • Application design in a software related project [Wikipedia]. • The fourth part of your term project will be; • A Software Design Description (15%)
Phases of Process Models (Implementation) • Planning • Analysis • Design • Implementation • Deployment • Maintenance
Phases of Process Models (Implementation) • The phase where; • The system specifications are turned into a working system that is; • Tested and • Ready to use.
Implementation Activities • Coding • Testing • Writing user manuals
Coding • Programmers write the programs that make up the system: • Developing system units • Integrating system units • Correcting bugs
Testing • A Software Test Documentation (STD) is written to guide the testing, and the reporting of the test results. • Programmers and analysts test; • Individiual programs (unit tests), and • Entire system (integration tests) • Guided by the software test plan in order to find and correct errors. • During testing, sample data entry and data production might be required.
Software Test Documentation (SDD) • IEEE 829 standard that; • Specifies the form of the document used; • To defined stages of software testing, each stage potentially producing its own separate type of document [Wikipedia].