Software is developed or engineered; it is not manufactured in the classical sense

Software is engineered, not manufactured in theclassical sense.Software is complex.Software does not “really” wear out.

Wear Out(HardwarevsSoftware)SoftwareFailurerateTimeHardwareWear out

What is Software Engineering?Anengineering disciplinethat is concerned withall aspectsof software productionfrom the early stages of systemspecification to maintaining the system after it has goneinto its use.Software engineering is concerned withtheories,methodsandtoolsforprofessionalandcost-effective softwaredevelopment.(Sommerville, 2007; 2010)The application of asystematic, disciplined, quantifiableapproach to the development, operation, and maintenanceof software.(IEEE, 1990)

Software EngineeringvsComputerSciencevsSystem EngineeringComputer Science: concerns with theories, fundamentals and methods underlie computer andsoftware systems.Software Engineering: concerns the software/components development and integration (i.e.the practicalities of developing and deliveringuseful software).System Engineering: includes all aspects of hardware and software integration (i.e.architecture, policy, process design, deployment etc.)System EngineeringSoftware Engineering“Learn to build”ComputerScience (CS)“Build to learn”CS isapplied inSE

Software Engineering & Computer Science& System EngineeringvsOther FieldsNote:CSComputer ScienceSESoftware EngineeringSystemSystem EngineeringCSSESystemPhysicsEEIENote:EEElectrical EngineeringIEInstrument Engineering~~

Components of Software EngineeringSoftware Engineering encompasses aprocess,methodsandtools, and based on aqualityaspect.ToolsMethodsProcessA Quality AspectHow to build thesoftware (i.e. tasks)Automated or semi-automatedsupport for the process &methodsOrganisation’scommitment on qualityThe GLUE

What are the attributes of goodquality software?The software should deliver the requiredfunctionalityandperformance(efficient) to the user and should bemaintainable,dependableandacceptable.EfficiencySoftware should not make wasteful use of system resourcesMaintainabilitySoftware must evolve to meet changing needsDependabilitySoftware must be trustworthyAcceptabilitySoftware must be accepted by the users for which it was designed:understandable, usable and compatible with other systems.

What is Software Process?Aset of activitiesthat leads to the production of asoftware productorsystem.Scratch (from nothing to something)Evolutionary (portion-by-portion)Most software is developed by:Extending and modifying existing systems.Configuratingand integrating “off-the-shelf” software orcomponents.

What is Software Process?

Why software is developed or engineered not manufactured in the classical sense?

These two activities require the construction of a "product" but the approaches are different. Software costs are concentrated in engineering which means that software projects cannot be managed as if they were manufacturing.

What are the characteristics of software software is developed or engineered it is not manufactured in the classical sense software doesn't wear out?

What are the characteristics of software? Software is developed or engineered; It is not manufactured in the classical sense. Software can be custom built or custom build. Software doesn't "wear out".

Is software development a manufacturing?

Manufacturing is about designing and creating a product and then replicating it, over and over again. It's about the process of copying, and ironing out efficiencies over time. Software development is about creating entirely new things. And about complex algorithms and clever logic.

Is software engineered?

What is software engineering? Software engineering is the branch of computer science that deals with the design, development, testing, and maintenance of software applications. Software engineers apply engineering principles and knowledge of programming languages to build software solutions for end users.