1.0 Introduction
System analysis methodology has a long developing history and each methodology tool has its own characteristics.This paper is specified on the research for methodology developing history and aim to This paper is specified on the research for methodology developing history and aim to identify the difference between different methodology tools and have some comments for future system design methodology development.
2.0 Background of methodology
The methodology can be refers to a set of solution for the specified problems.(Baugh 1990) However specified on system analysis, the methodology can be referred to a standard set of steps named a systems development methodology, developed by the organizations and aimed to develop and support their information system. (Fowler, 2003) It also can be descried as a modern approach to systems analysis and design. The formation of system development methodology should be contributed to development of analysis and design of computer-based information system. The formation of system development methodology can be concluded as periods which should be demonstrated below
In 1950s, in this period, computers were considered as critical resources. Because of they have characteristicsthat large, expensive, and unreliable, the focus are on the automating the existing process, on the conserving enough memory for data storage and on the processes the software performed. (Hoffer,George&Valacich, 2012)
In 1960s, the advanced technology had the innovation of mini-computers, which are smaller, faster and less-expensive became possible, it can be seen as the start of the software industry. (Fowler, 2003)
In 1970s, because of the cost consideration, to customize information systems for every application became rare possible to implement. The early management systems which using the hierarchical and networks model appears and it shifts the focus on the system development from processes first to data first. (Hoffer,George&Valacich, 2012)
In 1980s, the microcomputers had been widely accepted, the focus on system development are a “transition from builder to integrator.” (Fowler, 2003), in this period, the concept of integration appeared, it can be discovered by the operation system appearance, organizations’ activities of developing more graphics applications, developing less software in-house and bringing “relatively more from software vendors.” (Hoffer,George&Valacich, 2012)
In 1990s, the concept of “integration” became the mainstream, the visual programming environments are widely used by developer such as Visual Basic, PowerBuilder etc. The companies intended to purchase the entire information system from system companies such as SAP,AG or Oracle. The systems became large and complex which include a series of independent system modules. In later 1990s, the system development focus on the internet. (Hoffer,George&Valacich, 2012)
In recent, as the more focus on “developing systems for the internet and for the firms’ intranets and extranets.”
(Fowler, 2003), the in-house application developments are no longer
the options for the companies, the outsourcing for system tools became
the priority consideration.
The system development methodologies are informed at that background,
for the reason that most organizations discovered that using a standard
set of steps are beneficial.
3.0 Systems development life cycle
Because the development of information system can be considered as a
progress, similar as general products which have the introduction,
growth maturity and decline periods. (Figure 1) The systems development
life cycle have several phrases to present the system’s analysis and
effort progress.
Figure 1 general products life cycle
(Source link: http://www.consumerpsychologist.com/cb_Diffusion_of_Innovation.html)
Figure 2 The system development life cycle
(Source link: http://www.umsl.edu/~sauterv/analysis/newlifecycle/sdlc.gif)
As Figure2 demonstrated, the system development life cycle can be concluded as five “planning,analysis,design,implement and maitenence(support)”. Planing can be considered as the firse phase in SDLC, as intitial study of system development. In this phase, the priority is to identify the needs for future deisgned system. The reuqired information for system design can be obtained by reviewing the orgnazation needs as whole. The information can be sourced from current procedures’ problems, furture needs for additional tasks or the effient uitilization on the exsiting IS system. The shcheule for system development process and the resources distribution plan are set, the outcomes of each processes should also be studied. Another important fator during this phase is to determine the scope of the system, it is benefical for having a detailed further develpoment plan to evaluate return of investment. “analysis” is the second phase and can be detailed into two subphases,the first subphase is to determine the customer’s needs,the second subphase is to structure the information and determine the necessary harware and software for the designed system. The third phase is design part, in this part, the information in first two phases should be transformed to logical and then phsycial design. The logical design refers to the processes of design without “specific hardware and software” (Hoffer,George&Valacich, 2012), it should be concentrated on business aspects of the system. The phsycial design is to implement the logical design’s thinking in plan level. In the phase, some detailed and specified information about building the final system should be considered such as programming languages,database and hardware platform.The ourth phase is implementation , in this phase, the physical design’s specification should be converted into programmes, the process includes coding, testing and installation. Coding referes to programmes writing, tesing refers to testing the programmes in order to “find and correct errors” (Hoffer,George&Valacich, 2012) installation means install the application,have the application become parts of the system. The maintanance phase is not only to have the system running properly but also to consider the possbility of updating the functions of system. The summaries of system develpoment life cycle should be represented in figure 3. However , there are some current practises integatered the five phases as four phases which referes to analysis,design,code and test. These four phases can also be seen as the core of the system.
Figure 3 Five phase of System Develpoment Life cycle
(Souce link http://www.softwaretestingdiary.com/2010/08/system-development-life-cycle-sdlc.html)
4.0 Traditional waterfall SDLC
The traditional waterfall SDLC (Figure 4)can be described as the
“programmed” and “none spaces “ procedure, it have the phases of system
development life cycle into orders, the activities which belongs to
one phase should be completed before switch to the next step. It
has some limits for the following:
Figure 4 Tradtional waterfall SDLC
(Source link http://www.umsl.edu/~sauterv/analysis/termpapers/f11/jia.html#ref3)
5.0 Approaches to improve Tradtional waterfall SDLC
In order to improve the traditional waterfall SDLC, two methodologies
should be introduced which refer to “AGILE METHDOLOGIES” and
“Object-oriented analysis and design”
5.1 Agile methodologies
The Agile methodologies can be described as a group of systems analysis
and design approaches. According to Fowler(2003), , the agile
methodologies have more differences while be compared to the traditional
waterfall methodology
Traditional waterfall methodology |
Agile methodology |
Predictive methodologies |
Focus on adaptive |
Focus on roles |
Focus on people |
Less focus on self-adaptive processes |
Focus on self-adaptive processes |
Table 1 The Difference between Traditional waterfall methodology and Agile methodology
It being developed “because the software development methodologies adapted from engineering generally do not fit with the real-world software development” . (Hoffer,George&Valacich, 2012) ,In the engineering view, the requirements of the project seem to be well understood in the first place. When the work of project’s design part done, the remaining parts of the whole project become very predictable. The whole project is more focus on the construction. However the further changing about the project becomes challenge because the waterfall methodologies have limited spaces for significant changing according to its procedure structure. For software design, the waterfall methodologies may not be suitable because the requirements are rarely well understood in the first place, and changes occur during the lifetime of whole project. “Construction may account for as little as 15 percent of the total project effort, with design constituting as much as 50 percent” (Hoffer,George&Valacich, 2012)
Agile methodologies focus on people rather than the roles they
perform. (Hoffer,George&Valacich, 2012) It means not roles
decide people to play, but people select their roles to play. “agile
forgoes the documentation but is initially difficult to adapt by
adding many new facets to the development model that confuse people”( http://www.umsl.edu/~sauterv/analysis/termpapers/f11/jia.html#ref3). The Agile methodologies have “a self-adaptive software development” (Fowler, 2003) , the process aim to improve and refine the software which can adopt the changing environment. People “are
characterized by short iterative cycles of development driven by
product features, periods of reflection and introspection,
collaborative decision making, incorporation of rapid feedback and
change, and continuous integration of code changes into the system under
development.” The detailed information between Agile
methodologies and traditional waterfall methodologies should be
represent in figure
(http://www.umsl.edu/~sauterv/analysis/challenges_of_migrating_to_agile_methodologies.pdf)
However the Agile methodologies have specified requirements for project, the project may have the characteristics of “unpredictable or dynamic requirements, responsible and motivated people and customers who understand the process and will get involved” (Hoffer,George&Valacich, 2012) it means Agile methodologies have the more requirements on people’s social skills than on technical skills. Many issues can influence the outcome while using the Agile methodologies such as management skill, organization culture, social structure of organization, interactions among the team and team members etc. The Agile methodologies have the challenges for “changes” which include changes in the attitude of each group member –from “command-and control management to leadership-and-collaboration.” Etc , changes in the operation- from much documentation to particularly documentation etc, changes in organization view “from certain and predictable to uncertain and unpredictable” etc , changes in technology tools “from pervious to recent”etc and companies should have investment.
Figure 5 Five Critical Factors that Distinguish Agile and Traditional Approaches to System Develpoment
Hoffer, J,A. , George, J,F., and Valacich, J,S. (2012) Modern
Systems Analysis and Design, 6th edition, New Jersey: Prentice Hall ppt
21
5.2 Object oriented analysis and design (OOAD)
The Object oriented analysis and design (OOAD) combines data and
processes into objectives. Each objective represents a real thing in
the progress of information system development, it could be “customers, suppliers, contracts, and rental agreements.”
(http://www.umsl.edu/~sauterv/analysis/termpapers/f11/jia.html#ref3)
It can be considered as another form of “Block design theroy” (David 2000)which considers system as the composition of several entities in which each entity has its specific characteristic or function. The progress of system design can be seen as the progress of integrating entities. It has the system elements more reusable in order to increase the productivity of the system analysis and design. The OOAD also has the characteristic of “inheritance”, it being represented by the use of object classes. It allows the “groups of objects sharing structural and behavioral characteristics.” (Fowler, 2003), for instance, for the group of classes named “assault rifle”, you can use some of its characteristics to define “AR-15 series” such as “Weight, Cartridge, Rate of Fire, Effective range, Country authority” , however “AR-15 series” is more specific, it can be seen as the subset of “assault rifle”. “The object-oriented approach to systems development shares the iterative development approach of the Agile Methodologies, one of the most popular realizations of the iterative approach for object-oriented development ” named Rational Unified Process(RUP) which has four phases “inception, elaboration, construction and transition”. The description for each phase can be described as follows:
These phases can be further separated as parts, for the future
system development, these parts can be seen as raw material or mature
entities for the system construction. however, there is challenges for
OODA, it has no well accepted standards, “some variability in the analysis models' content and structure is unavoidable.”
(http://www.umsl.edu/~sauterv/analysis/termpapers/f11/jia.html#ref9)
6.0 Thinking about methodologies improvement
As Agile methodologies and Object oriented analysis and design
methodology demonstrated before, the Agile methodologies can be seen as
solution targeted on the tradition waterfall life cycle’s limitation –
less of flexibility and not focus on people but focus on roles. Object
oriented analysis and design methodology attempt to modular the
system development process and to have the modular more easily to
recycle. However there are still challenges for both of the
methodologies. For the Agile methodologies, the issues about management
and organization, people, process-related and technology should all be
concerned because each issue has strong relationship to the success of
the project. For OOAD, the variability of further system can be
considered as a considerable challenge.
There should be some solutions to improve the methodologies which
demonstrated before, some hypothesizes should be demonstrated below
DIY system development and open-source system development
As the methodologies demonstrated before, the efficient system development should have the characteristic as follows:
The pervious methodologies emphasized the interaction among the analysts, designers and customers. However, the general procedure is “analysts ask, customers speak, analyst listen, then implement” , the problems can described as figure 6
Figure 6 system development life cycle problems
(Source link: http://www.umsl.edu/~sauterv/analysis/is6840start.html)
The combination of designers and customers may be the option to solve
the problem, as the theories demonstrated before, the traditional life
cycle have the disadvantages however it has the characteristics of
predicable, mature and standardization, it means they can be the
producers who provide the matured and detailed small entities for the
whole system development. However the entities should have the
following characteristic:
The Future Combat systems’ program may provide some hints, in this system, the major functions in battlefield are designed as the main platform. For instance, as littoral combat ship, the ship is designed to satisfy the combat needs in the littoral zone. (http://en.wikipedia.org/wiki/Littoral_combat_ship), the customer – the navy can choose the different mission modules(entities) to satisfy the different combat needs such as anti-submarine module, surface warfare module or mine countermeasures modules, in another way to say, the customer design its own system. The other example is FCS (future combat system) network which consists five layers “that combine to provide seamless delivery of data to forward-deployed Army units.” (http://en.wikipedia.org/wiki/Future_Combat_System) , the whole system can be seen as a large combination of systems. (Figure 7 )
Each layer has its own missions, sensor and platform layer is particle layer to achieve the objectives in battlefield. This layer’s function can be concluded as “see first, attack first, and destroy first”, order to achieve that, sensor in charge of reconnaissance, platform in charge of technical strike. The application layer is to provide the integrated ability to achieve network-focus missions by using a common interface, it consists ten packages of software in order to satisfy the different network missions’ needs. The service layer specified on support to the whole systems including to provide “interoperability with existing systems, intra and inter platform networking (including e-mail and web services), data services and information assurance, and search capabilities”( http://en.wikipedia.org/wiki/Future_Combat_System). The transport layer provides radio and computers supports to process information and the standards layer provides the necessary governance for network implementation.
Figure 7 FCS-NETWORKING
(Source link: http://en.wikipedia.org/wiki/File:FCS-Network.png)
For business use, the cloud computing technologies provide both the methodology and the platform for system development, and because it has the characteristic of functions integration. The functions including providing platform, open source application and database service. In other words it provide the system development circumstances.( http://en.wikipedia.org/wiki/Cloud_computing), and problem of system boundary is no longer a big issue. Open source and function integration can considerable reduce the cost of system development. Just as the user of iphone do not have to know the exactly developing progress of app. The organization may not have to know the exactly system development life cycle and detailed technical issues. The analysts and technicians’ future mission should be to develop more visual and more adoptive entities.
7.0 Conclusion
As concluded, system analysis methodology is coming from the
integration of system design, the traditional waterfall approach should
be straightforward for system analysis and design, for small and
unpredictable project, the agile methodologies might be the first
option, if the project is more emphasized on entities referenced, the
object-oriented approach may be the best option. The future
methodologies for system development tend to be more integration, more
block and module design and more customer involved.
8.0 List of reference
Baugh, K (1990) The Methodology of Herbert Blumer: critical
interpretation and repair, 1st edition, USA: Cambridge University
Press.
Boeham,B. and R. Turner. (2004) Balancing Agility and Discipline. Boston:Addison-Wsley
Hoffer, J,A. , George, J,F., and Valacich, J,S. (2012) Modern
Systems Analysis and Design, 6th edition, New Jersey: Prentice Hall
Harris, A., Lang, M., Oates, B,. & Seau, K. 2011. Systems
analysis & design: an essential part of IS education. Journal of
information systems education: 241-248
Mohammad, R. 2006. Dilemma between the structured and object-oriented
approaches to systems analysis and design. The Journal of computer
information systems: 32-42.
Erickson, J. 2005. Agile Modeling, Agile Software Development, and
Extreme Programming: The State of Research. Journal of database
management: 88-100.
Hsueh, N., Kuo, J., & Lin, C. 2009. Object oriented design: a
goal-driven and pattern-based approach. Softw syst model: 8:67-84
Wang, S. 1996. Two MIS analysis methods: an experimental comparison. Journal of education for business: 136.
Bak,D 2007. Building blocks of design. Journal of design news : 8-7-00-35
Security 1996 What is systems integration. Journal of security 18
Fowler, M., and J.Highsmith. 2001. “The Agile Manifesto” [ONLINE] Available at
www.ddj.con/architect/184414755. [Accessed 09 November 12]
University of Southern California. 2001. general products life cycle. [ONLINE] Available at: http://www.consumerpsychologist.com/cb_Diffusion_of_Innovation.html. [Accessed 09 November 12]
Vicki.S,2012 The system development life cycle [ONLINE] Available at: http://www.umsl.edu/~sauterv/analysis/newlifecycle/sdlc.gif [Accessed 09 November 12]
softwaretestingdiary.com, Five phase of System Develpoment Life cycle [ONLINE] Available at:
http://www.softwaretestingdiary.com/2010/08/system-development-life-cycle-sdlc.html [Accessed 09 November 12]
Vicki.S,2012 Tradtional waterfall SDLC [ONLINE] Available at: http://www.umsl.edu/~sauterv/analysis/termpapers/f11/jia.html#ref3 [Accessed 09 November 12]
Jia-Ching Lin, 2012, Various Approaches for Systems Analysis and Design[ONLINE] Available at: http://www.umsl.edu/~sauterv/analysis/termpapers/f11/jia.html#ref9 [Accessed 09 November 12]
Vicki.S,2012 system development life cycle problems [ONLINE] Available at: http://www.umsl.edu/~sauterv/analysis/is6840start.html [Accessed 09 November 12]
Wikipedia, littoral combat ship introduction [ONLINE] Available at: http://en.wikipedia.org/wiki/Littoral_combat_ship [Accessed 09 November 12]
Wikipedia, future combat systm [ONLINE] Available at: http://en.wikipedia.org/wiki/Future_Combat_System [Accessed 09 November 12]
Wikipedia, cloud computing introduction [ONLINE] Available at:
http://en.wikipedia.org/wiki/Cloud_computing [Accessed 09 November 12]