KEMBAR78
Software Engineering UNIT1 Notes | PDF | Software Development Process | Software
0% found this document useful (0 votes)
18 views5 pages

Software Engineering UNIT1 Notes

The document provides comprehensive notes on Software Engineering, covering five units that include the definition, components, characteristics, and crisis of software engineering. It discusses various software development life cycle (SDLC) models such as Waterfall, Prototype, Spiral, Incremental, and Iterative Enhancement, highlighting their features and suitability for different project types. Additionally, it emphasizes the importance of software quality attributes and the structured approach needed for effective software design, development, testing, and maintenance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views5 pages

Software Engineering UNIT1 Notes

The document provides comprehensive notes on Software Engineering, covering five units that include the definition, components, characteristics, and crisis of software engineering. It discusses various software development life cycle (SDLC) models such as Waterfall, Prototype, Spiral, Incremental, and Iterative Enhancement, highlighting their features and suitability for different project types. Additionally, it emphasizes the importance of software quality attributes and the structured approach needed for effective software design, development, testing, and maintenance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

SOFTWARE ENGINEERING COMPLETE NOTES (ALL 5 UNITS in Simple Hinglish with

GOD-Level 5+ Detailed Points Per Topic)

-----------------------------

UNIT 1: Introduction to Software Engineering

1. What is Software Engineering?

- Software Engineering ek structured and scientific approach hai jisme software ka design,

development, testing, aur maintenance hota hai.

- Yeh process user ki zarurat ko samajh kar high-quality, reliable, aur maintainable software banane

par focus karta hai.

- Software Engineering mein requirement gathering, architectural designing, coding, testing aur

delivery ke har phase defined hota hai.

- Iska aim hota hai ki software cost-effective, time-bound, scalable, and easily maintainable ho.

- Isme project management, quality assurance, process models aur client communication bhi

involved hote hain.

- Engineering disciplines jaise planning, documentation, quality control yahan bhi apply kiye jaate

hain for predictable outcomes.

2. Software Components

- Program: Step-by-step instructions jo kisi task ko perform karte hain, yeh actual executable code

hota hai.

- Documentation: Sabhi activities jaise requirement analysis, design, testing, aur user manuals ka

proper record.

- User Manual: Installation steps, usage instructions, FAQ, aur trouble-shooting guide hoti hai.

- Software Tools/Utilities: Jo software ke operation ya maintenance mein madad karte hain (e.g.,
DBMS, debuggers).

- Configuration Files: Settings and parameters jo runtime behavior define karte hain.

- In sabka combination software ko usable, maintainable, aur deployable banata hai.

3. Characteristics of Software

- Intangibility: Software physical object nahi hota, yeh logically exist karta hai code aur files ke form

mein.

- No Wear and Tear: Hardware ke jaise software mein physical damage nahi hoti, lekin bugs aur

degradation ho sakta hai.

- Reusability: Software components jaise modules aur libraries reuse kiye ja sakte hain dusre

projects mein.

- Scalability: Software asani se badhe hue load ya users ko support kar sakta hai (horizontal/vertical

scaling).

- Evolvability: Technology ke according software ko upgrade aur modify kiya ja sakta hai.

- Cost-effectiveness: First-time development costly hota hai but duplication aur distribution almost

free hota hai.

4. Software Crisis

- 1960s mein software ka scale aur complexity badhne laga par development process immature tha.

- Schedule Overrun: Projects deadline se delay ho jaate the due to poor planning.

- Budget Overrun: Actual development cost estimated cost se kaafi zyada ho jaata tha.

- Low Quality: Software unreliable hota tha, bugs aur crashes common the.

- Requirement Misunderstanding: User ki zarurat properly samjhi nahi jaati thi.

- Poor Maintenance: Bad design aur documentation ki wajah se maintenance hard hota tha.

5. Difference from Conventional Engineering

- Nature of Product: Engineering mein physical product hota hai, Software mein digital product.
- Flexibility: Software easy to change; mechanical components ko redesign karna costly hota hai.

- Testing: Software ka testing virtual hota hai (unit/system), engineering mein destructive testing bhi

hoti hai.

- Maintenance Cost: Software ka maintenance frequent aur critical hota hai, hardware ka rarely.

- Tools & Team: Software development mein IDEs, version control tools, bug trackers ka use hota

hai.

6. Software Quality Attributes

- Correctness: Software user ki expectations ke according sahi output de aur valid input ko process

kare.

- Usability: Interface user-friendly ho, learning curve low ho, aur documentation proper ho.

- Reliability: Software downtime kam ho, errors handle kare aur consistent output de.

- Efficiency: System resources (RAM, CPU) ka optimal use ho without affecting performance.

- Maintainability: Code modular, readable, aur well-documented ho jisse easily maintain ho sake.

- Portability: Software alag-alag platforms par asani se run ho jaye with minimum changes.

- Security: Confidentiality, Integrity aur Availability ko ensure kare, unauthorized access se

bachaaye.

7. Software Process & SDLC (Software Development Life Cycle)

- Feasibility Study: Project ka cost, time, technical aur operational feasibility assess kiya jata hai.

- Requirement Gathering & Analysis: Client se needs collect karke SRS document banaya jata hai.

- Design: Software ka architecture design hota hai including UI, database, modules & flow.

- Implementation (Coding): Developers coding standards ke according design implement karte hain.

- Testing: Software test kiya jata hai to find bugs unit, integration, system testing etc.

- Deployment: Final version user ke system par install kiya jata hai.

- Maintenance: Post-deployment changes, bug fixes, updates, aur support handle kiya jata hai.
8. SDLC Models

Waterfall Model

- Sequential model hai jisme ek phase complete hone ke baad hi agla start hota hai.

- Strict documentation aur milestones defined hote hain.

- Suited for stable projects jahan requirements fixed hoti hain.

- No backward flow ek baar phase complete ho gaya toh usme wapas jaana difficult hota hai.

- Poor at handling change requests once development begins.

Prototype Model

- Early working model banake client se feedback liya jata hai.

- Requirement clarity milti hai before final development.

- Iterative model hai jisme user feedback ke basis par changes kiye jaate hain.

- Useful jab user ko final product ka visualization chahiye.

- Risk: Users prototype ko final product samajh lete hain.

Spiral Model

- Risk-driven approach hai jisme har phase mein risk analysis hota hai.

- Combination of iterative and waterfall model.

- Four main phases: Planning Risk Analysis Engineering Evaluation.

- Suitable for large, complex projects jisme uncertainty zyada hoti hai.

- Costly and time-consuming but highly controlled.

Incremental Model

- Product modules mein banaya jaata hai, har build mein ek feature add hota hai.

- Testing aur feedback early stages mein possible hota hai.

- Final product multiple builds ke baad complete hota hai.


- Good for projects jahan functionality gradually grow karti hai.

- Maintenance aur update easy hota hai.

Iterative Enhancement Model

- Ek basic version banaya jaata hai aur usme bar-bar improvement kiya jata hai.

- Continuous feedback se quality better hoti hai.

- Changes ko easily incorporate kiya ja sakta hai.

- SRS update hota hai har iteration ke saath.

- Agile methodology ka foundation isi concept par based hai.

You might also like