260 likes | 282 Views
Project Execution & Termination. Life Cycle Execution. Presented by: Basker George. Life Cycle (LC) Execution ( 实行 ). Executing Life Cycle for a project is an important activity. It is the longest activity during which the project’s process is executed.
E N D
Project Execution & Termination Life Cycle Execution Presented by: Basker George
Life Cycle (LC) Execution (实行) • Executing Life Cycle for a project is an important activity. • It is the longest activity during which the project’s process is executed. • It is the main Engineering activity for building software. • Proper LC execution is the focus of Software Product Engineering KPA of CMM Level 3
Cont… • The Life Cycle activities include: • Design • Coding • Integration (综合) • Testing • There are two approach that can be followed for the Life Cycle.
The first Approach to LC • In this approach each stage has a detailed process definition. • Support material document (文档) describe how each step is to be executed. • Hence a new comer (新来者) can easily learn the methodology & execute the process effectively using documentation.
The Second Approach to LC • In this approach, main focus is on the output & its quality rather than methodology • Output of each stage is of primary importance • Detailed step is used as guidelines (指导方针). • Infosys uses a mixed approach….
Cont… • The main source supporting Life Cycle execution are: • Activities (活动性) checklist: This consists of lowest level activities for process definition. • Guidelines: This describe the methodology for executing different phase…
Cont… • Templates (模板) : Define the structure & contents of the outputs of some stages. • Review (回顾) checklist: List the issues to look for while reviewing the output of each stage.
High Level Design • It is a Stage of the Life Cycle • Logical view of the computer implementation (执行) is developed. • Main outputs are: • Document describing functional (功能的) design • Database design. • Operating environment architecture
Functional Architecture (建筑) • It specifies the project’s overall layered architecture. • Example : Client layer, Server Layer, Application server layer & Database layer.. • It explains • How security is handled • Validation to be done • Exceptions to be handled…
Database Design • Indicates tables needed in the system • Attributes of each table, Primary Key, Foreign Key… • Stored procedures, Views & triggers
Detailed Design • The two main output during detailed design are: • Logic design of the components identified in the high-level design • Unit test plan for each unit of the system
Cont… • During this phase implementation for the module identified in high level design is specified. • All algorithms & data structure issues (难题) are resolved during this phase. • When detailed design phase is ready, the specified logic is coded using the required programming language.
Build Phase • During this activity, each module is coded & undergoes unit testing • The logic of detailed design is converted to the required programming language. • Coding standard for the selected language play a important role. • Using a checklist code review is done
Code Review Checklist • Completeness • Does the program handle all condition, function, & updates given in the specification? • Are inline comments used judiciously? • Are all design issues handled? • Have all user interface handled? • Are all boundary testing/debugging condition addressed?
Code Review Checklist • Logic and Correctness • Are all input parameter checked? • Are all subscript out-of-range condition checked? • Are results of error checks reported to the calling programs? • Are code layout & coding standards satisfied? • Is any hard-coding done? • Is any unwarranted coding done? • Are any uninitialized variables present? • Are any non terminating loop present
Code Review Checklist • Logic & correctness …cont… • Does each program has one entry & one exit point? • Are all declared variables used? • Is the program logic correct? • Is the program modular? • Is the code reusable?
Code Review Checklist • Reliability, portability • Have performance/efficiency check been done? • Is code independent of the character & word size of the platform? • Are records updated/deleted in the same order through out the system? • Do comments correspond to the logic being described? • Are error conditions comprehensively & consistently handled?
Code Review Checklist • Maintainability • Does the program have proper indentation? • Is there a description at the beginning of the program that gives details such as description of program functionality, the author, called program, calling program, so on? • Are the comments current & do they clarify the functions of each program/module? • Are the data names descriptive?
Code Review Checklist • Traceability • Can the program source be traced to the program specification? • Are all copy books used cross-referenced?
System Testing • System testing has two phase • System test planning • System test Activity • System test planning can be performed after High level design has been completed • System Testing Activity can take place only after all modules have been coded & unit tested, i,e after Build Phase.
Cont… • The out put of System test planning stage is TEST PLAN. • During testing activity, TEST PLAN is executed. • The output is SYSTEM TEST REPORT • The report specifies which test passed & which caused error. • The report is then reviewed & approved • The defect found are logged in the DEFECT CONTROL SYSTEM • The logged defects are the tracked (跟踪) to closure
Acceptance Test & Installation • The software that is developed to be considered successful, should be accepted by the customer. • The customer performs some acceptance test in the environment in which the software will operate. • Acceptance test works similar to system Testing. • An acceptance test plan is written & executed. • When the test result satisfies the acceptance criteria, the software is accepted.
Cont… • The acceptance test is prepared & executed by the customer with the help of vendor. • Defects found during acceptance test is fixed by the development team. • Both AT & installation require instruction how to load the software in production environment.
Cont… • A “release note “ is therefore prepared for the project. • This document contains information about • Directories to create • Where to place files • The tables in the system • Stored procedures • Strategy (策略) for populating (板上组装) the database • Software needed for client & server & source files of software.