Software Engineering
What is Software Engineering-?
Software Engineering is a work and a method by which we can develop or create softwares for computers, smartphone and other electronic devices by using programming languages by analysing the requiements or needs of the user.
Purpose of the Software Engineering.
✱ To manage large software
✱ For greater scalability
✱ To manage the cost
✱ To manage the dynamic nature of the software
✱ For better quality management
What is SDLC-?
SDLC stand for "Software Development Life Cycle", means if we are creating a software, in that SDLC will tell us how much time it is gonna take to build and how many steps we have to use when and where. It tells us the Entire life time of software from beginning to ending.
It has three main stages:-
Conception stage:- Analyzing and solution finding
Implementation stage:- Implement the software after analyzing and finding solution
Maintenance:- Updating
The SDLC model is classified into three categories based on there advantages and dis-advantages:-
Water fall model:- Also we can call it as (Classical Model). This is very old model.
✱ The waterfall model is simple and classical model of all the models.
✱ This model is also known as leaner sequence model.
✱ This model is not a practical model, this is only theoretical model.
✱ In this model each and every phase must be completed before moving to the next place.
✱ This is only used in short projects.
✱ At the end of each phase a review will take place.
✱ Waterfall model has 6 stages, check it out below.
Feasability Study:- This will tell us that we are financially and technically visible or not to create a software.
Requirement Specification:- Gathering Requirement that what are the things we need to create a software.
Design:- Creating design that how should be our software looks like.
Coding:- Implementation of the software via coding using programming languages.
Test:- After creating the software we test that our software is working fine or not.
Maintenance:- If client wants to add or remove something or he want to update/upgrade the software.
Figure of Waterfall Model:-
Advantages of the Waterfall Model:-
1. Waterfall Model is a very simple and easy model which we can use in small projects.
2. In this model once we completing a phase successfully completed then only we can move to the next phase. So, there is no overlapping between the phases.
3. Each phase as a well defined tasks and a review process.
Dis-Advantages of the Waterfall Model:-
1. Not used in a big projects.
2. We can't go back to the previous phase. we can only move to the forward phase or next phase. This is the reason it's name is waterfall model.
3. This model contains high risks.
4. It is poor model for Complex and Object Oriented Projects.
Prototype Model:- Added new concepts.
✱ It is very famous software development model.
✱ In this model client is also involved at the time of designing.
✱ In prototype model the work is modified until the client satisfied, then we take next phase.
✱ The goal of the prototype model to provide a system will overall fully functionally.
✱ Prototype is an iterative development cycle between developer and client.
✱ We can also use the prototype model with other model.
Requirement Gathering:- Developer will gather requirements to develop.
Design:- Developer will create a design that how it should be look like.
Build Prototype:- Developer will create a prototype.
Customer evaluation:- Developer will show the prototype to the customer for customer review.
Review and Update:- If customer won't like that prototype, developer will review and update the software until customer like the software. After customer approve the software prototype then the developer will follow the below things.
Coding:- Developer will write the coding with using programming language to create a software.
Testing:- Developer will test the software.
Maintenance:- Developer will maintain the software.
Figure of Prototype Model:-
Advantages of Prototype Model:-
1. If user is not satisfied with the prototype, Then the developer will create a new prototype again.
2. Customer feedback is always available for better better system.
3. It take's less time to finish the project, because once we have don the requirement analysis from the customer then, it will take less time to develop the project.
4. Error can be detected at earlier stage.
Dis-Advantages of Prototype Model:-
1. It is totally depended on the prototype.
2. Sometime it takes very long time to develop the prototype based on the user requirement.
3. The developer can try to re-use the prototype in another project even the project is feasible.
Spiral Model:- Removed risks.
✱ Spiral model was developed by "Barry Boehm" in the year 1986 as a part of Software Engineering Institute (SET).
✱ It is called meta module (Model about model), because it contains all the life cycle model.
✱ The main purpose of the spiral model is introduced to remove risks and a feature added with name Risk Analysis.
✱ One business analyst is required to reduce the risk with the help of developer and client, then we can say how much cost it will take to develop.
✱ This model is mainly suitable for large and complex project.
✱ It is call as spiral model because the same activities are repeated for all the loops.
✱ Each Spiral or Loop represents the software development process.
Figure of Spiral Model:-
Advantages of Spiral Model:-
1. Risks are analyzed at the earlier stage of the project development.
2. It is very famous model to develop the large and complex projects.
3. The best technology is used in the spiral model.
4. Customer is always available, so we get feedback regularly at anytime.
Dis-Advantages of Spiral Model:-
1. The cost of the project will be higher because, system analyst is required to analyze the risk.
2. It is not suitable for small projects.
3. Each loop contains four quadrant, so it takes more time to complete.
What is SRS-?
✱ SRS stands for "Software Requirement Specification". A document prepared by the business analyst or system analyst. It describes what will be the features of software and what will be its behavior, i.e, how it will perform.
✱ It is detailed description of software system to be developed with its functional and non-functional requirement.
✱ The SRS consist of all the requirements required for the project development.
✱ In order to get all the details of software from customer and to write the SRS document system is required.
✱ SRS document is actually an agreement between the client and developer.
Part of SRS:-
1. Functional Requirement of the system
2. Non-functional Requirement of the system
3. Goal of implementation
Characteristics of SRS Document:-
✱ Complete:- The SRS document must be completed by taking all the requirement related to software development.
✱ Consistent:- It should be easy to understand from the beginning to the ending, so that user can understand easily that what is the requirement and consistency can be achieved only when there is no conflict between the two requirements.
✱ Testable:- The entire software or the individual model of the software must be testable.
✱ Feasible:- All the requirement included is SRS document must be feasible to implement.
✱ Modified:- The SRS document must be created in such a manner that it should be modifiable.
✱ Correct:- The all the requirements given in the SRS document should be correct. So, we can easily implement in software part.
✱ Verifiable:- All the documents of the SRS must be verified.
✱ Unambiguous:- The module of the software must be unambiguous so one module is compatible with another module.
Note:- Without a proper SRS document, it is very difficult to create a software and maintenance for the engineer.
No comments:
Post a Comment