0% found this document useful (0 votes)
62 views15 pages

SIM For Week 5

The document is a self-instructional manual for a course on information system analysis and design. It discusses various phases and methodologies for software development, including developing and documenting the system, software testing approaches like white box and black box testing, and popular system development lifecycles and methodologies like waterfall model, V-model, agile model and scrum.

Uploaded by

Mariel Cadayona
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views15 pages

SIM For Week 5

The document is a self-instructional manual for a course on information system analysis and design. It discusses various phases and methodologies for software development, including developing and documenting the system, software testing approaches like white box and black box testing, and popular system development lifecycles and methodologies like waterfall model, V-model, agile model and scrum.

Uploaded by

Mariel Cadayona
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

UNIVERSITY OF MINDANAO

College of Computing Education


Bachelor of Science in Accounting Information Systems

Physically Distanced but Academically Engaged

Self-Instructional Manual (SIM) for Self-Directed Learning (SDL)

Course/Subject : AIS311/L Information System


Analysis and Design

Name of Teacher : FE B. YARA

THIS SIM/SDL MANUAL IS A DRAFT VERSION ONLY; NOT FOR


REPRODUCTION AND DISTRIBUTION OUTSIDE OF ITS INTENDED USE.
THIS IS INTENDED ONLY FOR THE USE OF THE STUDENTS WHO ARE
OFFICIALLY ENROLLED IN THE COURSE/SUBJECT.
EXPECT REVISIONS OF THE MANUAL.
SIM for Week 5

Phase 5: Developing and documenting Software

• This phase is the development of the system. This is the time that the analyst and the
programmers work with the users to develop the full functionality of the system, the help
tool, and the procedure manuals. The programmers have to design the interface, code the
system and make sure it’s free of errors. The software documentation must be developed
and addressed the questions the users have raised since they are the part of the study since
the start of the phase. This documentation will tell the users to the system be installed,
how to use it and what to do when problems occur during implementation. \
• Converting the design into a program.
• Debugging and testing the program being developed.
• This is the time that the programmers create user procedures for the new system.

Software Testing

1. White box testing


2. Black box testing

White box testing, a method of testing used to test the internal structure by the tester. This can
be done during program debugging.

Types of White Box Testing


1. Unit Testing – to test each unit or block of codes of the program
2. Testing for Memory Allocation – to test the memory leaks caused by slower performance
of the application.

Advantages
• Optimize codes due to catching hidden errors
• Testing is done in-depth as code paths are entire covered.

Disadvantages
• Takes the test longer or time-consuming and complex when application is too big
• Requires deep understanding of programming

Program Testing – checking the actual execution of the program whether it behaves according the
desired outcome.

Errors found during program testing


1. Syntax error – refers to grammatical errors, where correct code of the language is used
properly.
2. Semantic error – refers to errors caused by improper use of program statements.
3. Logical error – errors in source code causing incorrect results
4. Run-time error – errors occur while the program is running.

Black box testing, a method of testing used to test the system without knowing the internal
structure of the program codes. This usually happens after the program testing and debugging.
This type of testing is based entirely on the system requirements and specifications conducted
during the second phase. The main focus of this method is the validation of data to be inputted in
the system and the possible output.

Types of Black box testing


1. Functional Testing – test the functional requirements of the system.
2. Non-Functional Testing – test the performance, usability, maintainability, flexibility and
scalability of the system
3. Regression Testing – test the maintainability of the system, to check if the existing codes
will not be affected when certain upgrades happen
4. Integration Testing – test the connectivity of the buttons and interaction among other
system modules.

Advantages
• The test is done from the user’s specifications point of view
• The one who will conduct the test need not to know the programming structure or even the
programming language
• The tester must not be part of the developer’s team to avoid bias
• Test cases must be prepared to check if all the specifications are met.

Disadvantages
• Only inputs and its outputs are being tested, which might leave some components untested.
• Test cases are difficult to achieve when there are no clear specifications.

After creating the design, the analyst and the programmers work with the users to develop the full
functionality of the system, the help tool, and the procedure manuals. The programmers will have
to design the interface, code the system and make sure it’s free of errors. The software
documentation must be developed and addressed the questions the users have raised since they are
the part of the study since the start of the phase. This documentation will tell the users to the
system be installed, how to use it and what to do when problems occur during implementation.

There are various methodologies to use appropriate for efficient development.

Most Popular SDLC Model


1. Waterfall model
2. V-shape model
3. Incremental Life cycle model
4. Spiral Model
5. Iterative Model
6. Big bang Model
7. Agile Model

Waterfall Model

When to USE waterfall?

1. When requirements are clearly defined


2. Schedule and budget are defined
3. Team members are numerous or will change often

V-Shape Model
Incremental Life Cycle Model
Spiral Model

Iterative Model
Big bang Model

Agile Model
• SCRUM is an agile way to manage a project, usually software development.
• Complete detailed descriptions of the project relied to the Scrum Software development
team because the team will know best how to solve the problem they are presented.
• The SCRUM relies on self-organizing and cross-functional team. Self-organizing means
that there is no overall team leader who decides which person will do which task or how a
problem will be solved. While cross-functional means the team’s idea is needed to take a
systems feature to implement.

System Development Methodologies

• Rapid Application Development (RAD)


• Dynamic Systems Development Methodology (DSDM)
• Joint Application Development (JAD)
• Prototype Model
• Rational Unified Process
• Extreme Programming (XP)
• Feature Driven Development
• Lean Development

Rapid Application Development


• Provides faster development with a higher quality outcome. It’s main goal is to accelerate
the entire development process and make the development more achievable by allowing
active participation of the users in the development process.

Advantages
• It helps reduce the risk and less efforts on the software developer
• Encourages customer feedback for improvement

Disadvantages
• Needs a strong team and experts to software development
• Applicable only for modular type of system
• Cost of Modelling and code generation is high
• Not applicable for projects with lesser budget allocation

Dynamic Systems Development Model Methodology


• A software methodology based on RAD but a type of iterative and incremental approach
that highlights user involvement in a continuous manner.
• It’s main goal is to deliver the system on time and within budget.
• It believes in a philosophy that “nothing is developed perfectly in the first attempt and
considers as ever-changing process”.

Advantages
• High involvement of users in the systems development
• Quickly delivered functionality of the system and according to intervals
• Easy access to end-users
• Projects are delivered on time and on budget

Disadvantages
• Training of users in every part of development is costly
• Process is not easy to understand

Joint Application Development


• A type of methodology that focuses on requirement-definition and user-interface, where
the developers, the direct clients and authorized end-users participates an offsite scheduled
meeting together to work with the software system.
• It’s main goal like other methods is to involve the client in the design and development of
the system through a series of joint efforts and workshops.
• It focuses on the business problems than the technical details.
• This is applicable in any type of business applications.

Advantages
• Allows the simultaneous gathering and associating volumes of information.
• Produces volumes of information in a high quality.
• There is an organizer that resolves differences and issues
• Encourages various perspectives through a forum

Disadvantages
• Time consuming for it requires significant planning and scheduling
• Needs significant commitment from investor in relation to time and effort
• Requires experts and trained team to work the entire project

Prototype Model
• A method main goal is to allow the programmers create first the prototype of the system
and presents its functionality to the end-users, open for adjustments prior to the actual
development of the application.

Advantages
• The prototype shows the clear look and feel understanding of the system to end-users
especially those who have less technical knowledge.
• Less risk of failure as it will be identified during the presentation of its functionality
• Appropriate to those projects with minimal or lack of documentation as proof during
requirement analysis.

Disadvantages
• More efforts will be exerted on the part of the developer for developing the prototype and
updating changes
• User involvement is not the main focus
• Caused various changes that might distract the workflow of the entire development team.
Rational Unified Process
• A type of method that is object-oriented and web-enabled software development
• Divides the development process in to distinct parts: 1) business modelling 2) analysis and
design 3) implementation 4) testing and deployment
• It helps provides the developers the guidelines, models, and examples during software
development
Advantages
• Focuses on accurate documentation
• Proactively solve projects risks by associating client’s requirements and request for
possible changes
• Integration process is done in the development process

Disadvantages
• An expert developer is needed to develop the software
• Has Complex and unorganized development process
• Confusions and issues occur during testing

Extreme Programming
• A type of agile engineering method known as XP used when developing a software within
a very unstable environment that is why it allows flexibility.
• Its main objective is to lessen the cost of software requirements.

Advantages
• Focuses on client’s involvement
• Helps to establish stable plans and schedules to take developers commitment
• Captures the most modern development methods that is why the developers have able to
create quality application

Disadvantages
• Only effective when people involved are also that effective, which cannot be solve with
agile
• Requires meeting more frequently
• Requires too much changes in the development, which caused difficulty on the part of the
developer
• Hard to estimate exact work efforts for the entire scope and projects requirements are not
well established.

Feature Driven Development (FDD)


• a development method in an iterative manner, which is primarily used by large teams
utilizing the object-oriented technology.
• This is applicable to the organizations who are transitioning from a phased-based to an
iterative approach.

Disadvantages
• Not appropriate for a small project
• Developer should be fully equipped with designing, developing, consulting, mentoring, etc
• Does not provide written documentation to clients
Lean Development
• Focuses on the development of easily changeable application.
• A method that focuses on strategies and aim to develop a software in a less time, with
limited budget and less workflow is required.

Advantages
• Help speed up the process of software development that leads to a reduced cost of the
project
• Developer able to deliver the software functionality in a shorter time that leads to more
projects to deliver
• The motivation of the team leads to an efficient decision-making ability

Disadvantages
• Success of the projects depends on the project team
• Business analyst role is vital for determining business requirements

You might also like