Prescriptive Design Method

Prescriptive design methods are systematic approaches to software design that prescribe specific steps, processes, or techniques to follow. These methods are often rule-based and lay out a structured path for solving a software problem, making it easier to manage complexity and ensure quality. For example, the Waterfall model or Agile methodologies can be considered prescriptive in nature.

However, it’s important to note that prescriptive design methods are not directly translated into code. Instead, they guide how code should be written, structured, or maintained. This means that we cannot provide direct code samples in Java, C++, or Python for a prescriptive design method. Yet, you can certainly implement software that aligns with the principles of a given method in these languages.

Code in Context of Prescriptive Design Method

Java

In Java, you might follow SOLID principles, which is a part of object-oriented prescriptive design.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// Single Responsibility Principle
public class Order {
    void calculateTotal() {
        // Logic here
    }
}

public class OrderPrinter {
    void printOrder(Order order) {
        // Logic here
    }
}

C++

In C++, you can use RAII (Resource Acquisition Is Initialization), a prescriptive method to manage resources.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
class Resource {
public:
    Resource() {
        // Acquire resource
    }

    ~Resource() {
        // Release resource
    }
};

void functionUsingRAII() {
    Resource res;
    // Use the resource
}

Python

In Python, you could adhere to PEP 8, a prescriptive design method focusing on code style and readability.

1
2
3
4
# Following PEP 8
def function_name(parameter_one, parameter_two):
    """This is a docstring."""
    pass

In each of these examples, the code reflects the prescriptive methods or principles they follow, which guide how the code is structured and written.

Here is content on Prescriptive Design Method following the specified structure:

Prescriptive design methods provide a systematic procedure and sequence of steps to follow to generate an artifact or output. They prescribe a rigid design process rather than allowing flexible exploration.

Some common prescriptive design methods include:

  • Waterfall model in software engineering - Linear sequence of requirements, design, implementation, testing steps.

  • Instructional design models like ADDIE - Analysis, design, development, implementation, evaluation phases.

  • Architectural design methods - Following a systematic approach to building architecture.

  • Manufacturing methods like assembly lines - Fixed series of steps for construction.

  • Traditional schooling - Set curriculum and way of teaching skills and knowledge.

Prescriptive methods aim to make design reproducible and minimize reliance on intuition. However, they can also be inflexible to iterate on.

Example pseudo-code:

# Waterfall model

requirements = gather_requirements()
design = create_design(requirements)
implementation = code_system(design)
testing = test_system(implementation)
deployment = deploy(implementation)

# Instructional design

analysis = analyze_goals()
design = design_materials(analysis) 
development = develop_content(design)
implementation = deliver_instruction(development)
evaluation = evaluate_effectiveness(implementation)

# Architectural design

site = assess_site()
schematics = draw_plans(site)
materials = select_materials(schematics)
construction = build_structure(materials)

The structure follows a defined sequence of steps typical of prescriptive methods.