Solution:
Note:
We are authorized to answer one
question at a time, since you have not mentioned which question you
are looking for, so we are answering the first one, please re-post
your question separately for the remaining question.
Design strategies:
- It is a process of converting the
client’s requirement into detailed software implementation.
- Main motive behind using the design
strategy is to provide optimum solution to client.
Types of design strategies:
- Structured design.
- Function oriented design.
- Object oriented design works around
the objects and their characteristics. The complete solution
strategy revolves around the objects or entities.
Important concepts
of OOD:
- Objects: objects are the entities
that represents the real-world item.
- Class: it is a collection of
objects.
- Abstraction: it is the process of
hiding detailed explanation of any object to user. For example,
consider that one person buys a motorcycle, then the user needs to
know only how to drive and use the bike. And extra details such as
how engine is developed etc. can be hidden from the user.
- Encapsulation: in object-oriented
design data and operations are bundled together and this process is
called encapsulation.
- Inheritance: this feature of
object-oriented design allows the programmer to reuse the existing
code. It also allows the user to create new class (derived class)
from the base class, which use the methods and variables of base
class.
- Polymorphism: this feature of OOD
allows the user to define method or function with same name with
having different signature type. Depending upon the calling of a
method or function, respective code is executed.
Factors taken into consideration
while choosing any design strategy:
- Time and money: both these factors
are very important when we are talking about any of the software
development project. Overall budget estimates of the project can be
made before starting of project and project timelines are also
decided previously to ensure the timely delivery of project to the
client.
- Scope: it is the part of project
planning. It includes documentation, planning, goals, costs and
deadlines etc.
- Complexity: it is also an important
factor which affects the design strategy. Project inputs,
validations and output requirements can be increasing the
complexity of projects.
- Skilled Labor availability also
matters a lot. If your team does not have the knowledge of
designing strategy, then it will increase the time of both training
your team employees and stretch the deadline of your client
project.
- Technology cost is also an
important concept to go through while picking up any of the
designing strategies. For example, if you are choosing an
Object-Oriented Programming and we are working on java then its
licensing cost is also very high. So, these all factors must be
decided at the time of cost analysis. So, as the company can get it
working profits from the project without any loss.
- Providing complete estimate of cost
and timings to your client, so that if there is any confusion or
misconceptions can be cleared.