Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

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.

You might also like