SPECIFIC LEARNING OBJECTIVES:
At the end of this module you MUST be able to:
1. Identify the tools that a systems analyst could use.
2. Describe and differentiate each tool.
3. Use the appropriate tool for a certain and different situation.
TOPIC:
1. Systems development life cycle (SDLC)
2. Planning phase
3. Analysis phase
4. Design phase
5. Development phase
6. Implementation phase
7. Structured systems analysis
8. System model
9. Tools of structured analysis
2. Specific Learning Objectives
1
Identify the tools that a systems analyst
could use.
2 Describe and differentiate each tool.
3 Use the appropriate tool for a certain
and different situation.
3. 1
Use the appropriate tool for a certain
and different situation.
2 Planning phase
3 Analysis phase
4 Design phase
5 Development phase
6 Implementation phase
7 Structured systems analysis
4. 8 System model
9 Tools of structured analysis
a Modeling system functions (DFD, System Flowchart)
b Modeling stored data (ERD,Data Dictionary)
c Modeling program structure (VTOC, IPO, Program Flowchart )
d Other modeling tools (The Gantt chart, Warnier-
Orr diagram, Nassi-Schneiderman chart, Nassi-
Schneiderman chart, State transition diagram
and Decision tables)
5. System Analysis
System Design
a process of collecting and interpreting facts, identifying the
problems, and decomposition of a system into its components.
a process of planning a new business system or replacing an existing
system by defining its components or modules to satisfy the specific
requirements.
6. SYSTEM
end-user implementation of
a software package
PROCESS
looking in-depth at source code to
define the methodologies used in
building software;
TECHNOLOGY
taking feasibility studies and other types of
research to support the use and production of a
software product, among other things.
13. SDLC
PROCESS
the most important and
fundamental stage
Software
Requirement
Specification
Design
Document
Specification
actual development starts
subset of all
the stages
User
Acceptance
Testing
14. 2. Finding the gaps.
1. Planning
1. Conduct a survey or interview
3. Conduct feasibility study
Back
15. - System Analyst
2. Requirement Phase
1. Team Assignments
- Front End Developer
- Back End Developer
- Documentary
2. Requirement Gathering
2.1. User Requirements
2.2. System Requirements
2.3. Functional Requirements
- Domain, Hosting, Storage
- Operating Software,
- Device Specification,
- Browsers
- Admin, Specific User
25. This model is also
known as
verification and
validation model. It
provides means of
testing of software at
each stage in reverse
26. fast project turnaround,
making it an attractive
choice for developers
working in a fast-paced
environment like software
development
RAD’s focus on
minimizing the
planning stage and
maximizing
prototype
development.
Business Modelling
Data Modelling
Process Modelling
Application Generation
Testing and Turnover
27. This model is mainly
focused on providing an
approximation of the final
system at the initial stages.
built to
show how
the final
product will
look and
work.
29. This model leads the software development process in
iterations. It projects the process of development in cyclic
manner repeating every step after every cycle of SDLC process.
Design &
Development Testing Implementation
REQUIREMENTS
1
2 Design &
Development Testing Implementation
3 Design &
Development Testing Implementation
SPECIFIC LEARNING OBJECTIVES:
At the end of this module you MUST be able to:
SPECIFIC LEARNING OBJECTIVES:
At the end of this module you MUST be able to:
SPECIFIC LEARNING OBJECTIVES:
At the end of this module you MUST be able to:
SPECIFIC LEARNING OBJECTIVES:
At the end of this module you MUST be able to:
This chapter covers the different tools that a system analyst could use to perform the job or skill needed to properly develop a system. The systems development life cycle (SDLC) is a common methodology for systems development in many organizations; it features several phases that mark the progress of the systems analysis and design effort. Every textbook author and information systems development organization uses a slightly different life-cycle model, with anywhere from 3 to almost 20 identifiable phases. An effective SDLC should result in a high-quality system that meets customer expectations, reaches completion within time and cost evaluations, and works effectively and efficiently in the current and planned Information Technology infrastructure.
System Analysis and Design (SAD) mainly focuses on: Systems Processes Technology In IT, systems analysis can include looking at the end-user implementation of a software package or product; looking in-depth at source code to define the methodologies used in building software; or taking feasibility studies and other types of research to support the use and production of a software product, among other things. Systems analysis professionals are often called upon to look critically at systems, and redesign or recommend changes as necessary. Inside and outside of the business world, systems analysts help to evaluate whether a system is viable or efficient within the context of its overall architecture and help to uncover the options available to the employing business or other parties. Systems analysts are different than systems administrators, who maintain systems day to day, and their roles generally involve a top-level view of a system to determine its overall effectiveness according to its design.
Advantages of Systems Analysis System analysis is done by an analyst who analyzes the software or internal systems and the company's stated requirements for functionality. The analyst may then research the available applications in the market or recommend hybrid solutions. Here are several benefits of systems analysis: 1. Save money 2. Enable better management 3. Improves productivity 4. Effective skill use
Limitations of Systems Analysis Although system analysis offers an extensive range of benefits it might also have some disadvantages. One of the main disadvantages which are mostly overlooked is the risk of too much analyzing which may lead to some more problems such as: Complexity and scope of the system; Technological changes Financial issues and; Presence of a few systems auditors.
SPECIFIC LEARNING OBJECTIVES:
At the end of this module you MUST be able to:
Limitations of Systems Analysis Although system analysis offers an extensive range of benefits it might also have some disadvantages. One of the main disadvantages which are mostly overlooked is the risk of too much analyzing which may lead to some more problems such as: Complexity and scope of the system; Technological changes Financial issues and; Presence of a few systems auditors.
Limitations of Systems Analysis Although system analysis offers an extensive range of benefits it might also have some disadvantages. One of the main disadvantages which are mostly overlooked is the risk of too much analyzing which may lead to some more problems such as: Complexity and scope of the system; Technological changes Financial issues and; Presence of a few systems auditors.
Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas.
Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the technical feasibility study is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.
Stage 3: Designing the Product Architecture
SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS - Design Document Specification.
In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.
This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.
Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).
Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.
The framework includes the following:
• Communication – this is the first step where the user initiates the request for a desired software product. You need to contact the service provider and tries to negotiate the terms then submit the request to the service providing organization in writing.
• Requirement Gathering - This step onwards the software development team works to carry on the project. The team holds discussion with various stakeholders from problem domain and tries to bring out as much as information as possible on their requirements. The requirements are contemplated and segregated into user requirements, system requirements and functional requirements. The requirements collected using the number of practices and are as follows: o Studying the existing or obsolete system or software
o Conducting interviews of users and developers
o Referring to the database
o Collecting answers from the questionnaires.
• Feasible Study – the team comes up with a rough plan of software process. At this step, the team analyzes if a software can be made to fulfill all requirements of the user and if there is any possibility of software being no more useful. If the project is financially, practically, and technologically feasible for the organization to take up. There are many algorithms available, which help the developers to conclude the feasibility of a software project.
• System Analysis – The developers decide a roadmap of their plan and try up the best software model suitable for the project. System analysis includes understanding of software product limitations, learning system related problems and changes to be done in existing systems beforehand, identifying and addressing the impact of project on organization and personnel etc. The project team analyzes the scope of the project and plans the schedule and resources.
• Software Design – The team needs to bring down whole knowledge of requirements and analysis on the desk and design the software product. The inputs from users and information gathered in requirement gathering phase are the inputs of this step. The output of this step comes in the form of two designs: logical design and physical design. Engineers produce meta-data and data dictionaries, logical diagrams, data-flow diagrams and in some cases pseudo codes.
• Coding – this is known as programming phase. The implementation of software design starts in terms of writing program code in the suitable programming language and developing error-free executable programs efficiently.
• Testing – software testing is done while coding by the developers and thorough testing is conducted by testing experts at various levels of code such as module testing, program testing, product testing, in-house testing and testing the product at user’s end. Early discovery of errors and their remedy is the key to reliable software.
• Integration – software may need to be integrated with the libraries, databases and other programs.
• Implementation – this means installing the software on user machines. At times, software needs post-installation configurations at the user-end. Software is tested for portability and adaptability and integration related issues are solved during implementation.
• Operation and Maintenance – this phase confirms the software operation in terms of more efficiency and less errors. If required, the user is trained on, or aided with the documentation on how to operate the software and how to keep the software operational. The software is maintained timely by updating the code according to the changes taking place in user-end environment or technology. This phase may face challenges from hidden bugs and real-world unidentified problems.
• Disposition – as the time elapses, the software may decline on the performance front. It may go completely obsolete or may need intense upgradation. This phase includes archiving data and required software components, closing down system, planning disposition activity and terminating system at appropriate end-of-system time.
https://linkto.run/p/AFHQWYK7
1. Waterfall Model – the simplest model of software development. All phases of SDLC will function one after in linear manner. This model assumes that everything is carried out and taken place perfectly as planned in the previous stage and there is no need to think about the past issues that may arise in the next phase. The sequential nature of model does not allow to go back and undo or redo actions.
Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of the project. In "The Waterfall" approach, the whole process of software development is divided into separate phases. In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase sequentially.
Similar to the waterfall method, the V-shaped model is linear and sequential though different. The difference is in the associated tests for every development stage. These are the tests that will be run after the coding phase to confirm that the requirements at each stage are met. It is also called the verification and validation model because every phase has a validation test attached to it. The left side of the ‘V’ has the verification phases while the right side has the validation phases. At the bottom is the coding phase.
3. Rapid Application Development (RAD) Rapid application development (RAD) is an agile project management strategy popular in software development. The key benefit of a RAD approach is fast project turnaround, making it an attractive choice for developers working in a fast-paced environment like software development. This rapid pace is made possible by RAD’s focus on minimizing the planning stage and maximizing prototype development.
4. Prototyping. This model is mainly focused on providing an approximation of the final system at the initial stages. It is widely used when fixed requirements are not available. A prototype is built to show how the final product will look and work. With the prototype, there is no full functionality provided. The prototype is then subjected to tests by the customer to check if all the requirements are met. If not, more information is gathered. With the additional information, the prototype is updated and availed to the customer for further testing. It is only after the customer gives approval that the production starts
5. Spiral. This model uses a sequential approach while working as a prototype. This way, it delivers a system that is not complete but is under constant review. The biggest differentiating aspect though is that it is focused on risk analysis. It is best suited for projects where risk management is critical. You may check this video that shows how the spiral model works.
6. Iterative Model The iterative model begins development by building only a part of the software. Full specifications of requirements are usually not known. The small part of the system developed is reviewed to identify further requirements. Every successful iteration produces a software build upon which more features are implemented. This continues until the final system is achieved.
7. Incremental
The model focuses on building the whole system in small portions. It works quite similarly to the iterative model but the difference is that this approach starts with the full knowledge of requirements. This determines the number of smaller portions of the system to be built. When these portions are finished, they are delivered to the customer as complete modules. It uses the classical waterfall approach only that it does not build the whole system at once.
8. Agile
This method is used to counter the limitations of those which cannot cater to a fast-changing environment. Projects which use the agile approach always have their requirements changing quickly. This approach is based on iterative and incremental processes. It guarantees customer satisfaction through quick deliverable parts of the whole system. The cycles through which the system is delivered are called sprints. Technically speaking, the agile model is more of a framework or guideline than a distinct model. Various individual ‘sub-models’ exist to implement this approach.