×
Study for the day when you don't have to worry about price tags.
--Your friends at LectureNotes
Close

Software Engineering

by Jntu HeroesJntu Heroes
Type: NoteInstitute: Biju Patnaik University of Technology BPUT Specialization: Computer Science EngineeringOffline Downloads: 135Views: 4038Uploaded: 11 months ago

Share it with your friends

Suggested Materials

Leave your Comments

Contributors

Jntu Heroes
Jntu Heroes
GOVERNMENT COLLEGE OF ENGINEERING KALAHANDI BHAWANIPATNA PREPARED BY MR.GOPAL BEHERA, ASST. PROFESSOR, CSE INTRODUCTION TO SOFTWARE ENGINEERING A program is a pair of software and it is a set of instruction performing a specified task. Program is developed by individuals for their personal use. It is small in size  What is software? Software is an instruction that when executed provide desired features, functions and performance. Or it is data structure that enables to adequately manipulate the information. CHARACTERISTICS OF SOFTWARE: 1. Software is developed not built. 2. Software does not wear out but deteriorate. 3. Reusability of components. 4. Flexibility of adding, removing etc. F a i l u r e r a t e Time Bath Tube curve F a i l u r e r a t e Time DIFFERENCE BETWEEN PROGRAMME & SOFTWARE: Program software A program is a set of assignment Perform some It is an instruction that well executed & provides tasks. desire features & functionality. Author of the program himself used maintain. size of program is small is lack of good interface & Provides more functionality & flexibility Size of software is large good interface 1
GOVERNMENT COLLEGE OF ENGINEERING KALAHANDI BHAWANIPATNA PREPARED BY MR.GOPAL BEHERA, ASST. PROFESSOR, CSE TYPES OF SOFTWARE: 1. SYSTEM SOFTWARE: It is a collection of program written to service other program. Ex: Operating system, compiler etc. 2. APPLICTION SOFTWARE: It consists of stand-alone program those services to Business purpose. Ex: MS Office 3. ENGINEERING SOFTWARE / SPECIFIC SOFTWARE: These are algorithm, engineering & scientific software. Ex: CAD, Simulators 4. EMBADED SOFTWARE: These are resides of another product & used to implement and control some features and functionality for an user. Ex: Remote control car 5. WEB APPLICATION SOFTWARE: It is a set of linked http that presents information using text & limited graphics. Ex: Computer graphics & multi media. 6. ARTIFITIAL INTELLIGENCE SOFTWARE: These software is used the non numerical algorithms to solve the complex problem that are not completed or computed. Ex: Robotics & pattern reorganization. 7. PRODUCT LINE SOFTWARE: These software‟s are designed to provide a specific capability by means of customer. Ex: Whatsapp, Wechat, Viber, Line etc. 8. REAL TIME SOFTWARE: These are applicable to provide the information in a particular time. Ex: Time bomb. SOFTWARE ENGINEERING:  Software engineering is diverted into the presentation of concepts, tools & techniques during the various phases of software development.  Software engineering is developed by Dr. Richard Thayer in 2003 SOFTWARE PROCESS:  It is a series of predictable step or different steps/road map that helps to create a timely high quality result.  It provides a stable controlled & organized activity that can perform by an organization. Step 1: Information gathering/requirement analysis:It involves the communication or collaboration of customer/end user/stake holder. Accompany the requirement by gathering information or similar process. Step 2: Planning /specification:To establish a plan for software engineering, which describes the technical task, to be conducted? Step 3: Modeling/designing:The gathered information is converted in to some structured analysis or graphical representations like DFD use case activity. Step 4: Coding/construction/implementation:The major part of software process is coding. Here the modifications of errors are done if required and check the errors. 2
GOVERNMENT COLLEGE OF ENGINEERING KALAHANDI BHAWANIPATNA PREPARED BY MR.GOPAL BEHERA, ASST. PROFESSOR, CSE Step 5: Deployment:After testing the software it will hand over to the stake holder. S/w Life Cycle model A software life cycle is series of identifiable stages i.e. software products undergoes during its life time. The life cycle model represents all activities such as requirements analysis, designing and coding, testing implementation and maintenance Types of model 1. Classical waterfall model The waterfall model was proposed by Winston Royce in 1970. In the original model the phases were iterative. In practice however, it becomes rigidly sequential, therefore, came to be known as the linear sequential model. The following figure depicts the waterfall model with iterative phases. The principle stages of waterfall model are: System engineering Requirement analysis Design Coding Testing Maintenance (Classical waterfall model) System engineering:The software product is a part of large system. Therefore requirements are determined for all he system components and a part of these requirements are allocated for the software. This system view is needed when the software must interface with other elements like hardware, people and database. Requirement analysis:Requirements are analyzed and made out before proceeding to the other process. Logical representation of the requirements analysis is required to avoid ambiguity in the requirements. This phase exactly tells the requirements and needs of the project. This is very important and critical phase in waterfall model. This purpose of a requirements analysis is to identify the qualities required of the application, in terms of functionally, performance, ease of use, portability and so on. This phase produces a large documents, contains a description of what the system will do without describing how it will be done. The resultant document is known as software requirement specification (SRS) document. An SRS document must contain following:  Detail statements of problem. 3
GOVERNMENT COLLEGE OF ENGINEERING KALAHANDI BHAWANIPATNA PREPARED BY MR.GOPAL BEHERA, ASST. PROFESSOR, CSE  Possible alternate solutions to problem.  Functional requirements of the software system.  Contains on the software system. Design phase:The detail of the design phase is to transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language.In technical terms, during the design phase the software architecture is derived from the SRS document. Two differently design approaches are available: i.e. 1. Traditional design approach 2. Object-oriented design approach Coding:Coding is the phase in which we actually write programs under a suitable programming language environment. It was only recognized development phase in early development processes, but it is one of several phases in a waterfall model. The output of this phase is an implemented and tested collection of modules. Coding can be subjected to companywide standards, which may define the entire layout of programs, such as the headers for comments in every unit, naming convention for variables and sub programs. Testing:During the testing phase, the modules are integrated in a planned manner.The different modules making up a software product are almost never integrated in one shot.Testing is carried out by a number of steps, during each step the system is tested and a set of previously planned modules are added to it. The objective of system testing is to determine whether the software system performs as per requirements mentioned in SRS document. This testing is known as system testing. The system testing is done in three phases called “alpha”, “beta” and “acceptance testing”. Maintenance:Maintenance is defined as the set of activities that are performed after the system is delivered to the customer. Maintenance consists of correcting any remaining error in the systems, adaptive the applications to changes in the environment, and improving, changing or adding features and qualities the application. Advantages: It enables maximum ordering in the process implementation.  It provides a structured template for software engineering. Disadvantages: It is difficult for the customers to give all the requirements at one go, but this is a necessity for this model.  It is difficult for the user to anticipate whether the final system constructed according to the specifications will eventually meet their requirements.  Customers need to have patience for working with this model. ITERATIVE WATERFALL MODEL:  It suggests a semantic, sequential approach to software development that begins with customer‟s satisfaction of requirements and progresses through planning, modeling, construction and deployment, culminating in ongoing support for the completed software. 4

Lecture Notes