They know who you are. Show them what you can be.
--Your friends at LectureNotes

Note for Software Engineering - SE By Debasis Kamila

  • Software Engineering - SE
  • Note
  • Calcutta university - J.a
  • Computer Science Engineering
  • 1 Offline Downloads
  • Uploaded 3 months ago
Debasis Kamila
Debasis Kamila
0 User(s)
Download PDFOrder Printed Copy

Share it with your friends

Leave your Comments

Text from page-1

Notes of Software Engineering for BSC ( HONS) part-III Syllabus : Software Life Cycle, Different Models: Waterfall, Spiral: Software Requirement Analysis & Specification, Structured Analysis, DFD, Data Dictionary, Structured Design. Structure Charts. Software Testing: White Box and Black Box Testing, Software Quality Assurance. Q : What is Waterfall Model? Briefly describe it. Waterfall Model is also known as Liner Sequential Life Cycle Model. Waterfall Model followed in the sequential order and so we move to next step of development or testing if the previous step completed successfully. Waterfall Model is very successful approach for the small projects and if the requirements are very clear. Once Waterfall Model is followed and if any step completed and next step has been started in development process, we can’t revert back to the previous step to redevelop or perform any change. Waterfall Model concept first introduced in 1970 by Winston W. Royce. The phases of "The Waterfall Model" are: Requirements: This is the first phase of development where all the requirements gathered and documented. Requirements have to be collected by analysing the needs of the end user(s) and 1 Debasis Kamila: 9432208397 Software Engineering

Text from page-2

checking them for validity and the possibility to implement them. The aim is to generate a Requirements Specification Document which is used as an input for the next phase of the model. Analysis: In this phase we analyze all the gathered requirements whether the requirements are valid or invalid. Design: The system has to be properly designed before any implementation is started. This involves an architectural design which defines and describes the main blocks and components of the system, their interfaces and interactions.In this phase all the system design is analyzed and specified like hardware, system configuration and architecture or the system. Implementation: Based on the software design document the work is aiming to set up the defined modules or units and actual coding is started. The system is first developed in smaller portions called units. They are able to stand alone from an functional aspect and are integrated later on to form the complete software package. In this phase all the development works are performed and development components or units handed over to testing team. Testing: Once the development completed, testing phase starts and in this phase we test the each unit or component and make sure the developed components are working as expected. All the testing activities are performed in this phase. Deployment: Once testing is completed and make sure there is no bug or defect or any kind of issue, then project is deployed to production. Once product is deployed to production the end users start using the product. Maintenance: We always keep eye on the product and provide all the necessary bug or issue fixes if occurs in production or reported by end users. Also time to time we keep updated the product with new updates or patches if developed or available. The system is handed over to the customer and will be used the first time by him. o Corrective maintenance - During the process of software development corrective fault not found or discovered. o Perfective maintenance - Under this step functions which are performed by this software increased according to the need of customer. o Adaptive maintenance - Transform the software to new operating system, environments or to a new computer is called Adaptive maintenance Q: What are the advantage and disadvantages of waterfall model and when to use it? Advantages of Waterfall Model:   Very good approach for small projects. Easy to use and follow. 2 Debasis Kamila: 9432208397 Software Engineering

Text from page-3

     Cost effective. Each phase completely developed. Development processed in sequential manner so very less chance to rework. Easy to manage the project. Easy documentation. Disadvantages of Waterfall Model:  High amounts of risk and uncertainty.  Not a good model for complex and object-oriented projects.  Poor model for long and ongoing projects.  No working software is produced until late during the life cycle.  Not suitable for the projects where requirements are at a moderate to high risk of changing. So, risk and uncertainty is high with this process model.  It is difficult to measure progress within stages.  Cannot accommodate changing requirements.  Adjusting scope during the life cycle can end a project.  Integration is done as a "big-bang. at the very end, which doesn't allow identifying any technological or business bottleneck or challenges early. When Waterfall Model should be followed:    If project is small and requirements are very clear. For low budget projects. When changes in the project are stable. Q : What is Spiral model- advantages, disadvantages and when to use it? The spiral model is similar to the incremental model, with more emphasis placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. 3 Debasis Kamila: 9432208397 Software Engineering

Text from page-4

Activities which are performed in the spiral model phases are shown below: Phase Name Planning Risk Analysis Activities performed Deliverables / Output -Requirements are studied and gathered. - Feasibility study - Reviews and walkthroughs to streamline the requirements Requirements are studied and brain storming sessions are done to identify the potential risks Once the risks are identified , risk mitigation strategy is planned and finalized Requirements understanding document Finalized list of requirements. Document which highlights all the risks and its mitigation plans. Engineering Actual development and testing if the software takes place in this phase Code Test cases and test results Test summary report and defect report. Evaluation Customers evaluate the software and provide their feedback and approval Features implemented document When to Use Spiral model: 4 Debasis Kamila: 9432208397 Software Engineering

Lecture Notes