Design Refinement

Design Refinement

Design Refinement By High School Technology Services myhsts.org Objective ● Learn how the system design can be improved Extensibility ● Extensibility is a software engineering and systems design principle where the implementation takes future growth into consideration. ● Softwares are not designed and developed at one go. ● Usually softwares are designed in an iterative process ● Design should include the future scope for extensibility Forms of Extensibility ● White Box ○ Open Box ○ Glass Box ● Black Box ● Gray Box Reusability ● Reusability is the use of existing assets in some form within the software product development process ● Each software component should be reusable ● This keeps the software code less complex Design Features - Reusability ● Adaptable ● Brief: small size ● Consistency ● Correctness ● Extensibility ● Fast ● Flexible Design Features - Reusability ● Generic ● Localization of volatile (changeable) design assumptions (David Parnas) ● Modularity ● Orthogonality ● Parameterization ● Simple: low complexity ● Stability under changing requirements Three Cs of Requirements ● Consistency ● Completeness ● Correctness Testing Business Processes ● BPT is a manual as well as automated testing solution for test design, creation, and execution. It helps reduce testing timelines. ● BPT approach includes: ○ Reusable business components ○ Business process tests ● BPT is a role-based model that allows business analyst and non-technical Subject Matter Experts (SME) to work with business components in a script free environment and create business process tests. Testing Business Processes ● BC1: First Business Component that opens browser and enters login credentials ● BC2: Second Business Component that navigates to accounts screen and searches for account ● BC3: Third Business Component that verifies field values Testing Business Processes The key concepts involved in BPT are as follows: ● Business Process: Business Process can be defined as the collection of related activities that are performed to achieve a predefined goal. ● Business Components: Business components are considered as set of small and reusable pieces of test cases ● Business Process Tests: Business Process Tests are test cases that include business components. ● Application Area: It is the logical entity and a repository that contains testing resources such as shared object repository, function library etc. Testing Business Processes BPT is a transformation that is used to solve traditional problems with automation testing, viz. ● Lack of coordination between manual testers/SMEs and automation engineers ● Lack of automation development standards ● Automation engineer’s insufficient knowledge of the application may cause inefficient scripts ● Huge maintenance efforts Design Metrics ● Design metrics are used for effective software development. It allows to achieve the following ● McCall’s triangle explains a whole set of measures that needs to be taken care of during the software design. ● These are the metrics that provide the effective software development McCalls Triangle of Quality OO Design Metrics ● Size ● Complexity ● Coupling ● Sufficiency ● Completeness ● Cohesion ● Primitiveness ● Similarity ● Volatility Discovering Reusable Patterns ● Design patterns are especially useful in turning an analysis model into an implementation model. ● Despite many claims that promise a smooth transition from object-oriented analysis to design, in practice the transition is anything but smooth. ● A flexible and reusable design will contain objects that aren't in the analysis model. ● The programming language and class libraries you use affect the design. ● Analysis models often must be redesigned to make them reusable. ● Many of the design patterns in the catalog address these issues, which is why we call them design patterns. ● A full-fledged design method requires more kinds of patterns than just design patterns. ● There can also be analysis patterns, user interface design patterns, or performance-tuning patterns. Looking Forward Project Management and Implementation Issues ● Planning for Reusability ● Transition Strategies and Planning Legacy System Integration ● Managing the Development Cycle ● Partitioning Work ● Source Code Organization ● Choosing Tools and Languages ● Software Quality Metrics Questions?.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us