950 likes | 1.12k Views
It 215. Analysis and Design Techniques. Software Quality Assurances Application Development Coding Testing the System Documentation Management Approval. System Installation and Evaluation Operational and Test Environment Training Data Conversion System Changeover Post-implementation.
E N D
It 215 Analysis and Design Techniques
Software Quality Assurances Application Development Coding Testing the System Documentation Management Approval System Installation and Evaluation Operational and Test Environment Training Data Conversion System Changeover Post-implementation Chapter 9 – Systems Implementation
Software Quality Assurance • Software Engineering • International Organization for Standardization
Software Quality Assurance • Software Engineering • The Web site for the Software Engineering Institute (SEI) at Carnegie Mellon University is a leader in software engineering • SEI designed a Capability Maturity Model (CMM)
Software Quality Assurance • International Organization for Standardization (ISO) • Many firms seek assurance that software systems will meet rigid quality standards • In 1991, ISO established a set of guidelines called ISO 9000-3 • ISO requires a specific development plan, which outlines a step-by-step process for transforming user requirements into a finished product
Application Development • Documentation Review • Program Design • Structure Charts • Cohesion and Coupling • Steps in Drawing a Structure Chart • Tools
Application Development • Application development is the process of constructing the programs and code modules that are the building blocks of the information system • Your first step in application development is to review carefully all existing documentation
Application Development • Documentation Review • You will need solid documentation from prior SDLC phases to design programs and code modules • Using the system documentation as a blueprint, you will develop structure charts that break the system into smaller pieces that programmers can translate into programs and modules
Application Development • Program Design • Must view the system as a series of interactive modules • Top-down design – partitioning - modular design • Use project management software
Application Development • Structure Charts • Structure charts show the program modules and the relationships among them • Control module • Subordinate modules
Application Development • Structure Charts • Module • library module • Data Couple • Control Couple • Flag • A module uses a flag to signal a specific condition or action to another module
Application Development • Structure Charts • Condition • A condition line indicates that a control module determines which subordinate modules will be invoked, depending on a specific condition • Loop • A loop indicates that one or more modules are repeated
Application Development • Cohesion and Coupling • If you need to make a module more cohesive, you can split it into separate units, each of which performs a single function • Loosely coupled • Tightly coupled • Passing status flags down from a control module generally is regarded as poor design
Application Development • Structure Chart Examples • Figure 9-14 shows the initial design for a structure chat based on the sales promotion policy that was described in structured English in Figure 4-41 • Figure 9-15 shows a structure chart based on a Grading System example that was described in Figure 4-19
Application Development • Steps in Drawing a Structure Chart • Step 1: Review the DFDs and Object Models • You should check for accuracy and completeness. • Step 2: Identify Modules and Relationships • You work your way down from the context diagram to the lower-level diagrams, identifying control modules and subordinate modules, until you reach functional primitives.
Application Development • Steps in Drawing a Structure Chart • Step 3: Add Couples, Loops, and Conditions • Identify the data elements that pass from one module to another • Step 4: Analyze the Structure Chart, the DFDs, and the Data Dictionary • Ensure that the chart reflects all previous documentation and that the logic is correct
Application Development • Other Application Development Tools • Program Flowcharts • Program flowcharts graphically represent the logic and interaction between program modules • Pseudocode • Is not language-specific, so you can use it to describe a software module in plain English without requiring strict syntax rules
Coding • Environments • Code Generation
Coding • Coding • Programming Environments • Each IT departments has its own programming environment and standards • Generating Code • Use application generators, report writers, screen generators, fourth-generation languages, and other CASE tools • Can generate editable program code directly from macros, keystrokes, or mouse actions
Testing the System • Unit Testing • Integration Testing • System Testing
Testing the System • Unit Testing • Test data should contain both correct data and erroneous data and should test all possible situations that could occur • Programmers must test programs that interact with other programs and files individually • Stub testing • Regardless of who creates the test plan, the project manager or a designated analyst also reviews the final test results
Testing the System • Integration Testing • Integration testing, or link testing • Testing the programs independently does not guarantee that the data passed between them is correct • Integration test data must consider both normal and unusual situations • A testing sequence should not move to the integration stage unless it has performed properly in all unit tests
Testing the System • System Testing • Major objectives: • Perform a final test of all programs. • Ensure that the IT staff has the documentation and instructions needed to operate the system properly and that backup and restart capabilities of the system are adequate
Testing the System • System Testing • Major objectives: • Demonstrate that users can interact with the system successfully • Verify that all system components are integrated properly and that actual processing situations will be handled correctly • Confirm that the information system can handle predicted volumes of data in a timely and efficient manner
Testing the System • System Testing • Acceptance tests • You should regard thorough testing as a cost-effective means of providing a quality product • If conflicting views exist, management will decide whether or not to install the system after a full discussion of the options
Documentation • Program Documentation • System Documentation • Operations Documentation • User Documentation
Documentation • Documentation • Program Documentation • This documentation guides programmers, who construct modules that are well supported by internal and external comments and descriptions that can be understood and maintained easily