• Software development is the creation of a new system or modification of an existing system.
• Software development is a continuous process that includes different phases for developing systems.
• The sequence of phases or steps that take place during the development of a system or software is known as the software development life cycle (SDLC).
6.3 CONCEPT OF SDLC LIFE CYCLE
a. System Study
System study is the first phase of SDLC where the development team studies the system and tries to find out what the system should do. It is a very important phase where planning is done after the analysis of the requirements. Any fault in this phase may cause the failure of the entire system. In this phase, the development team generates the document that explains the specifications of the system. This phase consists of the following processes:
i. Problem Definition (Preliminary Investigation)
In the problem definition phase, the development team (a group of system analysts) consults the users and tries to find out their problems or requirements. In this phase, the development team mainly focuses on the following things:
➢ Defining the problem and deciding whether to process it or not,
➢ Analyzing the current system, i.e., the drawbacks of the current system,
➢ Selecting the best solution to address those problems.
ii. Needs Analysis
In the problem definition phase, the problem is identified and it is necessary to analyze it in detail. In this phase, the detailed study of the problems is performed. The software and hardware components are also analyzed in this phase in depth so that it will be easy for the development team to carry out the tests in other phases.
iii. Feasibility Study
A feasibility study is the study of finding out whether the system development is technically, operationally, and financially feasible or not. In this process, the system development team ensures that the requirements presented by the user or organization are feasible or not and declares that the system development task should be continued or stopped. Different levels of feasibility studies are as follows:
➢ Technical Feasibility
It ensures that the system development task can be continued with the existing technical environment (i.e. technical experts, required hardware, and software) or not.
➢ Financial Feasibility
In this feasibility study, different costs like human resource cost, operation cost, development cost, hardware, and software cost are analyzed properly to ensure whether the system can be developed within the existing budgetary constraints or not.
➢ Operational Feasibility
This study is related to the human resources of the organization. This feasibility study will ensure whether the system can run in the existing environment of the organization with working human resources or not.
➢ Behavioral Feasibility
This feasibility study is related to the behavior of employees, users, or society who are directly or indirectly related to the adaption of the new system to the organization.
b. System Analysis
• It is a process of analyzing the requirements of the system.
c. System Design
• After analyzing the requirements or problems, the software development team will start designing the solutions for the problems.
• System Design is a process of planning a new system, modifying or replacing an existing system.
• In this phase, the development team uses the program design tools like algorithm, flowchart, Data flow diagram (DFD), Entity Relation Diagram, etc., to solve the requirements of the user.
d. System Coding
• Coding is the process of writing, assembling, and compiling program code.
• In the coding phase, the development team writes the code and design, which must be decoded into a machine-readable form.
• For the generation of code, programming tools like compilers, interpreters, and debuggers are used. For coding purposes, different high-level programming languages like C, C++, Pascal, and Java are used.
e. Testing
• System testing is the process of performing a variety of tests on a system to explore functionality or to
identify problems.
• A series of systematic procedures are performed that tell the tester how the system should perform and
where common mistakes may be found.
• White box testing and black box testing are two different methods for system testing. White box testing is a verification technique that examines whether code works as expected.
• Black-box testing treats the system as a "black-box", so it doesn't explicitly use knowledge of the internal structure.
f. Implementation
• When the software is finally ready, and after testing, that software will be delivered to the user
for use. Implementation is the realization of an application. The implementation phase involves
installing approved applications into production environments.
g. Maintenance
• Maintenance includes all the activities related to the fixing of errors that is done after the installation of software
• Documentation is the process of gathering and putting together anything that is used as information by any person regarding the system.
6.4 SYSTEM ANALYST VS SOFTWARE ENGINEER
• A system analyst is an IT professional who acts as a mediator between clients and their technical team.
• A system analyst works with the existing computer system and troubleshoots the system to optimize the efficiency and safety of the system.
• The system analyst trains the clients to operate the system and ensures the smooth functioning of the system.
• He or she analyzes, designs, implements, and evaluates an organization's information system.
Software Engineer
• A software developer is responsible for creating new software or modifying existing software.
• A software engineer determines the software needs of an individual or organization by analyzing what is currently in place and where it falls short.
• He/she is also responsible for monitoring and maintaining the performance of the software.
6.5 REQUIREMENT COLLECTION METHODS
• Requirement collection is the process of generating a list of requirements (functional, system,
technical, etc.) from all the stakeholders (customers, users, vendors, IT staff) that will be used as
the basis for the formal definition of what the project is.
• The following are some methods for requirement collection:
a. Interview
Interviews are invaluable for gathering background information on business needs, customers’ and users’ problems, and the concerns of support staff and other relevant stakeholders. Interviews can also be used in follow-up to gather more detailed information.
b. Survey/Questionnaire
We can collect information from many people by doing a survey or questionnaire. The survey can force users to select from choices, rate something (“Agree strongly, agree…”), or have open ended questions allowing free-form responses.
c. Requirement Workshops
Workshops can be very effective for gathering requirements.
d. Focus Group
A focus group is a gathering of people who are representative of the users or customers of a product to get feedback.
e. Brainstorming
Brainstorming is used in requirement gathering to get as many ideas as possible from a group of people.
Comments
Post a Comment