PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Configuration Management
Software Quality Assurance Plan
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Implementation. We we came from… Planning Analysis Design Implementation Identify Problem/Value. Feasibility Analysis. Project Management. Understand.
Software Process and Product Metrics
Planning. SDLC Planning Analysis Design Implementation.
Introduction to Information System Development.
Extreme Programming Software Development Written by Sanjay Kumar.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1 Shawlands Academy Higher Computing Software Development Unit.
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Moving into Implementation SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED.Roberta M. Roth.
Slide 1 Construction (Testing) Chapter 15 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon.
© Copyright 2011 John Wiley & Sons, Inc.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. All rights reserved.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
CMIS 470 Structured Systems Design SDLC, DFD, ERD, Installation, Maintenance Review, Week 3.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
Construction, Testing, Documentation, and Installation Chapters 15 and 16 Info 361: Systems Analysis and Design.
1 Construction Chapter Key Concepts Be familiar with the system construction process. Understand different types of tests and when to use Understand.
Controls design Controls are “the plan of organization and all the methods and measures to safeguard its assets, check the accuracy and reliability of.
The Software Development Process
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
INFS 6225 Object-Oriented Systems Analysis & Design Chapter 12: Construction.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Human Computer Interaction Lecture 21 User Support
Methodologies and Algorithms
Information Systems Development
Project Management Chapter 3.
Software Engineering (CSI 321)
Game Design, Development, and Technology
Modern Systems Analysis and Design Third Edition
Systems Analysis and Design
Modern Systems Analysis and Design Third Edition
Software engineering – 1
Applied Software Implementation & Testing
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Engineering Processes
Introduction to Software Testing
The Object-Oriented Thought Process Chapter 05
Lecture 09:Software Testing
Introduction to Systems Analysis and Design
Modern Systems Analysis and Design Third Edition
Fundamental Test Process
MBI 630: Week 11 Interface Design
Systems Analysis and Design
Modern Systems Analysis and Design Third Edition
Project Management Process Groups
Chapter 1 Introduction(1.1)
Systems Construction and Implementation
Chapter 13: Construction
System Construction and Implementation
Systems Construction and Implementation
Chapter 11: Integration- and System Testing
Coupling Interaction: It occurs due to methods of a class invoking methods of other classes. Component Coupling: refers to interaction between two classes.
System analysis and design
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Modern Systems Analysis and Design Third Edition
Presentation transcript:

PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG CHƯƠNG 5 Triển khai Bộ môn Điện tử Kỹ thuật máy tính

Chương 5. Triển khai 5.2. Cài đặt và vận hành 5.1. Xây dựng hệ thống January 19 OOD - DEI.FET.HUT

Key Definitions Construction: The development of all parts of the software itself, documentation, and new operating procedures. Testing: A form of insurance. It’s cheaper to fix bugs earlier, rather than later. Documentation: Provides information to make the system easier to use and maintain January 19 OOD - DEI.FET.HUT

Main Tasks of Managing the Programming Effort Assigning the programmers Coordinating the activities Managing the schedule January 19 OOD - DEI.FET.HUT

Assigning Programmers Start by looking at the package diagrams Assign similar modules to the same programmer Fewer programmers is normally better January 19 OOD - DEI.FET.HUT

Coordinating Activities Hold weekly project meetings discuss changes to the system discuss other issues of the past week Create and follow standards Set up separate workspace for development, testing, production as a minimum, separate files Use change control program log, sign-in/-out Use CASE tools January 19 OOD - DEI.FET.HUT

Managing the Schedule Use initial time estimates as a baseline Revise time estimates as construction proceeds Fight against scope creep Monitor “minor” slippage Create risk assessment and track changing risks Risks change as deadline approaches Fight the temptation to lower quality to meet unreasonable schedule demands January 19 OOD - DEI.FET.HUT

Avoid Classic Mistakes 1. Research-oriented development If you use state-of-the art technology, lengthen planned time 2. Using “low-cost” personnel You get what you pay for. If using a significant number of entry level personnel, lengthen planned time 3. Lack of code control Use source code library to keep programmers from changing the same code at the same time. Why? 4. Inadequate testing Always allocate sufficient time for formal testing January 19 OOD - DEI.FET.HUT

Designing Tests

Designing Tests Testing can never prove there are no errors The purpose is not to demonstrate that the system is free of errors The purpose is to detect as many errors as possible Question: What are considered good test results? January 19 OOD - DEI.FET.HUT

Testing Philosophy It is dangerous to test early modules without an overall testing plan It may be difficult to reproduce sequence of events causing an error Testing must be done systematically and results documented carefully January 19 OOD - DEI.FET.HUT

Error Discover Rates January 19 OOD - DEI.FET.HUT

Testing and Object-Orientation Encapsulation and information hiding Attributes and actions are combined and hidden This makes testing hard So you need to test the business process represented by use cases Polymorphism and dynamic binding Don't know ahead of time which method will be bound at run time Rather than testing individual classes Focus on the class as the smallest unit of testing Reuse When code is reused in a different context It must be re-tested January 19 OOD - DEI.FET.HUT

Testing and Object-Orientation Inheritance If you find a bug in a class you don't know if it came from an ancestor class If so, you may see the same bug in sibling classes OO Development process and products Test all deliverables of the process Even the non-executable ones Can do this with a walk through January 19 OOD - DEI.FET.HUT

Test Planning Address all products created during development So develop test plan early Example, test completeness of CRC cards Each test: Has as specific objective Has specific test cases to examine Uses test specifications If the tested class requires methods that aren't ready Use stubs (hard coded fake methods) January 19 OOD - DEI.FET.HUT

Stages of Testing Unit testing Tests each module to assure that it performs its function Integration testing Tests the interaction of modules to assure that they work together System testing Tests to assure that the software works well as part of the overall system Acceptance testing Tests to assure that the system serves organizational needs January 19 OOD - DEI.FET.HUT

Unit Testing Tests a single unit (a class) Black Box Testing Most common Looks just at inputs and outputs Tests whether the unit meets requirements stated in specification January 19 OOD - DEI.FET.HUT

Unit Testing Unit tests based on White-Box Testing Looks inside the module to test its major elements Limited usefulness in OO design because units are so small Unit tests based on CRC cards, state diagrams Pre and Post conditions January 19 OOD - DEI.FET.HUT

Integration Testing After the classes pass unit tests Test classes that must work together January 19 OOD - DEI.FET.HUT

Integration Testing Four types of Integrating tests User interface testing Tests each interface function Move through each menu/screen Use-case testing Ensures that each use case works correctly Step through each use case Often combined with UI testing January 19 OOD - DEI.FET.HUT

Integration Testing Interaction testing System interface testing Start with a package Each method is a stub Add methods one at a time, testing as you go Once all packages are done, repeat on the package level System interface testing Ensures data transfer between systems January 19 OOD - DEI.FET.HUT

System Testing Requirements Testing Usability Testing Security Testing Performance Testing Documentation Testing January 19 OOD - DEI.FET.HUT

System Testing See that all classes work together Similar to integration testing but broader Requirements Testing Are business requirements met? Ensures that integration did not cause new errors Usability Testing Tests how easy and error-free the system is in use Informal or formal January 19 OOD - DEI.FET.HUT

System Testing Security Testing Performance Testing Assures that security functions are handled properly e.g. Disaster recovery Performance Testing Assures that the system works under high volumes of activity Documentation Testing Analysts check that documentation and examples work properly January 19 OOD - DEI.FET.HUT

Acceptance Testing Done by users with support from project team Ensure the system meets the originally stated requirements Alpha Testing Repeat tests by users to assure they accept the system, uses known data Beta Testing Uses real data, not test data January 19 OOD - DEI.FET.HUT

DEVELOPING DOCUMENTATION

Documentation Developed throughout SDLC Two types of documentation Not left to the end of the project Two types of documentation System Documentation User Documentation January 19 OOD - DEI.FET.HUT

System Documentation Helps programmers and analysts understand the application Used for development and maintenance Largely a byproduct of the system analysis and design phases Often stored in project binders Often can be automated (JavaDoc) January 19 OOD - DEI.FET.HUT

User Documentation Help users operate the system High quality documentation takes about 3 hours per page to produce Should not be left to the end of the project Build into the schedule time needed On-line documentation is growing in importance January 19 OOD - DEI.FET.HUT

Types of User Documentation Reference documents (help system) User needs to learn a specific task Procedures manuals How to perform a business function May require several tasks Tutorials How to use major function of system January 19 OOD - DEI.FET.HUT

Online Documentation Strengths Facilitates searching Same information can be presented in different formats Provide interaction with users using links or “tool-tips” Less expensive to distribute January 19 OOD - DEI.FET.HUT

On-Line Documentation Structure Documentation topics Material users want to read Common tasks This is where most uses start Because they know what they want to do They don’t know what command to look up Commands and menus Good if user knows that command or menu to use Definitions Good when user is using other parts of help system January 19 OOD - DEI.FET.HUT

On-Line Documentation Structure Navigation controls How user moves through help system Table of contents Index based on keywords & logically ordered Text search more words than index not in any logical order Intelligent agent Accepts natural language for searches Links between topics January 19 OOD - DEI.FET.HUT

Organizing On-Line Reference Documents January 19 OOD - DEI.FET.HUT

Writing Documentation Topics Need good understanding of users Focus on what the users wants to do No on what the system can do Start with clear titles Followed by an introduction that defines the topic Then give detailed step-by-step instructions Can include "show me" examples Include navigation controls January 19 OOD - DEI.FET.HUT

Guidelines for Crafting Documentation Topics Use the active voice Finding the albums is done using the album title. You can find an album by using the album title Minimize use of “to be” verbs The text you want to copy must me selected Select the text you want to copy January 19 OOD - DEI.FET.HUT

Guidelines for Crafting Documentation Topics Use consistent terms “Selected text” and “Marked text” Use simple language Eschew Recondite Locution Use friendly language Back up all essential documents You should make a backup copy of all data that is important to you January 19 OOD - DEI.FET.HUT

Guidelines for Crafting Documentation Topics Use parallel grammatical structure Opening files, Saving a document, How to delete files Opening a file, Saving a file, Deleting a file Use steps correctly “After cutting the blue wire” Use short paragraphs Enough said January 19 OOD - DEI.FET.HUT

Identifying Navigation Terms As you write a help topic Identify terms for Table of contents, Index, Text Search Other entries for index and search Commands in User Interface Both action and object parts of commands “save” and “files” Major concepts of the system Often from use cases and classes Business tasks performed by users Synonyms for the above three January 19 OOD - DEI.FET.HUT

Summary The project manager needs to manage coordination, scheduling, and overall effectiveness of the project. Testing begins early in the development process and continues looking to find problems throughout the development lifecycle. Documentation helps the user quickly assimilate the new technology and provide assistance in transitioning to the new business processes. January 19 OOD - DEI.FET.HUT