Listen to your teachers when they tell you WHAT to do. But more importantly, think about it later and ask yourself WHY they told you to do it.
--Your friends at LectureNotes

Note for Software Engineering - SE By Ashutosh Jaiswal

  • Software Engineering - SE
  • Note
  • jntu anantapur - kmm
  • Computer Science Engineering
  • 6 Topics
  • 58 Offline Downloads
  • Uploaded 9 months ago
0 User(s)
Download PDFOrder Printed Copy

Share it with your friends

Leave your Comments

Text from page-1

www.jntuworld.com www.jwjobs.net Einstein College of Engineering CS51 SOFTWARE ENGINEERING UNIT I SOFTWARE PRODUCT AND PROCESS Software engineering paradigm: • The framework activities will always be applied on every project ... BUT the tasks (and degree of rigor) for each activity will vary based on: – the type of project – characteristics of the project – common sense judgment; concurrence of the project team The software process: • A structured set of activities required to develop a software system – Specification; – Design; – Validation; – Evolution. • A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. Waterfall model/Linear Sequential Model/classic life cycle : • • • • Systems Engineering – Software as part of larger system, determine requirements for all system elements, allocate requirements to software. Software Requirements Analysis – Develop understanding of problem domain, user needs, function, performance, interfaces, ... – Software Design – Multi-step process to determine architecture, interfaces, data structures, functional detail. Produces (high-level) form that can be checked for quality, conformance before coding. Coding – Produce machine readable and executable form, match HW, OS and design needs. Testing www.jntuworld.com

Text from page-2

www.jntuworld.com www.jwjobs.net Einstein College of Engineering – Confirm that components, subsystems and complete products meet requirements, specifications and quality, find and fix defects. • Maintenance – Incrementally, evolve software to fix defects, add features, adapt to new condition. Often 80% of effort spent here! Waterfall model phases: • Requirements analysis and definition • System and software design • Implementation and unit testing • Integration and system testing • Operation and maintenance • The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. One phase has to be complete before moving onto the next phase. • Each phase terminates only when the documents are complete and approved by the SQA group. • Maintenance begins when the client reports an error after having accepted the product. It could also begin due to a change in requirements after the client has accepted the product Waterfall model: Advantages: • Disciplined approach • Careful checking by the Software Quality Assurance Group at the end of each phase. • Testing in each phase. • Documentation available at the end of each phase. Waterfall model problems: • It is difficult to respond to changing customer requirements. • Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. • Few business systems have stable requirements. • The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites. • The customer must have patience. A working version of the program will not be available until late in the project time-span • Feedback from one phase to another might be too late and hence expensive. The Prototyping Models: • Often, a customer defines a set of general objectives for software but does not identify detailed input, processing, or output requirements. • In other cases, the developer may be unsure of the efficiency of an algorithm, the adaptability of an operating system, or the form that human –machine interaction should take • In this case prototyping paradigm may offer the best approach • Requirements gathering • Quick design • Prototype building • Prototype evaluation by customers • Prototype may be refined www.jntuworld.com

Text from page-3

www.jntuworld.com www.jwjobs.net Einstein College of Engineering • Prototype thrown away and software developed using formal process{ it is used to define the requirement} Prototyping Strengths: • Requirements can be set earlier and more reliably • Customer sees results very quickly. • Customer is educated in what is possible helping to refine requirements. • Requirements can be communicated more clearly and completely • Between developers and clients Requirements and design options can be investigated quickly and Cheaply Weaknesses: – Requires a rapid prototyping tool and expertise in using it–a cost for the development organisation – Smoke and mirrors - looks like a working version, but it is not. The RAD Model: • Rapid Application Development is a linear sequential software development process model that emphasizes an extremely short development cycle • Rapid application achieved by using a component based construction approach • If requirements are well understood and project scope is constrained the RAD process enables a development team to create a ―fully functional system‖ Team # n M o d e lin g business m odeling dat a m odeling process m odeling C o n s t r u c t io n com ponent reuse aut om at ic code generat ion t est ing Team # 2 Com m unicat ion Mo d eling b u si n e ss m o d e l i ng d a t a m o de l i n g p roce ss m o d e l i n g Planning Co nst r uct io n Team # 1 co m po n e n t re u se a u t o m a t i c co d e g en e ra t i on t e st i ng Mode ling business modeling dat a modeling process modeling Const r uct ion component reuse aut omat ic code generat ion t est ing 6 0 - 9 0 days RAD phases : • Business modeling • Data modeling • Process modeling www.jntuworld.com De ploym e nt int egrat ion deliv ery feedback

Text from page-4

www.jntuworld.com www.jwjobs.net Einstein College of Engineering • Application generation • Testing and turnover Business modeling: • What information drives the business process? • What information is generated? • Who generates it? Data Modeling: • The information flow defined as part of the business modeling phase is refined into a set of data objects that are needed to support the business. • The characteristics ( called attributes) of each object are identified and the relationships between these objects are defined Process modeling: • The data modeling phase are transformed to achieve the information flow necessary to implement a business function. • Processing descriptions are created for adding , modifying, deleting, or retrieving a data object Application generation: • RAD assumes the use of 4 generation techniques. • Rather than creating software using conventional 3 generation programming languages, the RAD process works to reuse existing program components (when possible) or created reusable components (when necessary) Testing and Turnover: • Since the RAD process emphasizes reuse, many of the program components have already been testing. • This reduces over all testing time. • However, new components must be tested and all interfaces must be fully exercised Advantages &Disadvantages of RAD: Advantages • Extremely short development time. • Uses component-based construction and emphasises reuse and code generation Disadvantages • Large human resource requirements (to create all of the teams). • Requires strong commitment between developers and customers for “rapid-fire” activities. • High performance requirements maybe can’t be met (requires tuning the components). The Incremental Model increment # n Co m m u n i c a t i o n P l a n n i n g M o d e l i n g analy s is des ign Co n s t ru c t i o n c ode t es t De p l o y m e n t d e l i v e ry f e e d b a c k deliv ery of nt h increment increment # 2 Co m m u n i c a t i o n P l a n n i n g M o d e l i n g analy s is des ign Co n s t ru c t i o n c ode De p l o y m e n t t es t d e l i v e ry f e e d b a c k increment # 1 deliv ery of 2nd increment Co m m u n i c a t i o n P l a n n i n g M o d e l i n g analy s is des ign Co n s t ru c t i o n c ode t es t De p l o y m e n t d e l i v e ry f e e d b a c k deliv ery of 1st increment project calendar t ime www.jntuworld.com :

Lecture Notes