Thesis seminar THE7TF007
The Thesis is a System Work II Models, Methods, Documentation
II Models, Methods, Documentation 1 Different types of theses 2 System development models
3 Development methods and description languages 4 Software development standards
1 Different types of theses
A System Development work
A Dataware Development An IT Research An IT Strategic Planning A Feasibility Study A Requirements engineering A Software engineering A Data Communication Development Research process IT strategic planning methodology Software development methodology Software development methodology Research report IT strategy report Feasibility study report Requirements document Software development methodology
Software product / Dataware/ Data communication solutions
document A Methodology Development work
A System Development work An IT Research T h e si s t y p e Mode ls D oc um e nt a tion
2 System development models
2.1 Practices and standards of the sponsor/acquirer organization 2.2 A software engineering process – de facto
2.3 ISO12207 Software life cycle processes 2.4 Rational Unified Process (RUP)
2.5 RUP and ISO 12207
2.6 Practices and standards you have used in HAAGA-HELIA 2.7 Other topical methodologies
2.1
Models and methods of the sponsor/acquirer organization
Business domain analysis / system requirements
Define services, functionality and other requirements of the system. The customer approves the requirements.
Software requirements analysis
Define data structure, functionality, architecture and constraints of the software or software unit according to the system requirements.
The customer approves the requirements. Software design and implementation
Produce software (unit) that meets the software requirements. Software validation
Validate the software to ensure that it works according to the specifications and does what the customer wants.
Software evolution
2.2 A software engineering process, de facto
Kotonoya&Sommerville: Requirements engineering, Processes and Techniques
System requirements engineering Architectural design Requirements partitioning System validation System integration Sub-system development Software requirements engineering
2.3 ISO 12207 Standard Software Life Cycle, version 2
Processess Implementation Process Software Installation Process Software acceptance support Process System Requirements Analysis Process System Architectural Design Process System Intergration process System Qualification Testing Process Software Implementation Software Architectural DesignSoftware Detailed Design
Software Intergration Software Qualification Testing Software construction Software Requirements Analysis
System life cycle processes (not all)
Agreement Technical processes (not all)
processes
Sofware life cycle processes (not all)
SW Implementation processes SW Support Processes (not all)
Acquisition Process Supplier Process Software Maintenance Process Software Operational Process Software Documentation Management Process Software Configuration Management Process Software Quality Assurance Process Software Verification Process Software Validation Process Stakeholder Requirements Definition process
2.4 Rational Unified Process (RUP)
Business modeling Requirements Analysis and design Implementation Test Deployment Project management Environment Technical disciplines Supporting disciplines Configuration and Change management Establish the project’s software scope and boundary conditions. Specify the end
product vision, preliminary use
cases and data storages. Estimate cost and
risks.
Specify the features and design the architecture of the
end product.
Develop the product and evolve the end product vision, the archicteture and
plans
Transit the product to its users: - manufacfure - delivery - train - support - maintain until users are satisfied.
Inspection Elaboration Construction Transition
Track and maintain the integrity of evolving project assets. Management of changes in requirements, design and implementation. . Proved a framework for managing software-intesive projects and risk.
Development tool selections and acquitsition and tehnical services Process configuration and improvement
Phases Disciplines
2.5 Rational Unified Process and ISO 12207
Business modeling
Requirements
Analysis and design
Test Deployment Technical disciplines Feasibility Studies Software requirements analysis Sofware detailed design Software Acceptance support Inspection System Requirements Analysis - target state of the
business and system
System Architectural Design System Qualification Testing plan Software architectural design Sofware Installation Deployment Plan System Intergration Plan Elaboration Software Construction plan Software Qualification Testing Plan Construction Software construction and testing Implementation Software Integration and testing Detailed Deployment Plan Software Installation Implementation Plan Software Intergration plan Software Acceptance testing Transition System Integration and Qualification Testing Stakeholders Requirements definition
2.6 Models, methods and documentation guidelines in HAAGA-HELIA
Feasibility study process - coming BUS8TF009 Business Case Selection and Application Selection
System requirements engineering
- old curriculum SYS8TF060 IS Requirements engineering (myy.haaga-helia.fi/~jalki/sys8tf060)
- new curriculum BUS1TF002 Business Process Design and Modelling (myy.haaga-helia.fi/~jalki/bus1tf002)
Software requirements engineering / Software specification process
- old curriculum SYS8TF060 IS Requirements engineering and SYS4TF048 Developing Information System
- new curriculum SYS1TF080 Information System Development project Software design and implementation processes
- old curriculum SYS4TF048 Developing Information System
- new curriculum SYS1TF080 Information System Development project System testing / validation processes
- old curriculum SYS4TF048 System Testing course - new, coming ITP4TF499 Software QA and Testing
2.7 Other topical methodologies
Prototyping
Rapid Application Development (RAD) Incremental delivery methods (like RUP) Agility methods
SCRUM
- an iterative and incremental process for developing a software - when requirements are rapidly changing
- when the development process is unpredictable
3 Development methods and description languages
3.1 Development methods
Analysis methods
Environment modelling
Business process modelling and reengineering Goal setting
Entity-Structure and life cycle analyses Class modelling
Automation analysis Data access path analysis
Analysis and Design methods (Object-Oriented) Use case modelling
Class modelling (business entities/database/software/ interface structure etc.) State machine model (entities/control classes/ mechanisms/operation’s methods) Communication modelling
Software component modelling
System architectural design and deployment modelling Use of packages
3.2 Description languages, e.g.
Business analysis
Business process model
- process flow chart - event flow chart
- activity diagram of UML Entity-Structure / Class diagram State diagram
System analysis, design and implementation
Unified Modeling Language (UML 1.4.2 ISO/IEC 19501) Table
Text, pseudo code, algorithm Traceability matrix
Decision table
Programming languages
4 Software development standards, a few:
ISO/IEC 12207 Systems and Sofware engineering - Software lice cycle processes, 2008
ISO/IEC/TR 15271 Information technology - Guide for ISO/IEC 12207, 1997 (for the standard year 1995)
ISO/IEC 6592 Information technology – Guidelines for the documentation of
computer based application systems, 2000
ISO/IEC 19501 Information technology – Open Distributed Processing – Unified
Modeling Language (UML) Version 1.4.2, 2005