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. Show 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 Engineering•Computer 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:•CS–Computer Science•SE–Software Engineering•System–System EngineeringCSSESystemPhysicsEEIENote:•EE–Electrical Engineering•IE–Instrument 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.•Efficiency–Software should not make wasteful use of system resources•Maintainability–Software must evolve to meet changing needs•Dependability–Software must be trustworthy•Acceptability–Software 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.
|