Choosing Technologies
Choosing
Technologies:
An outcome of project analysis will be the selection of
the most appropriate methodologies and technologies. Methodologies include
approaches like Unified software development process (USDP), structured systems
Analysis and Design method (SSADM) and Human-Centered Design, while
technologies might include appropriate application building and automated
testing environments.
As well as the products and activities, the chosen
technology will affect-
·
The training requirements for
development staff.
·
The types of staff to be
recruited.
·
The development environment –
both hardware and software.
·
System maintenance arrangements.
1)
Identify project as either objectives driven (product driven): The product to be created is defined before the start of the
project. Often this type of project will have been preceded by an objectives
driven project which will have defined the general software solution the is to
be implemented. The project manager’s ideal situation is to have well defined
objectives but as much freedom as possible about the way those objectives are
to be satisfied.
2)
Analyse other project characteristics: These
are following points considered in mind.
·
Is a data orientated or process orientated system to be implemented: Data orientated systems generally mean information systems that
will have a substantial database. Process orientated systems refer to embedded
control systems.
·
Will the software that is to be produced be a general tool or
application specific: An example of general tool
would be a spreadsheet or a work processing package. An application specific
package could be, for example an airline seat reservation system.
·
Are there specific tools available for implementing the particular
type of application: The user of techniques
appropriate to the analysis and design of such systems would be considered.
·
Is the system to be created safety critical: For instance, could a malfunction in system endanger human life.
·
Is the system designed primarily to carry out predefined services: With software designed for entertainment, design and evaluation
will need to be carried out differently form more conventional software
products.
·
What is the nature of the hardware software environment in which the
system will operate: The environment in which the
final software will operate could be different from that in which , it is to be
developed.
3)
Identify high level project risks: At
the starting of the projects, some managers might expect to work out carefully
plan even though we are ignorant of many important factors affecting the
project.
·
Product uncertainty: How well
the requirements are understood. The users themselves could be uncertain about
what a proposed information system is to do.
·
Process uncertainty: The
project under consideration might be the first were an organization is using an
approach like extreme programming.(New application building tool)
·
Resource uncertainty: The main
area of uncertainty here is likely to be availability of staff of the right
ability and experience. The lager the number of resources needed or longer the
duration of the project.
4)
Take into account user requirements concerning implementation: We suggested earlier that staff planning a project should try to
ensure that unnecessary constraints are not imposed on the way that project’s
objectives are to be met.
5)
Select general life cycle approach:
These are the following consider in mind.
·
Control System: A real system will need
to be implemented using an appropriate methodology.
·
Information Systems: Similarly, an
information system will need a methodology, such as SSADM.
·
General tools: where the software is for
the general market rather than application and user specific, then a
methodology such as SSADM would have to be through about with watchfulness.
·
Specialized techniques: For example –
expert system shells and logic-based programming languages have been invented
to expedite the development of knowledge based systems.
·
Hardware environment: The environment in
which the system is to operate could put constraints on the way it is to be
implemented.
·
Safety critical systems: Where safety
and reliability are essential, this might justify the additional expense of a
formal specification using a notation such as Z or VDM.
·
Imprecise requirements: Novel hardware/software
platform mean that a prototyping approach should be considered.
Comments
Post a Comment