Software Design

07:08 Prashant Roy 0 Comments

Software Design:

Design:
Planning out in the mind and making a drawing ,pattern or sketch of is known as design.
Software Design:
Software design is a process of problem solving and planning for a software solution.software design sits at the core of software engineering and is applied regardless of the software process model that is used.
Activities of Software Design:
Software design is the first of three technical activities:
  • Design
  • Code generation
  • Test
Each activity changes the form of information in a manner that ultimately results in validated computer software.And there are three distinct types of activities,Such as
  • External design
  • Architectural design
  • Detailed design
1)External design:External design of software involves planning out and specifying the externally obsenable characteristics of a software product.These characteristics include user displays,report formats,external data source and data sinks, the functional characteristics performance requirements and high level process structure for the product.
2)Internal design:Internal design include Archetectural design and detailed design.Internal design involves planning out and specifying the internal structure and processing details of the software products.
The goal of internal design are to specify internal structure ,processing details,to record design decisions indicate why certain alternatives and trade offs were choosen to elaborate the test plan, to provide a blue print for implementaion ,testing and maintenance activities.
external-design


Pricipals of Design:
The design process is a sequence of steps that helps the designer to describe all aspects of the software to be built. The critical factors necessary for good design are creative skill,past experience, a sense of what makes good software and an overall commitment to quality.so the software design is both a process and a model.
  1. The design process should not suffer from "tunnel vision".
  2. The design should be according to the analysis model.
  3. The design should not reinvent the wheel.
  4. The design should "minimize the distance" between the software and the problem as it exits in the real world.
  5. The design should exhibit uniformity and integration.
  6. The design should be structured to accommodate change.
  7. The design should be structured to degrade gently,even when unusual data,events or operating conditions are encountered.
  8. Clear distinction between design and coding.
  9. The design should be accessed for quality as it is being created , not affer the fact.
  10. The design should be reviewd to minimize errors.
Concepts of Design:
following question helps to understanding designing concept:-
  • What criteria can be used to divide software into individual module?
  • How is function of detail separated from a conceptual representation of software?
  • What uniform criteria define the technical quality of a software design?
  • Fundamental doftware design concepts prove the necessary framework for "getting program right".

0 comments: