【正文】
action research (qualitative) Research Methods theory real world Introducting software product lines 7 Book! Introducting software product lines 8 Overview ?role of software ?software reuse ?software ponents ?software architecture ?software product lines ?conclusion Introducting software product lines 9 Role of software ? software constantly increasing in size and plexity ? software makes up petitive edge ? examples ? Securitas Larm AB fire alarm systems ? business process reengineering and corporate information systems Introducting software product lines 10 Traditional approach to SD ? one application/product at a time ? focus on delivery and deadlines ? maintainability amp。 paste) ? operating systems ? pilers ? class libraries ? design patterns ? distribution systems, ., CORBA, COM, etc. ? graphical user interface (GUI) systems ? design reuse (expertise) ? objectoriented frameworks ? database management systems (DBMS) ? application generators Introducting software product lines 13 Internal vs. External Components your core business domain (no external ponents) operating system encryption browser graphical user interface DBMS Introducting software product lines 14 External Component Lifecycle ? part of application ? identified as domain by visionaries ? prototype development (universities, research labs) ? productification (often by small (new) panies) ? adoption by the “pragmatists” ? incorporation in “infrastructure”, . operating system Introducting software product lines 15 Two approaches to reuse ? opportunistic: the software engineer reuses pieces of software that fit the current problem and adds them to the software. ? planned: the anization puts explicit effort in developing reusable artifacts that provide the ?right? abstractions, ?right? level of variability and that fit into an higher level structure. opportunistic reuse does not work in practice Introducting software product lines 16 Two approaches to reuse ? bottomup: reusable ponents, once developed or mined, are added to a, possibly large, collection of assets. Software engineers search their way through these assets looking for suitable pieces. ? topdown: assets are developed and presented as parts fitting into a higherlevel structure. Assets adhere to predefined provided and required interfaces. bottomup reuse does not work in practice Introducting software product lines 17 Software Components ? three