-Software engineering concept -Software engineering MCQ -Software engineering Interview Question –Software engineering question paper –free course online –past papers -final year projects for computer science with source code -semester project ideas -computer programming -computer science interview questions -tutorial -cui
Introduction to software engineering and software system
Software engineering is the application of a systematic disciplined quantifiable approach to the development, operation and maintenance of software
A Partial Introduction to SE
Software engineering is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.
- When a computer software succeeds—when it meets the needs of the people who use it, when it performs flawlessly over a long period of time, when it is easy to modify and even easier to use—it can and does change things for the better.
- But when software fails—when its users are dissatisfied, when it is error prone, when it is difficult to change and even harder to use—bad things can and do happen.
- We all want to build software that makes things better, avoiding the bad things in the shadow of failed efforts.
- To succeed, we need discipline when software is designed and built. We need an engineering approach.
What is software systems??
1.Program, data, and documentation
2.Integrated set of programs
3.A tool for
◦Performing user tasks
◦Provide interaction with machines
4.Simulation of business processes
Some Facts related to Software Systems
1.Today, software is working both explicitly and implicitly in virtually all aspects of our lives, including the critical systems that affect our health and well-being.
2.The economies of ALL developed nations are dependent on software
3.Software systems are perhaps the most intricate and complex . . . of the things humanity makes. – Fred Brooks
Exp
Burj Khalifa
Verrazano Narrows Bridge
Started in 1959
Officials estimated that
◦it would cost $325 million and
◦be completed in 1965
Largest suspension bridge ever built
Yet it was completed in November 1964, on target and within budget
Software Development
Development of bridge like Verrazano and building like burj khalifa now become relative easier
No similar pattern has been observed when we build software systems larger than those which had been built previously.
Software Systems – a Poor Track Record
84% of all software projects are unsuccessful
◦Late,
◦over budget,
◦less features than specified,
◦cancelled
The average unsuccessful project
◦61% of originally specified features
◦189% over budget
◦222% longer than planned
Software System– Complex
1.Invisible
◦Un-understandable – Miscommunication
2.Non-Repetition
3.Changeable
4.Conformance
Software engineering is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.
A collection of techniques, methodologies, and tools that help with the production of
◦-a high quality software system
◦-with a given budget
◦-before a given deadline
◦-while change occurs
Techniques are well known procedures that you know will produce a result (Algorithms, cook book recipes are examples of techniques).
◦Some people use the word “method” instead of technique, but this word is already reserved in our object-oriented development language, so we won’t use it here.
A collection of techniques is called a methodology. (A cookbook is a methodology).
A Tool is an instrument that helps you to accomplish a method.
Techniques, methodologies and tools are the domain of discourse for computer scientists as well. What is the difference?
Three important objectives of SE is to develop software system
1.Within budget
◦Cost-effective development
2.Within time
◦Schedule-effective
3.Quality assurance
◦Quality -effective
Issues that have led to the development of current software engineering practice are listed below. These problems remain as challenges today, especially for large -scale software development.
- Difficulty of software projects meeting delivery deadlines
High cost of software development
Errors in delivered software after extensive testing
High cost in time and effort in maintaining software
Problems measuring progress during software development and maintenance
It is important to understand the characteristics of software that underlie these differences. Some important ones are as follows
- Software is not manufactured in the traditional sense since it is intangible.
Hardware systems wear out. Software does not.
The software industry lacks the well-developed design handbooks and components-based development of other engineering disciplines.
In order to address the software development problems cited above and to reduce the potential chaos of developing an intangible product, a framework called a software process is needed for the tasks that are required for the building of high -quality software. The process model used on a given project will depend on the nature of the project.
However, the following basic activities are common to all process models
- Software specification – functional requirements obtained from the user
Software design and implementation – production of the software system as a product
Software validation – activity that assures that customer specifications are meeting
Software evolution – system modification to meet continuing customer needs
#Softwareengineeringconcept#SoftwareengineeringMCQ#SoftwareengineeringInterviewQuestion#Softwareengineeringquestionpaper#freecourseonline#pastpapers#finalyearprojectsforcomputersciencewithsourcecode#semesterprojectideas#computerprogramming#computerscienceinterviewquestions#tutorial#cui
#courses #pastpaper #Finalyearproject #tutorial #cui #project #programming #computer science #computersciecnemcq’s #computerscienceinterviewquestion