1.
Definition of Software Modeling
Software Modeling is a scientific discipline to study the forms of software modeling that are used as part
of a stage
structured and object-oriented software development.
Modeling in a software engineering is something that
carried out at an early stage. Inside an engineering in actual software
still possible without doing a modeling. But that can no longer be
in a software industry. Modeling in software
is something that has to be done in the early part of this engineering, and modeling
will affect the jobs in the software engineering.
In an industry known various kinds of processes, and so is the case
with the software industry. The differences in the processes used will elaborate
process activities in different ways. Different company
use different processes to produce the same product. product type
may be generated by a company using the process
different. However, some processes are better suited than others for some types
application. If the wrong process is used it will reduce the quality of product use
developed.
2. Definition of Software Engineering
Software Engineering (RPL) Is a scientific discipline that discusses
all aspects of software production, starting from the initial stage, namely needs analysis
users, specifying user requirements, designing, coding, testing,
until system maintenance after use.
In software engineering, many models have been developed
assist the software development process. These models in general
refers to a system development process model called System Development Life
Cycle (SDLC) as shown in the image below,
Each model developed has its own characteristics. However
In general, there are similarities, namely:
The need for a clear definition of the problem. Main input of each model
software development is a clear problem definition.
The clearer the better because it will make it easier
problem solving. Therefore understanding the problem is a part
important part of the software development model.
Stages of regular development. Although the models
Software development has different patterns, usually
these models follow the general pattern of analysis – design – coding –
testing – maintenance.
Stakeholders play a very important role in the whole stage
development. Stakeholders in software engineering can be:
users, owners, developers, programmers and other people involved
in software engineering.
Documentation is an important part of software development.
Each stage in the model usually generates a number
writing, diagrams, drawings or other forms that must be documented
and is an integral part of the resulting software.
The output of the software development process must be of economic value.
The value of a piece of software is actually rather difficult to dirupiah.
But the effect of using the software that has been developed
must add value to the organization. It can be Any model
developed has its own characteristics.
3. Types of Software Modeling
The software process model is a way of processing a device
software from scratch into a software that is ready to use. Following
are some examples of commonly used software process models. Model
software process is a way to process a software from scratch
into a ready-to-use software. Here are a few
examples of commonly used software process models.
• Waterfalls
The Linear Sequential Model or often called the Water Development Model
Plunge, is the paradigm of most software development models
old, and most widely used. This model proposes an approach
systematic and sequential software development that begins
at the level and progress of the system at all stages of analysis, design,
code, test, and maintenance. The following are the stages
Linear Sequential Model Development / Waterfall Development Model:
Requirements analysis
This stage can usually be obtained through interviews
Systems Design
System Design helps in determining the hardware (hardware)
and system requirements and also helps in defining
overall system architecture.
Implementation
At this stage, the system is first developed in a small program
called units, which are integrated in a later stage.
Integration & testing
The developed units will be integrated into the system after
tests carried out for each unit
Operations & maintenance
The final stage in the waterfall model. Software
that have been made, run and carried out maintenance. Activity
carried out in the maintenance process include:
• Corrective Maintenance: namely correcting if there is
a software glitch, which was only detected at the time
software used.
• Adaptive Maintenance: that is done
adjustments/changes according to the new environment,
e.g. new hardware, peripherals, operating system, or so on
demands for the development of computer systems, for example additions
drivers, etc.
• Perfective Maintenance :
If the software is successful
used by users. Maintenance is intended for
add to its capabilities such as providing functions
additions, performance enhancements and so on.
The advantages of the Linear Sequential Model / Waterfall Development Model:
The stages of the development process are fixed (definite), easy
applied, and the process is regular.
Suitable for software products / programs that are clear
needs at the beginning, so minimal errors.
Software developed by this method is usually
produce good quality.
System development documents are highly organized, because each
phases must be completed completely before moving on to the phases
next.
Disadvantages of the Linear Sequential Model / Waterfall Development Model:
Real projects rarely follow such a sequential flow
proposed, so that the changes that occur can cause
the results already obtained by the development team must be changed
going back/iteration often causes new problems.
The occurrence of the division of the project into stages that are not
flexible, as commitments must be made at an early stage of the process.
It is difficult to experience the changing needs desired by
customers / customers.
Customers must be patient to wait for the finished product, because
finish step by step, and the process will continue
each stage when the previous stage is completely completed.
Changes in the middle of the work on the product will make
confused the development team working on the product.
There is free time (unemployed) for developers, because
had to wait for the rest of the project team to finish
the job.
Prototype
The Prototype method is a new paradigm in methods
software development where this method does just that
evolution in the world of software development, but also revolutionized
the old software development method, namely the sequential system
which is commonly known as the SDLC or waterfall development model.
In the Prototype Model, the prototype of the resulting software
then presented to the customer, and the customer
given the opportunity to provide input so that the device
the resulting software will really be in accordance with the wishes and
customer needs. Prototype changes and presentations can be made
many times until an agreement was reached on the form of the software
will be developed.
The following are the stages of model development:
Stage 1: Requirements Gathering and Analysis (Analysis
Need)
The prototype model stage starts with a needs analysis. In stages
The system requirements are defined in detail. In the process,
the client and development team will meet to discuss details
system like what the user wants.
Stage 2: Quick Design (Quick Design)
The second stage is the creation of a simple design that will give
a brief description of the system to be built. Naturally
based on the discussion from step 1 earlier.
Stage 3: Build Prototype (Build Prototype)
Once the design is quickly approved the next step is development
the actual prototype that the programmer team will refer to
for programming or applications.
Stage 4: User Evaluation (Initial User Evaluation)
At this stage, the system that has been created in the form of a prototype is
Present to client for evaluation. Next the client will
provide comments and suggestions on what has been made.
Stage 5: Refining Prototype (Refining Prototype)
If the client does not have a revision record of the prototype made,
then the team can continue at stage 6, but if the client has
notes for system improvement, then phases 4-5 will continue to repeat
until the client agrees with the system to be developed.
Stage 6: Implement Product and Maintain (Implementation and
Maintenance)
In this final phase, the product will be created by programmers
based on the final prototype, then the system will be tested and
handed over to the client. Next is the agar maintenance phase
the system runs smoothly without any problems.
This prototyping model is very suitable to be applied to risky conditions
high where poorly structured problems occur
fluctuations in user needs that change from time to time or
unexpected, if the interaction with the user becomes an absolute requirement and
the time available is very limited so it needs a complete solution
quick. This model can also run optimally in situations where
The expected system is an innovative and up-to-date transient stage
the use of the system is relatively short. The following are the types of
Prototyping :
Feasibility prototyping
used to test the feasibility of the technology to be
used for the information system to be compiled.
Requirements prototyping
used to determine the needs of the user's business activities.
Prototyping design
used to drive the design of information systems that will
used.
Implementation prototyping
is a continuation of the prototype design, this prototype is direct
structured as an information system that will be used.
Advantages of Prototype Models:
• Customers participate actively in system development, so
product development results will be more easily adapted to
customer wants and needs.
• Determining needs is easier to realize.
• Shorten software product development time.
• There is good communication between developers and customers.
• Developers can do a better job of determining requirements
customer.
• More time saving in system development.
• Deployment made easier because the customer knows what
what he expected
Disadvantages of Prototype Models:
• The process of analysis and design is too short.
• Usually less flexible in dealing with change.
• Although users see various improvements from each version
prototype, but the user may not be aware that version
These are made without regard to quality and long-term maintenance
long.
• Developers sometimes make implementation compromises
by using irrelevant operating systems and algorithms
which is not efficient.
• Rapid Application Development ( RAD )
Rapid Application Development (RAD) is a process model
linear sequential software development emphasizing cycles
very short development (approximately 60 to 90 days). Model
The RAD is a "high-speed" adaptation of the model
linear sequential where fast progress is achieved by using
component-based construction approach. Here are the Stages –
Stages of the Development Process in the Rapid Application Model
Development (RAD), namely:
Business Modeling
This phase is to look for a flow of information that can answer
following questions:
• What information drives the business process?
• What information is raised?
• Where is the information used?
• Who processes it?
Data Modeling
Information flow is defined as part of the business phase
modeling is refined into the required set of data objects
to sustain the business. Characteristics (attributes) of each
identified objects and the relationships between these objects
defined.
Process modelling
The flow of information defined in the data modeling phase
transformed to achieve the necessary flow of information
implementation of a business function. Processing images are created
to add, modify, delete, or get
returns a data object.
Application Generation
Besides using the third generation programming language, RAD as well
use existing program components or create components
which can be used again. Tools can be used to facilitate
software construction.
Testing and Turnover
Because the RAD process emphasizes reuse, many components
programs have been tested. This reduces the overall testing time. But
new components must be tested and all interfaces must be fully trained.
Advantages of RAD Models:
• More effective than linear waterfall/sequential Model Development
in producing systems that meet the immediate needs of
customer.
• Suitable for projects that require a short time.
• The RAD model follows the system development stages as in
generally, but has the ability to reuse
existing component so the developer doesn't have to build it from
start again so that the development time becomes shorter and
efficient.
Disadvantages of RAD Models:
• The RAD model demands development and customer ownership
commitment in the rapid-fire activities necessary to
complete a system, in a very time frame
shortened. If those commitments don't exist, the RAD project will fail.
• Not all applications are suitable for RAD, if the system cannot
modulated regularly, building an important component of RAD
would be very problematic.
• RAD is not suitable for systems that have technical risks
tall one.
• Requires a lot of labor to complete a
projects on a large scale.
• If there is a change in the middle of work, it must be made
new contract between developer and customer
• Spirals
This model adapts two existing software models, namely the model
prototyping with repetition and the waterfall model with control and
the systematics. This model is known as the Boehm Spiral. Developer
in this model mix and match some of these common models for
produce special products or to answer certain problems
during the project work process. The stages of this model can be explained in detail
briefly as follows:
• Liason Stage: at this stage good communication is built with
potential users/users.
• Planning stage (planning): at this stage the sources of information, time limits and information that can
be determined are determined
describe the project.
• Risk Analysis Stage: defining risks, determining what they are
which is a risk both technical and management.
• Engineering Stage (engineering): making prototypes.
• Construction and release phase: at this stage it is carried out
software development intended, tested, installed and
provided additional support for the success of the project.
• Evaluation Stage: Customers/users/users usually provide
input based on the results obtained from the engineering stage and
installation.
The advantage of this model is that it takes into account the risks
the possibility of occurrence of errors so it is very reliable
for large-scale software development. this modeling approach
done through very good stages with
combines the waterfall model coupled with repetition so that it is more realistic to reflect the situation
Actually. Both developers and users can quickly find out
the location of the deficiencies and errors of the system because the processes can be
well observed.
The drawback of this model is the time it takes to
Developing software is quite long and so is the cost
the big one. In addition, it really depends on the experts who can
estimate risk. There are also difficulties in controlling the process.
Until now, because it is still relatively new, there is no evidence whether the method
it is reliable enough to implement.