Subscribe by Email


Showing posts with label Design models. Show all posts
Showing posts with label Design models. Show all posts

Sunday, July 24, 2011

What are four major elements of design model in software engineering ?

There are two dimensions in which a design model can be illustrated: process and abstraction dimension. Process dimension points the changes in the design model as the design tasks are implemented as part of software process. Abstraction dimension represents the level of detail as each element of analysis model is transformed into design equivalent and refined iteratively.

Design model elements are not developed in a sequential fashion. The design model has four major elements:
- Data
- Architecture
- Components
- Interface

Data design focuses on files or databases at an architectural level and on a component level, data design considers the data structures that are required to implement local data objects.

The architectural model is derived from the application domain, the analysis model and available styles and patterns.

The interface design elements for software tells us how the information flows in and out of the system and how it is communicated among the components. There are three parts to interface design elements: the user interface, interfaces to systems external to application and interfaces to components within the application.
User interface elements include aesthetic elements, ergonomic elements and technical elements. External interface design requires information about entity to which information is sent or received. Internal interface design is closely related to component level design.

The component level design elements describes the internal detail of software component. The component level design defines data structures for all local data objects and algorithmic detail processing that occurs within a component and an interface that allows access to all behaviors.


Saturday, July 23, 2011

What are different characteristics of design classes in design engineering?

Analysis classes describes elements of problem domain. As design model evolves, some design classes are defined:
- refinement of analysis classes
- creating new design classes

There are five different types of design classes:
- Business domain classes.
- User Interface classes.
- Process classes.
- Persistent classes represents data stores.
- System classes.

For each design class, a set of attributes and operations are developed for each design class. Design classes present significantly more technical detail as a guide for implementation. The characteristics of a well formed design class are:

- Complete encapsulation of attributes and methods that exist for the class.
- The methods that are associated with design class should focus on accomplishing one service for the class. The class should not have any other way to accomplish the same thing.
- Collaboration is important between design classes but it should be controlled. Implementing, testing and maintenance becomes difficult if there is high coupling.
- Design classes should have high cohesion. It should have focused set of responsibilities and single mindedly applies attributes and methods to implement those responsibilities.
-


Thursday, March 3, 2011

How do we create an architectural design....an overview

Design is an activity concerned with making major decisions, often of a structural nature. It is a multi-step process in which representations of data and program structure, interface characteristics, and procedural detail are synthesized from information requirements.

Architectural design represents the structure of data and program components that are required to build a computer based system. It considers the architectural style that the system will take, the structure and properties of the components that constitute the system, and the interrelationships that occur among all architectural components of a system. A software engineer can design both data and architecture, the job is often allocated to specialists when large, complex systems are to be built. A database or data warehouse designer creates the data architecture for a system. The system architect selects an appropriate architectural style for the requirements derived during system engineering and software requirements analysis.

Architectural design provides with the big picture and ensures that you have got it right in a same manner as before building a house, you need a blueprint. Architectural design begins with data design and then proceeds to the derivation of one one or more representations of the architectural structure of the system. Alternative architectural styles or patterns are analyzed to derive the structure that is best suited to customer requirements and quality attributes. Once an alternative has been selected, the architecture is elaborated using an architectural design method.

An architecture model encompassing data architecture and program structure is created during architectural design. In addition, component properties and relationships are also described. At each stage, software design work products are reviewed for clarity, correctness, completeness, and consistency with requirements and with one another.


Tuesday, February 22, 2011

Performing User Interface Design - Design Evaluation

Design should be evaluated to check whether it meets the user needs or not once an operational user interface prototype has been created. Evaluation spans a formality spectrum that ranges from an informal test drive in which a user provides an impromptu feedback to a formally designed study.

- After design model has been completed, a first level prototype is created.
- Prototype is evaluated by user.
- User provides designer with direct comments about the efficacy of interface.
- Evaluation cycle continues until no further modifications to interface design are necessary.
- Once first prototype is built, designer collects a variety of qualitative and quantitative data that will assist in evaluating the interface.
- Qualitative data includes questionnaires like simple yes/no, numeric response, scaled response, likert scales, percentage response or open ended.
- Quantitative data can be got by a form of time study analysis can be conducted.

The evaluation criterion applied during early design reviews are:
- length and complexity of written specification of the system.
- number of user tasks specified and average number of actions per task.
- number of actions, tasks, and system states indicated by the design model imply memory load.
- interface styles, help facilities, and error handling protocol provides an indication of interface complexity.


Sunday, February 13, 2011

User Interface Analysis and Design - The Process

The analysis and design process for user interfaces is iterative that is represented using a spiral model. User interface analysis and design process consists of four framework activities:
- User, task and environment analysis and modeling.
- Interface design.
- Interface construction.
- Interface validation.
The construction activity involves prototyping. Interface analysis focuses on the profile of users who will interact with system. Different user categories are defined. Requirements are obtained for each user category.

After the requirements are defined, detailed task analysis is conducted. Tasks performed by users are identified, described, and elaborated. The analysis of user environment focuses on physical work environment.Things that one should know about the environment as the user interface design begins are:
- Physical location of interface.
- Will the user sitting, standing or performing some other tasks unrelated to interface?
- Does the interface hardware accommodate space, light, or noise constraints?
- Any human factors that are driven by environmental factors?

- Analysis model is created using the information gathered from analysis activity.
- Design activity starts using analysis model as a basis.
- Interface design defines a set of interface objects and actions.
- Construction activity begins with creation of prototype that enables usage scenarios to be evaluated.
- Validation focuses on interface ability to implement every user task correctly, degree to which interface is easy to use and learn and users' acceptance of the interface.


Friday, February 11, 2011

User Interface Analysis and Design - Interface analysis and design models

User interface design begins with creating of different models of system function, human and computer tasks required to achieve system function are delineated, design issues applying to interface designs are considered, tools that are used and result that is evaluated by end-users for quality.

Analyzing and designing a user interface design requires four different models:
User Model
It is established by human or software engineer. It establishes the profile of end users of system. Users are categorized as:
- Novices: No syntactic and little semantic knowledge.
- Knowledgeable, intermittent users: Reasonable semantic and low recall or syntactic knowledge.
- Knowledgeable, frequent users: Good semantic and syntactic knowledge.

Design Model
Software engineer creates a design model. It includes data architectural, interface and procedural representations of the software.

User's Mental Model
It is created by end-user. It is the image of the system that end users carry in their mind. Accuracy of the description depends on the user's profile.

Implementation Model
It is created by implementers of the system. It combines the outward manifestation of computer based systems coupled with all information that describe system syntax and semantics.

When the implementation and user's mental model are coincident, users are comfortable with the software and use it effectively.


Thursday, September 17, 2009

Cleanroom software engineering

Cleanroom software engineering is a formal approach to software development that can lead to software that has remarkably high quality. It uses box structure specification (or formal methods) for analysis and design modeling and emphasizes correctness verification, rather than testing, as the primary mechanism for finding and removing errors. Statistical use testing is applied to develop the failure rate information necessary to certify the reliability of delivered software.

The cleanroom approach begins with analysis and design models that use a box structure representation. A "box" encapsulates the system at a specific level of abstraction. Black boxes are used to represent the externally observable behavior of a system. State boxes encapsulate state data and operations. A clear box is used to model the procedural design that is implied by the data and operations of a state box.

Correctness verification is applied once the box structure design is complete. The procedural design for a software component is partitioned into a series of sub-functions. To prove the correctness of the sub-functions, exit conditions are defined for each sub-function and a set of sub-proofs is applied. If each exit is condition is satisfied, the design must be correct.

Once correctness verification is complete, statistical use testing commences. Unlike conventional testing, cleanroom software engineering does not emphasize unit or integration testing. Rather, the software is tested by defining a set of usage scenarios, determining the probability of use for each scenario, and then defining random tests that conform to the probabilities. The error records that result are combined with sampling, component, and certification models to enable mathematical computation of projected reliability for the software component.

The cleanroom philosophy is a rigorous approach to software engineering. It is a software process model that emphasizes mathematical verification of correctness and certification of software reliability. The bottom line is extremely low failure rates that would be difficult or impossible to achieve using less formal methods.


Facebook activity