U NIT ² 1 S OFTWARE D EVELOPMENT P ROCESS - WordPress

1y ago
11 Views
2 Downloads
5.04 MB
50 Pages
Last View : 13d ago
Last Download : 3m ago
Upload by : Abram Andresen
Transcription

UNIT – 1SOFTWARE DEVELOPMENT PROCESS

1.1 Software Definition Characteristics 1.2 Software Myths 1.3 Software Engineering A layered Technology approach Definition Need 1.4 Software development 1.5 Generic Framework activities, Umbrella activities 2

1.6 Software Development Modelso Waterfall Modelo Incremental Modelo RAD Modelo Prototyping Modelo Spiral Model3

1.1 SOFTWARESoftware is the “collection of computer programs,procedures, rules, associated documents andconcerned data with the operation of dataprocessing system”. It also includes representation of pictorial, videoand audio information. Software are of two types. System Software Application Software 4

System Software It is responsible for controlling, integrating thehardware components of a system so thesoftware and the users can work with them. Example: Operating System. Application Software It is used to accomplish some specific task. It should be collection of small programs. Example: Microsoft Word, Excel etc. 5

SOFTWARE CHARACTERISTICSThe characteristics of software decide whetherthe software is good or bad. Understandability Software should be easy to understand It should be efficient to use. Cost Software should be cost effective as per itsusage. Maintainability Software should be easily maintainable andmodifiable in future. 6

Modularity Software should have modular approach so itcan be handled easily for testing. Functionality Software should be functionally capable tomeet user requirements. Reliability It should have the capability to provide failurefree service. Portability Software should have the capability to beadapted for different environments. 7

Correctness Software should be correct as per itsrequirements. Documentation Software should be properly documented sothat we can re-refer it in future. Reusability It should be reusable, or its code or logicshould be reusable in future. Interoperability Software should be able to communicate withvarious devices using standard bus structureand protocol. 8

SOFTWARE DOESN’T WEAR OUT9

In figure, the relationship between time andfailure called “bath-tub curve”. It indicates that hardware exhibits relativelyhigh failure rates early in its life, then defects arecorrected and the failure rate drops to a steadystate level for some period of time. As time passes, however, the failure rate risesagain as hardware components suffer from theaffects of dust, vibration, temperature extremes,and many other environmental factors. So, simply, we can say hardware begins to wearout. 10

11

The above figure shows the software failure rate. Software is not highly affected by environmentaleffects. In the early stage, due to many errors, softwarecould have high failure. But it becomes reliable as time passes instead ofwearing out. Once software is made it has alonger life span. In actual curve, we can see that software mayhave increased failure rate as it may becomeobsolete as the environment in which it wasdeveloped, changes. Spike in the curve if due to chance ofmaintenance and side effects. Software may be retired due to new requirement. So, software doesn’t wear out, but it may bedeteriorate. 12

SOFTWARE IS ENGINEERED, NOTMANUFACTURED LIKE HARDWARE.Once a product is manufactured, it is not easy to modifyit. While in case of software we can easily change ormodify or change it for later use. Evan making multiple copies of software is a very easytask rather it is much more tough in case of hardware. In hardware, costing is due to assembly of raw materialand other processing expenses while in softwaredevelopment no assembly needed like hardware. So, software is not manufactured as it is developed or itis engineered. 13

1.2 SOFTWARE MYTHSSoftware is easy to change Outsourcing of software to a third party can relaxthe customers. Software can work right from the first time. Increasing of software reliability will increasesoftware safety. Reusing software increase safety. Best software is one which has more features. Testing of software will remove all errors. Once the project is working, job is done. 14

1.3SOFTWARE ENGINEERINGSoftware engineering is an engineering discipline thatcovers all aspects of software from specification tomaintenance. It is an engineering discipline that delivers highquality software at agreed cost & in planed schedule. It also provide framework that guides the softwareengineers to develop the software. It tell how the software will work with machines. It covers technical and management issues. 15

The Main aspect of software engineering are Provide quality product Expected cost Complete work on agreed schedule Definition: Software engineering is the application of asystematic, disciplined and quantifiableapproach to the development, operation andmaintenance of software. 16

SOFTWARE ENGINEERING – A LAYEREDAPPROACHtoolsmethodsprocess modela “quality” focusSoftware engineering can be viewed as a layeredtechnology. It contains process, methods, and tools thatenables software product to be built in a timelymanner. 17

A Quality Focus Layer Software engineering mainly focuses on qualityproduct. It checks whether the output meets with itsrequirement specification or not. Every organization should maintain its total qualitymanagement. Process Layer It is the heart of software engineering. It is also work as foundation layer. Software process is a set of activities together ifordered and performed properly, then the desiredresult would be produced. It defines framework activities.18 The main objective of this layer is to deliversoftware in time.

Method Layer It describes ‘how-to’ build software product. It creates software engineering environment tosoftware product using CASE tools Tools Layer It provides support to below layers. Due to this layer, process is executed in propermanner. 19

NEED OF SOFTWARE ENGINEERINGTo help developers to obtain high quality softwareproduct. To develop the product in appropriate manner usinglife cycle models. To acquire skills to develop large programs. To acquire skills to be a better programmer. To provide a software product in a timely manner. To provide a quality software product. To provide a software product at a agreed cost. To develop ability to solve complex programmingproblems. 20

1.4 SOFTWARE DEVELOPMENTSoftware development is the process ofdeveloping software through successive phases inan orderly way. Softwaredevelopmentisthecomputerprogramming, documenting, testing and bugfixing involved in creating and maintainingapplications and framework involved in softwarelife cycle and resulting in a software product. Threemost common being for softwaredevelopment To meet specific needs of specific clients. To meet a perceived need of some set ofpotential users. To develop for personal use. 21

Software development process is a set of stepsthat a software program goes through whendeveloped. The phases of software development process are Requirement gathering & Analysis Design Implementation (Coding) Testing Documentation Maintenance. 22

In requirement phase, the goals of what theprogram will be capable of doing is decided. The design phase covers how the program is going tobe created, who will be doing what etc. Theimplementation phase is where theprogrammers and other designers start work on theprogram. Testing and verification phase can begin to helpverify the program has no error. During this phase,problems are fixed, until the program meets therequirement. The documentation phase tells how to use theprogram or project. Finally, maintaining the program must continue forseveral years after the initial release. 23

1.5 GENERIC FRAMWORK ACTIVITIES OFSOFTWARE ENGINEERING The work associated with software engineeringcan be categorized into three generic phases. Definition phaseDevelopment phaseSupport phase24

Definition phase It focuses on what part. During definition phase, the software engineerattempts to identify What information is to be processed? What function and performance are desired? What system behavior can be expected? What interfaces are to be established? What design constraints exist? What validation criteria are required todefine a successful system? Thee main activities performed during thisphase: System or information engineering Software project planning Requirement analysis25

Development Phase It focuses on how part of the development. During development a software engineer attempts todefine How data are to be structured? How function is to be implemented within asoftware architecture? How interfaces are to be characterized? How design will be translated into a programminglanguage? How testing will be performed? Main activities are performed under this phase are: Software design26 Code generation Software testing

Support Phase Thesupport phase focuses on changeassociated with error correction. Four types of change are encountered duringthe support phase. Correction: corrective maintenance changesthe software to correct defects. Adaption: Adaptive maintenance results inmodification to the software to accommodatechanges to its external environment. Enhancement/ perfection: Perfectivemaintenance extends the software beyond itsoriginal functional requirements. Prevention:Preventive maintenance toenable the software to serve the needs of itsend users.27

GENERIC FRAMEWORK ACTIVITIESProject Definition: It requires to establish effective communicationbetween developer and customer and to define therequirement of the project. Planning: It requires defining resources, timelines and otherproject related information and assessing technical andmanagement risks. Engineering & Construction: It required for create one or more representations of thesoftware and to generate code and conduct throughtesting. Release or Deployment: It required to install the software in its targetenvironment and to provide customer support.28 Customer Use: It required for obtaining customer feedback based onuse and evaluation of project delivered during release.

UMBRELLA ACTIVITIESUmbrella activities are performed throughout theprocess. These activities are independent of any frameworkactivity. The umbrella activities are given below: Software project tracking and control: It assess progress against the plan and take actionsto maintain the schedule. Formal Technical Review: This includes reviewing the techniques that hasbeen used in the project. Software Quality Assurance: This is very important to ensure the qualitymanagement of each part to ensure them. 29

Document Preparation and production All the project planning and other activities should behardly copied and the production gets started here. Reusability Management This includes the backing up of each part of thesoftware project they can be corrected or any kind ofsupport can be given to them later to update or upgradethe software at user/time demand. Measurement This will include all the measurement of every aspectsof the software project. Risk Management Risk management is a series of steps that help asoftware team to understand and manage uncertainty.30

SOFTWARE DEVELOPMENT LIFECYCLEEvery system has a life cycle. It begins when a problem is recognized, afterthen system is developed, grows until maturityand then maintenance needed due to change inthe nature of the system. So, it died and newsystem or replacement of it taken place. SDLC is a framework that describes theactivities performed at each stage of a softwaredevelopment project. 31

32

1.6 SOFTWARE DEVELOPMENT MODELS Different Software life cycle models Classical Waterfall model Iterative waterfall model Incremental Model RAD Model Spiral Model Prototype Model33

WATERFALL MODELWaterfall model was proposed by Royce in 1970. It is also called as “traditional waterfall model” or“conventional waterfall model”. This model break down the life cycle into set of phaseslike. Feasibility studyRequirements analysis and specificationDesignCoding and unit testingIntegration and system testingMaintenance.34

During each phase of life cycle, a set of welldefined activities are carried out. And each phaserequired different amount of efforts. The phases between feasibility study and testingknown as development phases. Among all life cycle phases maintenance phaseconsumes maximum effort. Figure35

CLASSICAL WATERFALL MODEL - FIGURE36

Feasibility Study: Aim of this phase is to determine whether thesystem would be financially and technicallyfeasible to develop the product. Requirement Analysis and Specification: Aim of this phase is to understand the exactrequirements of the customer and to documentthem properly. Design: The goal of design phase is to transform therequirements specified in SRS document into astructure that is suitable for implementationin some programming language.37

Coding and Unit Testing It is also called as implementation phase. Aim of this phase is to translate the softwaredesign into source code and unit testing isdone module wise. Integration and System Testing Once all the modules are coded and testedindividually, integration of different modulesis undertaken. Goal of this phase is to ensure that thedeveloped system works well to itsrequirements described in the SRS document.38

Maintenance It requires maximum efforts to developsoftware product. This phase is needed to keep systemoperational. General maintenance is needed due to changein the environment or the requirement of thesystem.39

ITERATIVE/INCREMENTAL WATERFALLMODELClassical waterfall model is idealistic: it assumesthat no defect is introduced during anydevelopment activity. But in practice: defects do get introduced inalmost every phase of the life cycle. Even defects may get at much later of the lifecycle. So, the solution of this problem is iterativewaterfall model. 40

INCREMENTAL MODELThe incremental model is also referred as thesuccessive version of waterfall model usingincremental approach. In this model, the system is broken down intoseveral modules which can be incrementallyimplemented and delivered. First develop the core product of the system. The core product is used by customers to evaluatethe system. The initial product skeleton is refined intoincreasing levels of capability: by adding newfunctionality in successive version. 41

INCREMENTAL MODEL - FIGURE42

INCREMENTAL MODELEach successive version performing more usefulwork than previous version. The core modules get tested thoroughly, there byreducing chance of error in final product. The model ismore flexible and less costly tochange the scope and requirements. User gets a chance to experiment with partiallydeveloped software. Feedback providing at each increment is usefulfor determining the better final product. 43

RAD (RAPID APPLICATION DEVELOPMENT)MODELThe RAD model is proposed by IBM in 1980. RapidApplication Development model is anincremental software development process model thatemphasizes an extremely short development cycle. It emphasize on reuse. If requirements are well understood and project scopeis constrained, the RAD process enables a developmentteam to create a “fully functional system” within shorttime periods. In this model, user involvement is essential fromrequirement analysis to delivery. 44

45

SPIRAL MODELThis model is proposed by Boehm in 1986. In application development, spiral model usesfourthgeneration(4GL)languagesanddevelopment tools. In pictorial view, this model appears like a spiralwith many loops. Each loop of the spiral represents a phase of thesoftware process. The innermost loop might be concerned withsystem feasibility The next loop with system requirementdefinition. The next one with system design and so on. Each loop in the spiral split into four sectors.(quadrants) 46

SPIRAL MODEL - FIGURE47

1st Quadrant: Determine Objectives 2nd Quadrant: Identify and resolve risks 3rd Quadrant: Develop next level product 4th Quadrant: Review and planning In spiral model, at any point, Radiusrepresents: cost and Angular dimensionrepresent : progress of the current phase.48

PROTOTYPE MODELPrototype is a working physical system orsubsystem. Prototype is nothing but a tip implementation ofa system. Inthismodel,beforestartingactualdevelopment, a working prototype of the systemshould be built first. A prototype is actually a partial developedproduct. Compared to the actual software, a prototypeusually have, Limited functional capabilities Low reliability Inefficient performance 49

PROTOTYPE MODEL - FIGURE50

Outsourcing of software to a third party can relax the customers. Software can work right from the first time. Increasing of software reliability will increase software safety. Reusing software increase safety. Best software is one which has more features. Testing of software will remove all errors. Once the project is working .

Related Documents:

23 NIT,Calicut Kerala NCA ARC B.Arch. 2 5 7 NIT,Calicut Kerala NCA BTE Biotechnology 1 3 4 NIT,Calicut Kerala NCA CHE Chemical Engineering 5 9 14 NIT,Calicut Kerala NCA CIV Civil 7 14 21 NIT,Calicut Kerala NCA CSE Computer Science & Engineering 7 14 21 NIT,Calicut Kerala NC

notice inviting tender (nit) for supply & installation of bank’s signage -one way vision film at ‘baroda corporate centre’ building at bandra kurla complex,mumbai bank of baroda, baroda corporate centre, c-26, g-block, bandra kurla complex, bandra (east), mumbai-400 051 nit reference: bcc/fm/110/nit/ow/01

5 Sh elf 6 Sh elf 7 Sh elf 8 Sh elf E ndKit C apa city ** P er Sh elf D imen sio ns (in che s) B a sic U nit C at. N o. B a sic U nit C at. N o. B a sic U nit C at. N o. B a sic U nit C at. N o. E ndKit C at. N o. P ounds W D H 1 H8015 1 H8025 1 H8035 1 H8016 1 H8026 1 H8036 1 H8017 1 H8

Notice Inviting Tender Page 2of 14 NOTICE INVITING TENDER (NIT) 1.1 GENERAL 1.1.1 DMRC Invites Open tender through e-tendering system (i.e. Technical and Financial bid) from eligibleapplicantswho fulfill qualification criteria as stipulated in clause 1.2 of NIT for Contract:

English In N structions for Use it‐Occlud PDA Product Description Nit w Nit‐Occlud PDA ‐Occlud PDA is a system for transcatheter occlusion of Patent Ductus Arteriosus (PDA) ith

ENVIRONMENTAL STUDIES Blesson Andrews Varghese (B110087CS) Dept Of Computer Science and Engineering NIT Calicut Sept 5, 2014 . UNIT 1: The Multidisciplinary Nature of Environmental Studies _ Blesson Andrews Varghese CSED, NIT Calicut . Multidisciplinary approach Components : Biology, Geology, Chemistry,

Independent Personal Pronouns Personal Pronouns in Hebrew Person, Gender, Number Singular Person, Gender, Number Plural 3ms (he, it) א ִוה 3mp (they) Sֵה ,הַָּ֫ ֵה 3fs (she, it) א O ה 3fp (they) Uֵה , הַָּ֫ ֵה 2ms (you) הָּ תַא2mp (you all) Sֶּ תַא 2fs (you) ְ תַא 2fp (you

The American Guild of Musical Artists (AGMA) Relief Fund provides support and temporary financial assistance to members who are in need. AGMA contracts with The Actors Fund to administer this program nationally as well as to provide comprehensive social services. Services include counseling and referrals for personal, family or work-related problems. Outreach is made to community resources for .