Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Software Engineering one of core subject in Computer Science. This lecture was delived by Dr. Shrya Gopal at Bengal Engineering and Science University as one of lecture from lecture series on course. This lecture includes: Software, Process, Risk, Management, Simplified, Requirements, Design, Implementation, Planning, Maintenance, Waterfall, Model, Analysis, Testing
Typology: Slides
1 / 22
Frederick P. Brooks, Jr. The Mythical Man Month. Addison-Wesley, 1972.
Ian Sommerville, Software Engineering , 6th edition. Addison-Wesley, 2000.
Grady Booch, James Rumbach, Ivar Jacobson, The Unified Modeling Language. Addison-Wesley 1999.
See the Readings page on the CS 501 Web Site
What can go wrong in a software project? How can the risk be reduced?
Requirements
Operation and Implementation Maintenance
Design
Feasibility and Planning
The system's services, constraints and goals are established by consultation with system users. They are then defined in a manner that is understandable by both users and development staff. This phase can be divided into:
Feasibility study (often carried out separately) Requirements analysis Requirements definition Requirements specification
System design: Partition the requirements to hardware or software systems. Establishes an overall system architecture
Software design: Represent the software system functions in a form that can be transformed into one or more executable programs
Unified Modeling Language (UML)
The individual program units are:
integrated and tested as a complete system tested against the requirements as specified delivered to the client
Operation: The system is put into practical use. Maintenance: Errors and problems are identified and fixed.
Evolution: The system evolves over time as requirements change, to add new functions or adapt the technical environment.
Phase out: The system is withdrawn from service.
Requirements Definition
System and Software design
Programming and Unit Testing
Integration and System Testing
Operation and Maintenancedocsity.com
Concept: Initial implementation for user comment, followed by refinement until system is complete.
Vaporware: user interface mock-up Throw-away software components Dummy modules Rapid prototyping
Successive refinement
Outline Description
Concurrent Activities
Requirements
Design
Implementation
Initial Version
Intermediate Versions
Final Version
Outline Description
Concurrent Activities
Requirements
Design
Implementation (^) Final Version
Outline Description: Add vector graphics to Dartmouth Basic. Phase 1: Extend current language with a preprocessor and run-time support package. (1976/77) Phase 2: Write new compiler and run-time system incorporating graphics elements. (1978/80)
Design Issues:
Pictorial subprograms: coordinate systems, window/viewport User specification of perspective Design Strategy: (Iterative Refinement)
Write a series of prototypes with various proposed semantics Evaluate with a set of programming tasks