Chapter 1: Creating Custom Code Flashcards
SAP systems can be enhanced in 5 ways
Customizing Personalization Modification Enhancement Custom Development
Customizing
Specific business and functional process configuration according to the implementation guide.
Personalization
Setting up global attributes to display certain fields
Modification
Changes SAP repository objects make at the client side.
Enhancement
Creating a repository object inside a standard SAP program
Custom development
Creating objects that are unique to the client repository
Design thinking
A method of problem-solving. Multi-staged division of tasks.
5 steps of design-thinking
Empathy Define the problem Ideas Prototypes Tests
Empathy
The needs of the group must be known
Define the problem
We need to define the exact problem to be solve
Ideas
The stage consists of creating as many ideas as possible for solutions relating to the previously defined problem.
Prototypes
Make a preliminary visualization of the idea
Tests
Product tested in a real environment
BDUF/LDUF
Big design up front, little design up front
LDUF
The process of modeling a small subsystem before coding
BDUF
Modeling system where the whole system needs to be modeled before implementation.
2 categories of BDUF
- A document of high-level architecture, which determines the key features of architecture
- General documentation describes everything from high-level architecture to the smallest detail of the system
Aspects of LDUF
- Highly informal
- Code is crated in small subsystem
- Not prescriptive
Aspects BDUF
- Hard and expensive
- Needs big team
- Perspective
2 areas of software quality
- How it complies with functional requirements—whether the product does what it is supposed to
- How it meets the non-functional requirements—whether it reaches the goals in the right way
Goal question metric(GQM)
Balanced scoreboard(BS)
Practical software Measurement(PSM)
Models and methods for measuring objectives
Understandability
Both the code and all the documentation should be readable by peers
Conciseness
Code should be kept small, and also not process unnecessary data
Consistency
The software should follow the notation conventions present in the system
Maintainability
Well documented and not complex to allow for future updates
Testability
Software written in a way that allows tests to check its correctness and performance
Reliability
The code should behave properly in all conditions
Security
Should consider preventive measures to avoid unauthorized access to important data
Additional factors
- Intuitiveness
- Ease of use
- Sensibleness of messages, errors
- Responsiveness of the interface
Ground rules for UI design
- Use written words
- Use the user’s language
- Use consistent terminology
Psychological principles for screens
- The effect of proximity
- The effect of similarity
- The effect of closure
- The effect of continuity
Designing services
- Keep services singular-task oriented
- Avoid direct database manipulation in services
- Expect, but check
- Provide consistent and explanatory responses
- Keep the service well documented
- Keep the service interface unchanged