SIM For Week 5
SIM For Week 5
• 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
White box testing, a method of testing used to test the internal structure by the tester. This can
be done during program debugging.
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.
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.
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.
Waterfall Model
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.
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
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
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.
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